本模块是 src.channels.websocket.WebSocketChannel 的 WebUI 适配层,通过一组可注入的服务对象与通道解耦: - gateway_services.py 定义核心服务契约:GatewayServices dataclass 聚合 session_manager/cron_service/media/transcripts/workspaces/http/tokens 等依赖;WorkspaceService 负责按 chat_id 维护并校验工作区路径(限制在 workspace root 下);TranscriptService 以进程内列表记录 transcript 事件;MediaService、SimpleHttpRouter、WebSocketTokenIssuer 分别处理媒体路径签名、非 WS HTTP 404 响应和一次性 token 发放;build_gateway_services() 提供带默认值的构建器,并对传入的 session_manager 自动包装为 GatewaySessionManagerAdapter。 - cli_apps_api.py、mcp_presets_api.py 提供与 channel 约定一致的 mention 归一化函数,将字符串/集合形式的 @mention 解析为稳定名称列表。 - http_utils.py 提供路由 path 规范化、查询串解析、URL 目标校验以及上传文件读取的跨框架适配器。 - forking.py、transcription_ws.py 作为可选能力的 stub:当运行环境不支持 fork-chat 或音频转录时返回结构化错误事件。 - websocket_logging.py 暴露固定 logger 名供上层统一输出。 依赖方向单向向外:本模块仅依赖 src.config.paths、src.security.workspace_access、src.channels.utils,不反向被 channels 以外的代码引用,所有对外接口均以函数或 dataclass 字段形式暴露给 WebSocket 通道装配。