WebChat(Gateway WebSocket UI)
目前狀態:macOS/iOS SwiftUI 聊天 UI 直接與 Gateway WebSocket 通訊。
簡介
- 原生的 gateway 聊天 UI(不使用嵌入式瀏覽器,也不需要本機靜態伺服器)。
- 使用與其他頻道相同的工作階段和路由規則。
- 確定性路由:回覆一定回到 WebChat。
快速開始
- 啟動 gateway。
- 開啟 WebChat UI(macOS/iOS 應用程式)或控制台 UI 的聊天分頁。
- 確認已設定 gateway 驗證(預設為必要,即使在 loopback 上)。
運作方式
- UI 連接到 Gateway WebSocket,使用
chat.history、chat.send和chat.inject。 chat.history有大小限制以確保穩定:Gateway 可能裁切長文字欄位、省略大量 metadata,並以[chat.history omitted: message too large]取代過大的條目。chat.inject直接在轉錄中附加一則助理備註並廣播到 UI(不觸發 agent 執行)。- 中止的回合可在 UI 中保留部分助理輸出。
- 當存在已緩衝的輸出時,Gateway 會將中止的部分助理文字持久化到轉錄歷史,並以中止 metadata 標記這些條目。
- 歷史記錄始終從 gateway 擷取(不監看本機檔案)。
- gateway 無法連線時,WebChat 為唯讀模式。
控制台 UI 的 agent 工具面板
- 控制台 UI 的
/agents工具面板透過tools.catalog擷取 runtime 目錄,並將每個工具標記為core或plugin:<id>(可選的外掛工具另標optional)。 - 如果
tools.catalog不可用,面板退回到內建的靜態清單。 - 面板編輯的是 profile 和覆寫設定,但實際的 runtime 存取仍遵循策略優先順序(
allow/deny、按 agent 及 provider/頻道覆寫)。
遠端使用
- 遠端模式透過 SSH/Tailscale 建立 gateway WebSocket 隧道。
- 不需要另外執行 WebChat 伺服器。
設定參考(WebChat)
完整設定:設定
頻道選項:
- 沒有專屬的
webchat.*區塊。WebChat 使用以下 gateway 端點 + 驗證設定。
相關全域選項:
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:遠端 gateway 目標。session.*:工作階段儲存與主要金鑰預設值。