Appearance
WebChat(Gateway WebSocket 聊天界面)
状态:macOS/iOS SwiftUI 聊天界面直接与 Gateway WebSocket 通信。
功能介绍
- 原生 Gateway 聊天界面(无嵌入浏览器,无本地静态服务器)。
- 使用与其他频道相同的会话和路由规则。
- 确定性路由:回复始终返回给 WebChat。
快速开始
- 启动网关。
- 打开 WebChat UI(macOS/iOS 应用)或 Control UI 聊天标签。
- 确保 Gateway 认证已配置(即使在回环上也默认需要)。
工作原理(行为)
- UI 连接到 Gateway WebSocket,使用
chat.history、chat.send和chat.inject。 chat.history受大小限制以保证稳定性:Gateway 可能截断长文本字段,省略重型元数据,并将超大条目替换为[chat.history omitted: message too large]。chat.inject直接向转录追加助手注释并广播给 UI(无代理运行)。- 中止的运行可以在 UI 中保留部分助手输出可见。
- 当缓冲输出存在时,Gateway 将中止的部分助手文本持久化到转录历史中,并用中止元数据标记这些条目。
- 历史始终从网关获取(无本地文件监控)。
- 若网关不可达,WebChat 为只读模式。
Control UI 代理工具面板
Control UI 的 /agents 工具面板有两个独立视图:
- 当前可用(Available Right Now):使用
tools.effective(sessionKey=...)显示当前会话运行时实际可使用的工具,包括核心、插件和频道自有工具。 - 工具配置(Tool Configuration):使用
tools.catalog,专注于配置文件、覆盖和目录语义。
运行时可用性是会话范围的,同一代理切换会话可能改变当前可用列表。配置编辑器不代表运行时可用性;有效访问仍遵循策略优先级(allow/deny、每代理和提供商/频道覆盖)。
远程使用
- 远程模式通过 SSH/Tailscale 隧道传输 Gateway 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.*:会话存储和主键默认值。