Gateway ダッシュボードは、デフォルトでDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
/ から提供されるブラウザーのコントロールUIです
(gateway.controlUi.basePath で上書きできます)。
クイックオープン(ローカル Gateway):
- http://127.0.0.1:18789/(または http://localhost:18789/)
gateway.tls.enabled: trueの場合は、https://127.0.0.1:18789/を使用し、 WebSocket エンドポイントにはwss://127.0.0.1:18789を使用します。
connect.params.auth.tokenconnect.params.auth.passwordgateway.auth.allowTailscale: trueの場合の Tailscale Serve ID ヘッダーgateway.auth.mode: "trusted-proxy"の場合の信頼済みプロキシ ID ヘッダー
gateway.auth を参照してください。
セキュリティメモ: コントロールUIは 管理者サーフェス(チャット、設定、実行承認)です。
公開しないでください。UI は、現在のブラウザータブセッションと選択された Gateway URL について、ダッシュボード URL トークンを sessionStorage に保持し、読み込み後に URL から削除します。
localhost、Tailscale Serve、または SSH トンネルを推奨します。
高速パス(推奨)
- オンボーディング後、CLI はダッシュボードを自動的に開き、クリーンな(トークン化されていない)リンクを表示します。
- いつでも再度開けます:
openclaw dashboard(リンクをコピーし、可能であればブラウザーを開き、ヘッドレスの場合は SSH のヒントを表示します)。 - クリップボードとブラウザーへの配信が失敗しても、
openclaw dashboardは クリーンな URL を表示し、OPENCLAW_GATEWAY_TOKENまたはgateway.auth.tokenのトークンを URL フラグメントキーtokenとして使用するよう案内します。ログにトークン値は表示しません。 - UI が共有シークレット認証を求める場合は、設定済みのトークンまたは パスワードをコントロールUI設定に貼り付けます。
認証の基本(ローカルとリモート)
- Localhost:
http://127.0.0.1:18789/を開きます。 - Gateway TLS:
gateway.tls.enabled: trueの場合、ダッシュボード/ステータスリンクはhttps://を使用し、コントロールUI WebSocket リンクはwss://を使用します。 - 共有シークレットトークンのソース:
gateway.auth.token(またはOPENCLAW_GATEWAY_TOKEN)。openclaw dashboardは 1 回限りのブートストラップのために URL フラグメント経由で渡すことができ、コントロールUIは localStorage ではなく、現在のブラウザータブセッションと選択された Gateway URL について sessionStorage に保持します。 gateway.auth.tokenが SecretRef 管理の場合、openclaw dashboardは設計上、トークン化されていない URL を表示/コピー/開きます。これにより、外部管理トークンがシェルログ、クリップボード履歴、ブラウザー起動引数に露出するのを防ぎます。gateway.auth.tokenが SecretRef として設定されていて、現在のシェルで解決されていない場合でも、openclaw dashboardはトークン化されていない URL と、実行可能な認証設定ガイダンスを表示します。- 共有シークレットパスワード: 設定済みの
gateway.auth.password(またはOPENCLAW_GATEWAY_PASSWORD)を使用します。ダッシュボードはリロードをまたいでパスワードを永続化しません。 - ID を持つモード:
gateway.auth.allowTailscale: trueの場合、Tailscale Serve は ID ヘッダーを通じてコントロールUI/WebSocket 認証を満たせます。また、local loopback ではない ID 対応リバースプロキシはgateway.auth.mode: "trusted-proxy"を満たせます。これらのモードでは、ダッシュボードは WebSocket のために貼り付けられた共有シークレットを必要としません。 - Localhost 以外: Tailscale Serve、local loopback ではない共有シークレットバインド、
gateway.auth.mode: "trusted-proxy"を使用する local loopback ではない ID 対応リバースプロキシ、または SSH トンネルを使用します。HTTP API は、private-ingress のgateway.auth.mode: "none"または trusted-proxy HTTP 認証を意図的に実行しない限り、引き続き共有シークレット認証を使用します。 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 が再試行ヒントを返すと、クライアントはキャッシュされたデバイストークンで 1 回だけ信頼済み再試行を実行できます。そのキャッシュ済みトークンの再試行では、トークンのキャッシュ済み承認スコープが再利用されます。明示的なdeviceToken/ 明示的なscopes呼び出し元は、要求したスコープセットを維持します。その再試行後も認証が失敗する場合は、トークンのずれを手動で解決します。AUTH_SCOPE_MISMATCHの場合、デバイストークンは認識されましたが、ダッシュボードが要求したスコープを持っていません。共有 Gateway トークンをローテーションするのではなく、再ペアリングするか、要求されたスコープ契約を承認してください。- その再試行パス以外では、接続認証の優先順位は、明示的な共有トークン/パスワード、次に明示的な
deviceToken、次に保存済みデバイストークン、次にブートストラップトークンです。 - 非同期 Tailscale Serve コントロールUIパスでは、同じ
{scope, ip}に対する失敗した試行は、失敗認証リミッターが記録する前に直列化されるため、2 回目の同時の不正な再試行ではすでにretry laterが表示される場合があります。 - トークンのずれの修復手順については、トークンずれ復旧チェックリスト に従ってください。
- Gateway ホストから共有シークレットを取得または指定します:
- トークン:
openclaw config get gateway.auth.token - パスワード: 設定済みの
gateway.auth.passwordまたはOPENCLAW_GATEWAY_PASSWORDを解決します - SecretRef 管理トークン: 外部シークレットプロバイダーを解決するか、このシェルで
OPENCLAW_GATEWAY_TOKENをエクスポートし、その後openclaw dashboardを再実行します - 共有シークレットが設定されていない場合:
openclaw doctor --generate-gateway-token
- トークン:
- ダッシュボード設定で、認証フィールドにトークンまたはパスワードを貼り付け、 その後接続します。
- UI 言語ピッカーは Overview -> Gateway Access -> Language にあります。 これはアクセスカードの一部であり、Appearance セクションではありません。