仪表盘(控制面板)
Gateway 仪表盘就是浏览器控制面板,默认在 / 路径提供服务(可通过 gateway.controlUi.basePath 覆盖)。
快速打开(本地 Gateway):
关键参考:
认证在 WebSocket 握手时通过 connect.params.auth(token 或密码)执行。详见 Gateway 配置 中的 gateway.auth。
安全提示:控制面板是一个管理界面(聊天、配置、执行审批)。不要将其公开暴露。UI 将仪表盘 URL token 保存在当前浏览器标签页会话和选定 gateway URL 的 sessionStorage 中,加载后从 URL 中剥离。建议使用 localhost、Tailscale Serve 或 SSH 隧道。
快速上手(推荐)
- 完成引导向导后,CLI 自动打开仪表盘并打印一个干净的(不含 token 的)链接。
- 随时重新打开:
openclaw dashboard(复制链接、尽可能打开浏览器、无头环境显示 SSH 提示)。 - 如果 UI 提示认证,从
gateway.auth.token(或OPENCLAW_GATEWAY_TOKEN)获取 token,粘贴到控制面板设置中。
Token 基础(本地 vs 远程)
- 本地:打开
http://127.0.0.1:18789/。 - Token 来源:
gateway.auth.token(或OPENCLAW_GATEWAY_TOKEN);openclaw dashboard可通过 URL fragment 传递 token 用于一次性引导,控制面板将其保存在当前浏览器标签页会话和选定 gateway URL 的 sessionStorage 中,而非 localStorage。 - 如果
gateway.auth.token是 SecretRef 管理的,openclaw dashboard有意打印/复制/打开不含 token 的 URL,避免外部管理的 token 出现在 shell 日志、剪贴板历史或浏览器启动参数中。 - 如果
gateway.auth.token配置为 SecretRef 且在当前 shell 中未解析,openclaw dashboard仍然打印不含 token 的 URL,并附带可操作的认证配置指引。 - 非本地:使用 Tailscale Serve(当
gateway.auth.allowTailscale: true时,控制面板/WebSocket 无需 token,假设 gateway 主机可信;HTTP API 仍需 token/密码)、tailnet 绑定带 token,或 SSH 隧道。详见 Web 界面。
看到 “unauthorized” / 1008 时
- 确保 gateway 可达(本地:
openclaw status;远程:SSH 隧道ssh -N -L 18789:127.0.0.1:18789 user@host然后打开http://127.0.0.1:18789/)。 - 遇到
AUTH_TOKEN_MISMATCH时,客户端可能会在 gateway 返回重试提示时使用缓存的设备 token 做一次可信重试。如果重试后仍然认证失败,需要手动解决 token 漂移。 - Token 漂移修复步骤见 Token 漂移恢复清单。
- 从 gateway 主机获取或提供 token:
- 明文配置:
openclaw config get gateway.auth.token - SecretRef 管理的配置:解析外部密钥提供者或在当前 shell 中
export OPENCLAW_GATEWAY_TOKEN,然后重新运行openclaw dashboard - 未配置 token:
openclaw doctor --generate-gateway-token
- 明文配置:
- 在仪表盘设置中,将 token 粘贴到认证字段,然后连接。