閘道儀表板是預設由 / 提供的瀏覽器控制介面(可用 gateway.controlUi.basePath 覆寫)。
快速開啟(本機閘道):
重要參考:
驗證會透過已設定的閘道驗證路徑,在 WebSocket 交握時強制執行:
connect.params.auth.token
connect.params.auth.password
gateway.auth.allowTailscale: true 時的 Tailscale Serve 身分標頭
gateway.auth.mode: "trusted-proxy" 時的受信任 Proxy 身分標頭
請參閱 閘道設定中的 gateway.auth。
控制介面是管理介面(聊天、設定、執行核准)。請勿公開暴露。介面會將儀表板 URL Token 保存在目前瀏覽器分頁與所選閘道 URL 的 sessionStorage 中,並在載入後從 URL 移除。建議使用 localhost、Tailscale Serve 或 SSH 通道。
快速路徑(建議)
- 完成 onboarding 後,命令列介面會自動開啟儀表板,並印出乾淨(不含 Token)的連結。
- 隨時重新開啟:
openclaw dashboard(複製連結、可行時開啟瀏覽器,若為無頭環境則印出 SSH 提示)。
- 如果剪貼簿與瀏覽器傳遞都失敗,
openclaw dashboard 仍會印出乾淨 URL,並告知你將 Token(來自 OPENCLAW_GATEWAY_TOKEN 或 gateway.auth.token)作為 URL 片段鍵 token 附加;它絕不會在記錄中印出 Token 值。
- 如果介面提示共享密鑰驗證,請將已設定的 Token 或密碼貼到控制介面設定中。
驗證基礎(本機 vs 遠端)
- Localhost:開啟
http://127.0.0.1:18789/。
- 閘道 TLS:當
gateway.tls.enabled: true 時,儀表板/狀態連結會使用 https://,控制介面 WebSocket 連結會使用 wss://。
- 共享密鑰 Token 來源:
gateway.auth.token(或 OPENCLAW_GATEWAY_TOKEN)。openclaw dashboard 可透過 URL 片段傳遞它以進行一次性 bootstrap;控制介面會將它保存在目前分頁與所選閘道 URL 的 sessionStorage 中,而不是 localStorage。
- 如果
gateway.auth.token 由 SecretRef 管理,openclaw dashboard 依設計會印出/複製/開啟不含 Token 的 URL,以避免將外部管理的 Token 暴露在 Shell 記錄、剪貼簿歷史或瀏覽器啟動參數中。如果該參照在你目前的 Shell 中無法解析,它仍會印出不含 Token 的 URL,以及可執行的驗證設定指引。
- 共享密鑰密碼:使用已設定的
gateway.auth.password(或 OPENCLAW_GATEWAY_PASSWORD)。儀表板不會在重新載入後保留密碼。
- 帶有身分的模式:當
gateway.auth.allowTailscale: true 時,Tailscale Serve 會透過身分標頭滿足控制介面/WebSocket 驗證;具身分感知能力的非 loopback 反向 Proxy 會滿足 gateway.auth.mode: "trusted-proxy"。兩者都不需要為 WebSocket 貼上共享密鑰。
- 非 localhost:使用 Tailscale Serve、非 loopback 共享密鑰繫結、搭配
gateway.auth.mode: "trusted-proxy" 的非 loopback 身分感知反向 Proxy,或 SSH 通道。HTTP API 仍會使用共享密鑰驗證,除非你刻意執行私人入口 gateway.auth.mode: "none" 或受信任 Proxy HTTP 驗證。請參閱網頁介面。
如果你看到「unauthorized」/ 1008
- 確認閘道可連線:本機執行
openclaw status;遠端則建立 SSH 通道 ssh -N -L 18789:127.0.0.1:18789 user@gateway-host,然後開啟 http://127.0.0.1:18789/。
- 對於
AUTH_TOKEN_MISMATCH,當閘道傳回重試提示時,客戶端可以使用已快取的裝置 Token 進行一次受信任重試;該重試會重用 Token 的已快取核准範圍(明確的 deviceToken/scopes 呼叫端會保留其請求的範圍集合)。如果該次重試後驗證仍失敗,請手動解決 Token 漂移。
- 對於
AUTH_SCOPE_MISMATCH,裝置 Token 已被辨識,但不包含請求的範圍;請重新配對或核准新的範圍集合,而不是輪替共享閘道 Token。
- 在該重試路徑之外,連線驗證優先順序為:明確的共享 Token/密碼、明確的
deviceToken、已儲存的裝置 Token,然後是 bootstrap Token。
- 在非同步 Tailscale Serve 路徑上,相同
{scope, ip} 的失敗嘗試會先被序列化,才由驗證失敗限制器記錄,因此第二個同時發生的不良重試可能已經顯示 retry later。
- Token 漂移修復步驟請參閱 Token 漂移復原檢查清單。
- 從閘道主機擷取或提供共享密鑰:
- Token:
openclaw config get gateway.auth.token
- 密碼:解析已設定的
gateway.auth.password 或 OPENCLAW_GATEWAY_PASSWORD
- SecretRef 管理的 Token:解析外部秘密提供者,或在此 Shell 中匯出
OPENCLAW_GATEWAY_TOKEN 並重新執行 openclaw dashboard
- 未設定共享密鑰:
openclaw doctor --generate-gateway-token
- 在儀表板設定中,將 Token 或密碼貼到驗證欄位,然後連線。
- 介面語言選擇器位於 概覽 -> 閘道存取 -> 語言,不在外觀底下。