儀表板
Gateway Dashboard 是預設在 / 提供的瀏覽器控制 UI
(可使用 gateway.controlUi.basePath 覆寫)。
快速開啟(本機 Gateway):
- http://127.0.0.1:18789/ (或 http://localhost:18789/)
- 使用
gateway.tls.enabled: true時,請使用https://127.0.0.1:18789/和wss://127.0.0.1:18789作為 WebSocket 端點。
主要參考:
- 關於使用方式和 UI 功能,請參閱 Control UI。
- 關於 Serve/Funnel 自動化,請參閱 Tailscale。
- 關於綁定模式和安全性說明,請參閱 Web surfaces。
驗證會透過設定的 gateway auth path 在 WebSocket 握手時強制執行:
connect.params.auth.tokenconnect.params.auth.password- 當
gateway.auth.allowTailscale: true時的 Tailscale Serve 身份標頭 - 當
gateway.auth.mode: "trusted-proxy"時的 trusted-proxy 身份標頭
請參閱 Gateway configuration 中的 gateway.auth。
安全提示:Control UI 是一個 admin surface(聊天、配置、執行核准)。請勿公開對外。UI 將儀表板 URL token 保留在目前瀏覽器分頁階段和選定的 gateway URL 的 sessionStorage 中,並在載入後將其從 URL 中移除。建議優先使用 localhost、Tailscale Serve 或 SSH tunnel。
快速路徑 (建議)
Section titled “快速路徑 (建議)”- Onboarding 完成後,CLI 會自動開啟儀表板並列印乾淨的 (無 token) 連結。
- 隨時重新開啟:
openclaw dashboard(複製連結,若可能則開啟瀏覽器,若是無頭模式則顯示 SSH 提示)。 - 如果剪貼板和瀏覽器傳遞失敗,
openclaw dashboard仍會印出 乾淨的 URL,並告訴您使用OPENCLAW_GATEWAY_TOKEN或gateway.auth.token中的權杖作為 URL 片段金鑰token;它不會在日誌中印出 權杖值。 - 如果 UI 提示進行共享金鑰驗證,請將設定的權杖或 密碼貼上到 Control UI 設定中。
驗證基礎 (本地 vs 遠端)
Section titled “驗證基礎 (本地 vs 遠端)”- Localhost:開啟
http://127.0.0.1:18789/。 - Gateway TLS:當
gateway.tls.enabled: true時,dashboard/status 連結使用https://,而 Control UI WebSocket 連結則使用wss://。 - Shared-secret token source:
gateway.auth.token(或OPENCLAW_GATEWAY_TOKEN);openclaw dashboard可以透過 URL 片段傳遞它 以進行一次性引導,並且 Control UI 會將其保留在 sessionStorage 中,用於 目前的瀏覽器分頁階段和選定的 gateway URL,而不是 localStorage。 - 如果
gateway.auth.token是由 SecretRef 管理的,openclaw dashboard依設計會列印/複製/開啟不含權杖的 URL。這可避免在 shell 日誌、剪貼板歷史記錄或瀏覽器啟動 引數中暴露外部管理的權杖。 - 如果
gateway.auth.token被設定為 SecretRef 且在您 目前的 shell 中尚未解析,openclaw dashboard仍會印出不含權杖的 URL 以及 可執行的驗證設定指引。 - Shared-secret password:使用設定的
gateway.auth.password(或OPENCLAW_GATEWAY_PASSWORD)。Dashboard 不會在重新 載入之間保存密碼。 - 身分承載模式:當為
gateway.auth.allowTailscale: true時,Tailscale Serve 可以透過身分標頭滿足控制 UI/WebSocket 驗證,而具備身分感知的非 loopback 反向代理可以滿足gateway.auth.mode: "trusted-proxy"。在這些模式下,儀表板不需要為 WebSocket 貼上共用密鑰。 - 非本機:請使用 Tailscale Serve、非 loopback 共用密鑰綁定、帶有
gateway.auth.mode: "trusted-proxy"的非 loopback 具身分感知的反向代理,或 SSH 通道。 除非您有意執行 private-ingressgateway.auth.mode: "none"或 trusted-proxy HTTP 驗證, 否則 HTTP API 仍會使用共用密鑰驗證。請參閱 Web surfaces。
如果您看到「未授權」/ 1008
Section titled “如果您看到「未授權」/ 1008”- 確保可連線至閘道(本機:
openclaw status;遠端:SSH 隧道ssh -N -L 18789:127.0.0.1:18789 user@host然後開啟http://127.0.0.1:18789/)。 - 對於
AUTH_TOKEN_MISMATCH,當閘道傳回重試提示時,用戶端可以使用快取的裝置令牌進行一次受信任的重試。該快取令牌重試會重複使用令牌的快取已核准範圍;明確的deviceToken/ 明確的scopes呼叫者會保留其要求的範圍集。如果在該次重試後驗證仍然失敗,請手動解決令牌漂移問題。 - 若是
AUTH_SCOPE_MISMATCH,代表裝置權杖已識別但不包含 Dashboard 要求的範圍; 請重新配對或核准要求的範圍合約,而不是輪換共用 gateway 權杖。 - 除了該重試路徑外,連線驗證優先順序為:明確的共用權杖/密碼優先,接著是明確的
deviceToken, 然後是儲存的裝置權杖,最後是啟動權杖。 - 在非同步 Tailscale Serve Control UI 路徑上,針對相同
{scope, ip}的失敗嘗試會在 failed-auth 限制器記錄之前進行序列化, 因此第二個並發的錯誤重試可能已顯示retry later。 - 如需權杖漂移修復步驟,請遵循 Token drift recovery checklist。
- 從 gateway 主機擷取或提供共用密鑰:
- 權杖:
openclaw config get gateway.auth.token - 密碼:解析已設定的
gateway.auth.password或OPENCLAW_GATEWAY_PASSWORD - SecretRef 管理的權杖:解析外部秘密提供者,或在此 shell 中匯出
OPENCLAW_GATEWAY_TOKEN,然後重新執行openclaw dashboard - 未設定共用密鑰:
openclaw doctor --generate-gateway-token
- 權杖:
- 在 Dashboard 設定中,將權杖或密碼貼上至驗證欄位,然後連線。
- UI 語言選擇器位於 Overview -> Gateway Access -> Language。 它是存取卡的一部分,而非 Appearance 區段。