WebChat(macOS 应用)

macOS 菜单栏应用将 WebChat UI 嵌入为原生 SwiftUI 视图。它会连接到 Gateway,默认使用所选 Agent 的 main session(主会话),并提供 Session 切换器来访问其他会话。

  • 本地模式:直接连接到本地 Gateway WebSocket。
  • 远程模式:通过 SSH 转发 Gateway 控制端口,并使用该隧道作为数据平面。

启动和调试

  • 手动启动:Lobster 菜单 → “Open Chat”。
  • 自动打开(用于测试):
    dist/OpenClaw.app/Contents/MacOS/OpenClaw --webchat
  • 日志:./scripts/clawlog.sh(子系统 bot.molt,类别 WebChatSwiftUI)。

工作原理

  • 数据平面:Gateway WebSocket 方法 chat.historychat.sendchat.abortchat.inject 以及事件 chatagentpresencetickhealth
  • Session:默认使用主 Session(main,或当作用域为全局时使用 global)。UI 可以在不同 Session 之间切换。
  • 引导流程使用专用 Session,将首次运行设置与常规使用分开。

安全边界

  • 远程模式仅通过 SSH 转发 Gateway WebSocket 控制端口。

已知限制

  • UI 针对聊天会话进行了优化(不是完整的浏览器 Sandbox)。