WebChat(Gateway WebSocket UI)
状态:macOS/iOS SwiftUI 聊天 UI 直接与 Gateway WebSocket 通信。它是什么
- 网关的原生聊天 UI(无嵌入浏览器且无本地静态服务器)。
- 使用与其他渠道相同的会话和路由规则。
- 确定性路由:回复总是返回到 WebChat。
快速开始
- 启动网关。
- 打开 WebChat UI(macOS/iOS 应用)或 Control UI 的聊天标签页。
- 确保配置了网关认证(默认要求,即使是回环访问)。
工作原理(行为)
- UI 连接到 Gateway WebSocket,使用
chat.history、chat.send和chat.inject。 - 为了稳定性,
chat.history有界:网关可能截断长文本字段、忽略重量级元数据,并用[chat.history omitted: message too large]替换过大条目。 chat.inject直接将助手备注追加到聊天记录中并广播到 UI(不运行代理)。- 中止的执行可以保留部分助手输出在 UI 中可见。
- 网关在有缓冲输出时,将中止的部分助手文本持久化到聊天记录历史中,并用中止元数据标记。
- 聊天历史总是从网关获取(无本地文件监视)。
- 如果无法访问网关,WebChat 仅可读。
Control UI 代理工具面板
- Control UI 的
/agents工具面板通过tools.catalog获取运行时目录,并将每个工具标记为core或plugin:<id>(可选插件工具额外标记为optional)。 - 如果
tools.catalog不可用,面板会回退到内置静态列表。 - 面板编辑配置文件和覆盖配置,但实际运行时访问仍遵循策略优先级(
allow/deny,按代理和提供者/渠道覆盖)。
远程使用
- 远程模式通过 SSH/Tailscale 隧道传输网关 WebSocket。
- 无需运行独立的 WebChat 服务器。
配置参考(WebChat)
完整配置:配置 渠道选项:- 无专用的
webchat.*配置块。WebChat 使用下面的网关端点 + 认证设置。
gateway.port、gateway.bind:WebSocket 主机/端口。gateway.auth.mode、gateway.auth.token、gateway.auth.password:WebSocket 认证(token/密码)。gateway.auth.mode: "trusted-proxy":用于浏览器客户端的反向代理认证(参见Trusted Proxy Auth)。gateway.remote.url、gateway.remote.token、gateway.remote.password:远程网关目标。session.*:会话存储和主键默认设置。