Skip to main content
Gateway は、Gateway WebSocket と同じポートから小規模なブラウザ Control UI(Vite + Lit)を提供します。
  • デフォルト: http://<host>:18789/
  • gateway.tls.enabled: true を使用する場合: https://<host>:18789/
  • 任意のプレフィックス: gateway.controlUi.basePath を設定(例: /openclaw
機能については Control UI を参照してください。このページでは、バインドモード、セキュリティ、およびその他の Web 向けインターフェースについて説明します。

設定(デフォルトで有効)

アセットが存在する場合(dist/control-ui)、Control UI はデフォルトで有効です。

Webhook

hooks.enabled=true の場合、Gateway は同じ HTTP サーバー上で Webhook エンドポイントも公開します。認証とペイロードについては、Gateway 設定リファレンスhooks を参照してください。

管理 HTTP RPC

POST /api/v1/admin/rpc は、選択された Gateway コントロールプレーンメソッドを HTTP 経由で公開します。デフォルトでは無効で、admin-http-rpc Plugin が有効な場合にのみ登録されます。認証モデル、許可されるメソッド、および WebSocket API との比較については、管理 HTTP RPCを参照してください。

Tailscale アクセス

Gateway を loopback 上に維持し、Tailscale Serve でプロキシします。
Gateway を起動します。
https://<magicdns>/(または設定した gateway.controlUi.basePath)を開きます。

セキュリティ上の注意

  • Gateway 認証はデフォルトで必須です。有効な方式は、トークン、パスワード、信頼済みプロキシ、または有効化されている場合の Tailscale Serve ID ヘッダーです。
  • 非 loopback バインドでも Gateway 認証は必須です。トークン/パスワード認証、または gateway.auth.mode: "trusted-proxy" を備えた ID 対応リバースプロキシを使用してください。
  • オンボーディングウィザードは、デフォルトで共有シークレット認証を作成し、loopback 上でも通常は Gateway トークンを生成します。
  • 共有シークレットモードでは、UI は WebSocket ハンドシェイク中に connect.params.auth.token または connect.params.auth.password を送信します。
  • gateway.tls.enabled: true を使用すると、ローカルのダッシュボード/ステータスヘルパーは https:// URL と wss:// WebSocket URL を表示します。
  • ID 情報を伴うモード(Tailscale Serve、trusted-proxy)では、WebSocket 認証チェックは共有シークレットではなく、リクエストヘッダーによって満たされます。
  • 公開された非 loopback Control UI デプロイでは、gateway.controlUi.allowedOrigins を明示的に設定してください(完全なオリジン)。loopback、RFC1918/link-local、.local.ts.net、および Tailscale CGNAT ホストでは、プライベートな同一オリジンからの読み込みは、この設定がなくても許可されます。
  • gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: true は Host ヘッダーによるオリジンフォールバックを有効にします。これは危険なセキュリティ低下です。
  • Serve を使用する場合、gateway.auth.allowTailscale: true であれば、Tailscale ID ヘッダーが Control UI/WebSocket 認証を満たします(トークン/パスワードは不要です)。HTTP API エンドポイントは Tailscale ID ヘッダーを使用せず、常に Gateway の通常の HTTP 認証モードに従います。Serve 経由でも明示的な認証情報を必須にするには、gateway.auth.allowTailscale: false を設定してください。このトークンレスフローでは、Gateway ホスト自体が信頼されていることを前提とします。Tailscaleおよびセキュリティを参照してください。

UI のビルド

Gateway は dist/control-ui から静的ファイルを提供します。