Skip to main content

WebChat(Gateway WebSocket UI)

状态:macOS/iOS SwiftUI 聊天 UI 直接与 Gateway WebSocket 通信。

它是什么

  • 网关的原生聊天 UI(无嵌入浏览器且无本地静态服务器)。
  • 使用与其他渠道相同的会话和路由规则。
  • 确定性路由:回复总是返回到 WebChat。

快速开始

  1. 启动网关。
  2. 打开 WebChat UI(macOS/iOS 应用)或 Control UI 的聊天标签页。
  3. 确保配置了网关认证(默认要求,即使是回环访问)。

工作原理(行为)

  • UI 连接到 Gateway WebSocket,使用 chat.historychat.sendchat.inject
  • 为了稳定性,chat.history 有界:网关可能截断长文本字段、忽略重量级元数据,并用 [chat.history omitted: message too large] 替换过大条目。
  • chat.inject 直接将助手备注追加到聊天记录中并广播到 UI(不运行代理)。
  • 中止的执行可以保留部分助手输出在 UI 中可见。
  • 网关在有缓冲输出时,将中止的部分助手文本持久化到聊天记录历史中,并用中止元数据标记。
  • 聊天历史总是从网关获取(无本地文件监视)。
  • 如果无法访问网关,WebChat 仅可读。

Control UI 代理工具面板

  • Control UI 的 /agents 工具面板通过 tools.catalog 获取运行时目录,并将每个工具标记为 coreplugin:<id>(可选插件工具额外标记为 optional)。
  • 如果 tools.catalog 不可用,面板会回退到内置静态列表。
  • 面板编辑配置文件和覆盖配置,但实际运行时访问仍遵循策略优先级(allow/deny,按代理和提供者/渠道覆盖)。

远程使用

  • 远程模式通过 SSH/Tailscale 隧道传输网关 WebSocket。
  • 无需运行独立的 WebChat 服务器。

配置参考(WebChat)

完整配置:配置 渠道选项:
  • 无专用的 webchat.* 配置块。WebChat 使用下面的网关端点 + 认证设置。
相关全局选项:
  • gateway.portgateway.bind:WebSocket 主机/端口。
  • gateway.auth.modegateway.auth.tokengateway.auth.password:WebSocket 认证(token/密码)。
  • gateway.auth.mode: "trusted-proxy":用于浏览器客户端的反向代理认证(参见Trusted Proxy Auth)。
  • gateway.remote.urlgateway.remote.tokengateway.remote.password:远程网关目标。
  • session.*:会话存储和主键默认设置。