儀表板(控制台 UI)
Gateway 儀表板就是瀏覽器版控制台 UI,預設在 / 提供服務(可透過 gateway.controlUi.basePath 覆寫)。
快速開啟(本機 Gateway):
重要參考資料:
驗證在 WebSocket 握手時透過 connect.params.auth(token 或密碼)執行。詳見 Gateway 設定 中的 gateway.auth。
安全提醒:控制台 UI 是管理介面(聊天、設定、exec 核准)。請勿公開暴露。UI 會將儀表板 URL token 存在 sessionStorage 中(當前瀏覽器分頁工作階段和選定的 gateway URL),並在載入後從 URL 中移除。建議使用 localhost、Tailscale Serve 或 SSH 隧道。
快速路徑(建議)
- 初始設定完成後,CLI 會自動開啟儀表板並輸出一個乾淨的(不含 token 的)連結。
- 隨時重新開啟:
openclaw dashboard(複製連結、盡可能開啟瀏覽器,headless 環境顯示 SSH 提示)。 - 如果 UI 要求驗證,從
gateway.auth.token(或OPENCLAW_GATEWAY_TOKEN)取得 token 並貼入控制台 UI 設定。
Token 基礎(本機 vs 遠端)
- Localhost:開啟
http://127.0.0.1:18789/。 - Token 來源:
gateway.auth.token(或OPENCLAW_GATEWAY_TOKEN);openclaw dashboard可透過 URL fragment 傳遞以進行一次性引導,控制台 UI 會將其存在 sessionStorage 中(當前瀏覽器分頁工作階段和選定的 gateway URL),而非 localStorage。 - 如果
gateway.auth.token由 SecretRef 管理,openclaw dashboard會刻意輸出/複製/開啟不含 token 的 URL。這避免在 shell 記錄、剪貼簿歷史或瀏覽器啟動參數中暴露外部管理的 token。 - 如果
gateway.auth.token設定為 SecretRef 且在當前 shell 中無法解析,openclaw dashboard仍會輸出不含 token 的 URL 並提供可行的驗證設定指引。 - 非 localhost:使用 Tailscale Serve(在
gateway.auth.allowTailscale: true時,控制台 UI/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 中匯出
OPENCLAW_GATEWAY_TOKEN,然後重新執行openclaw dashboard - 未設定 token:
openclaw doctor --generate-gateway-token
- 明文設定:
- 在儀表板設定中,將 token 貼入驗證欄位,然後連線。