Skip to main content
Gatewayは、Gateway WebSocketと同じポートから小さなブラウザControl UI(Vite + Lit)を提供します:
  • デフォルト: http://<host>:18789/
  • オプションのプレフィックス: gateway.controlUi.basePathを設定(例: /openclaw
機能はControl UIにあります。 このページはバインドモード、セキュリティ、Web向けサーフェスに焦点を当てています。

Webhooks

hooks.enabled=trueの場合、Gatewayは同じHTTPサーバー上に小さなウェブフックエンドポイントも公開します。 認証とペイロードについてはGateway設定hooksを参照してください。

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

Control UIはアセットが存在する場合(dist/control-ui)、デフォルトで有効です。 設定で制御できます:
{
  gateway: {
    controlUi: { enabled: true, basePath: "/openclaw" }, // basePathはオプション
  },
}

Tailscaleアクセス

統合Serve(推奨)

Gatewayをloopback上に保持し、Tailscale Serveにプロキシさせます:
{
  gateway: {
    bind: "loopback",
    tailscale: { mode: "serve" },
  },
}
次にgatewayを起動:
openclaw gateway
開く:
  • https://<magicdns>/(または設定したgateway.controlUi.basePath

Tailnetバインド + トークン

{
  gateway: {
    bind: "tailnet",
    controlUi: { enabled: true },
    auth: { mode: "token", token: "your-token" },
  },
}
次にgatewayを起動(非loopbackバインドにはトークンが必要):
openclaw gateway
開く:
  • http://<tailscale-ip>:18789/(または設定したgateway.controlUi.basePath

パブリックインターネット(Funnel)

{
  gateway: {
    bind: "loopback",
    tailscale: { mode: "funnel" },
    auth: { mode: "password" }, // またはOPENCLAW_GATEWAY_PASSWORD
  },
}

セキュリティ注意事項

  • Gateway認証はデフォルトで必要(トークン/パスワードまたはTailscale IDヘッダー)
  • 非loopbackバインドでも共有トークン/パスワード(gateway.authまたは環境変数)が必要
  • ウィザードはデフォルトでgatewayトークンを生成(loopback上でも)
  • UIはconnect.params.auth.tokenまたはconnect.params.auth.passwordを送信
  • 非loopback Control UIデプロイメントの場合、gateway.controlUi.allowedOriginsを明示的に設定(完全なオリジン)。これがないと、gatewayの起動はデフォルトで拒否されます
  • gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=trueはHostヘッダーオリジンフォールバックモードを有効にしますが、危険なセキュリティダウングレードです
  • Serveの場合、gateway.auth.allowTailscaletrueの場合、Tailscale IDヘッダーがControl UI/WebSocket認証を満たすことができます(トークン/パスワード不要)。HTTP APIエンドポイントは依然としてトークン/パスワードが必要です。明示的な認証情報を要求するにはgateway.auth.allowTailscale: falseを設定してください。Tailscaleセキュリティを参照してください。このトークンレスフローは、gatewayホストが信頼されていることを前提としています
  • gateway.tailscale.mode: "funnel"にはgateway.auth.mode: "password"(共有パスワード)が必要

UIのビルド

Gatewayはdist/control-uiから静的ファイルを提供します。以下でビルド:
pnpm ui:build # 初回実行時にUI依存関係を自動インストール