Gateway 提供浏览器 Control UI(Vite + Lit),与 Gateway WebSocket 共用同一端口。

访问地址

  • 默认:http://<host>:18789/
  • TLS 启用时:https://<host>:18789/
  • 可选前缀:gateway.controlUi.basePath(如 /openclaw)
# 快速打开(本地 Gateway)
openclaw dashboard

配置

{
  gateway: {
    controlUi: {
      enabled: true,
      basePath: "/openclaw",  // 可选
    },
  },
}

访问模式

本地访问

http://127.0.0.1:18789/

Tailscale Serve(推荐远程访问)

{
  gateway: {
    bind: "loopback",
    tailscale: { mode: "serve" },
  },
}

访问:https://<magicdns>/

Tailnet 直接绑定

{
  gateway: {
    bind: "tailnet",
    auth: { mode: "token", token: "your-token" },
  },
}

公网(Funnel)

{
  gateway: {
    bind: "loopback",
    tailscale: { mode: "funnel" },
    auth: { mode: "password" },
  },
}

认证

WebSocket 握手时强制认证:

  • connect.params.auth.token
  • connect.params.auth.password
  • Tailscale Serve 身份头(gateway.auth.allowTailscale: true)
  • trusted-proxy 身份头(gateway.auth.mode: "trusted-proxy")

安全注意:Control UI 是管理界面(聊天/配置/exec 审批),不要公开暴露。

WebChat

原生聊天 UI,直接连接 Gateway WebSocket。

特性:

  • 使用与其他 Channel 相同的会话和路由规则
  • chat.history 有界截断(稳定性)
  • 压缩条目显示为明确的历史分隔符
  • 推理标记的回复(isReasoning: true)从 WebChat 内容中排除
  • Gateway 不可达时 WebChat 只读

两条数据路径:

  • 会话 JSONL 文件:持久化模型/运行时转录
  • Gateway ReplyPayload 事件:实时投递投影

构建 UI

pnpm ui:build

相关

  • gateway/configuration — Gateway 配置
  • gateway/tailscale — Tailscale 集成
  • gateway/security — 安全配置