儀表板(控制台 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 貼入驗證欄位,然後連線。