Gateway CLI

GatewayはOpenClawのWebSocketサーバー(チャネル、ノード、セッション、フック)です。

このページのサブコマンドはopenclaw gateway …の下にあります。

関連ドキュメント:

Gatewayの実行

ローカルGatewayプロセスを実行:

openclaw gateway

フォアグラウンドエイリアス:

openclaw gateway run

補足:

  • デフォルトでは、~/.openclaw/openclaw.jsongateway.mode=localが設定されていない限りGatewayは起動を拒否します。アドホック/開発用には--allow-unconfiguredを使用してください。
  • 認証なしでループバック以外にバインドすることはブロックされます(安全ガードレール)。
  • SIGUSR1は認可時にインプロセス再起動をトリガーします(commands.restartはデフォルトで有効。commands.restart: falseに設定すると手動再起動をブロックしますが、Gatewayツール/config apply/updateは引き続き許可されます)。
  • SIGINT/SIGTERMハンドラーはGatewayプロセスを停止しますが、カスタムターミナル状態は復元しません。CLIをTUIやrawモード入力でラップしている場合は、終了前にターミナルを復元してください。

オプション

  • --port <port>: WebSocketポート(デフォルトは設定/環境変数から。通常18789)。
  • --bind <loopback|lan|tailnet|auto|custom>: リスナーバインドモード。
  • --auth <token|password>: 認証モードオーバーライド。
  • --token <token>: トークンオーバーライド(プロセスのOPENCLAW_GATEWAY_TOKENも設定)。
  • --password <password>: パスワードオーバーライド。警告:インラインパスワードはローカルプロセス一覧に露出する場合があります。
  • --password-file <path>: ファイルからGatewayパスワードを読み込み。
  • --tailscale <off|serve|funnel>: Tailscale経由でGatewayを公開。
  • --tailscale-reset-on-exit: シャットダウン時にTailscale serve/funnel設定をリセット。
  • --allow-unconfigured: 設定にgateway.mode=localがなくてもGateway起動を許可。
  • --dev: 未存在の場合にdev設定 + ワークスペースを作成(BOOTSTRAP.mdをスキップ)。
  • --reset: dev設定 + 認証情報 + セッション + ワークスペースをリセット(--devが必要)。
  • --force: 起動前に選択ポートの既存リスナーを強制終了。
  • --verbose: 詳細ログ。
  • --claude-cli-logs: コンソールにclaude-cliログのみ表示(stdout/stderrも有効化)。
  • --ws-log <auto|full|compact>: WebSocketログスタイル(デフォルトauto)。
  • --compact: --ws-log compactのエイリアス。
  • --raw-stream: 生のモデルストリームイベントをjsonlに記録。
  • --raw-stream-path <path>: raw stream jsonlのパス。

実行中のGatewayへのクエリ

すべてのクエリコマンドはWebSocket RPCを使用します。

出力モード:

  • デフォルト:人間可読(TTYではカラー表示)。
  • --json: 機械可読JSON(スタイリング/スピナーなし)。
  • --no-color(またはNO_COLOR=1):人間可読レイアウトを維持しつつANSIを無効化。

共通オプション(対応している場合):

  • --url <url>: Gateway WebSocket URL。
  • --token <token>: Gatewayトークン。
  • --password <password>: Gatewayパスワード。
  • --timeout <ms>: タイムアウト/バジェット(コマンドにより異なる)。
  • --expect-final: 「最終」レスポンスを待つ(エージェントコール)。

補足:--urlを設定すると、CLIは設定や環境の認証情報を自動適用しません。 --tokenまたは--passwordを明示的に渡してください。明示的な認証情報がない場合はエラーになります。

gateway health

openclaw gateway health --url ws://127.0.0.1:18789

gateway status

gateway statusはGatewayサービス(launchd/systemd/schtasks)とオプションのRPCプローブを表示します。

openclaw gateway status
openclaw gateway status --json

オプション:

  • --url <url>: プローブURLを上書き。
  • --token <token>: プローブ用トークン認証。
  • --password <password>: プローブ用パスワード認証。
  • --timeout <ms>: プローブタイムアウト(デフォルト10000)。
  • --no-probe: RPCプローブをスキップ(サービスのみの表示)。
  • --deep: システムレベルサービスもスキャン。

補足:

  • gateway statusはプローブ認証に設定済みの認証SecretRefを可能な場合に解決します。
  • 必要な認証SecretRefが現在のコマンドパスで未解決の場合、プローブ認証が失敗する可能性があります。--token/--passwordを明示的に渡すか、シークレットソースを先に解決してください。
  • Linuxのsystemdインストールでは、サービス認証ドリフトチェックがユニットからEnvironment=EnvironmentFile=の値を読み取ります(%h、引用符付きパス、複数ファイル、オプションの-ファイルを含む)。

gateway probe

gateway probeは「全てを診断する」コマンドです。常に以下をプローブします:

  • 設定済みのリモートGateway(設定されている場合)
  • localhost(ループバック)(リモートが設定されていても常に

複数のGatewayが到達可能な場合、すべてを表示します。複数のGatewayは分離されたプロファイル/ポート(例:レスキューボット)を使用する場合にサポートされますが、ほとんどのインストールでは単一のGatewayを実行します。

openclaw gateway probe
openclaw gateway probe --json

SSH経由のリモート(Macアプリとの同等機能)

macOSアプリの「Remote over SSH」モードはローカルポートフォワードを使用するため、リモートGateway(ループバックのみにバインドされている可能性あり)がws://127.0.0.1:<port>で到達可能になります。

CLI相当:

openclaw gateway probe --ssh user@gateway-host

オプション:

  • --ssh <target>: user@hostまたはuser@host:port(ポートのデフォルトは22)。
  • --ssh-identity <path>: IDファイル。
  • --ssh-auto: 検出された最初のGatewayホストをSSHターゲットとして選択(LAN/WABのみ)。

設定(オプション、デフォルトとして使用):

  • gateway.remote.sshTarget
  • gateway.remote.sshIdentity

gateway call <method>

低レベルRPCヘルパー。

openclaw gateway call status
openclaw gateway call logs.tail --params '{"sinceMs": 60000}'

Gatewayサービスの管理

openclaw gateway install
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
openclaw gateway uninstall

補足:

  • gateway install--port, --runtime, --token, --force, --jsonをサポート。
  • トークン認証にトークンが必要でgateway.auth.tokenがSecretRef管理の場合、gateway installはSecretRefが解決可能であることを検証しますが、解決済みのトークンをサービス環境メタデータに永続化しません。
  • トークン認証にトークンが必要で設定されたトークンSecretRefが未解決の場合、フォールバック平文を永続化する代わりにinstallは閉鎖的に失敗します。
  • gateway runでのパスワード認証には、インラインの--passwordよりもOPENCLAW_GATEWAY_PASSWORD--password-file、またはSecretRef対応のgateway.auth.passwordを推奨します。
  • 推定認証モードでは、シェルのみのOPENCLAW_GATEWAY_PASSWORD/CLAWDBOT_GATEWAY_PASSWORDはinstallのトークン要件を緩和しません。マネージドサービスをインストールする場合は永続的な設定(gateway.auth.passwordまたはconfig env)を使用してください。
  • gateway.auth.tokengateway.auth.passwordの両方が設定されていてgateway.auth.modeが未設定の場合、モードが明示的に設定されるまでinstallはブロックされます。
  • ライフサイクルコマンドはスクリプティング用に--jsonを受け付けます。

Gatewayのディスカバリー(Bonjour)

gateway discoverはGatewayビーコン(_openclaw-gw._tcp)をスキャンします。

  • マルチキャストDNS-SD: local.
  • ユニキャストDNS-SD(Wide-Area Bonjour):ドメインを選択し(例:openclaw.internal.)、スプリットDNS + DNSサーバーをセットアップ。/gateway/bonjourを参照

Bonjourディスカバリーが有効(デフォルト)なGatewayのみがビーコンをアドバタイズします。

Wide-Areaディスカバリーレコードに含まれるもの(TXT):

  • role(Gatewayロールヒント)
  • transport(トランスポートヒント。例:gateway
  • gatewayPort(WebSocketポート。通常18789
  • sshPort(SSHポート。存在しない場合デフォルト22
  • tailnetDns(MagicDNSホスト名。利用可能な場合)
  • gatewayTls / gatewayTlsSha256(TLS有効 + 証明書フィンガープリント)
  • cliPath(リモートインストール用のオプションヒント)

gateway discover

openclaw gateway discover

オプション:

  • --timeout <ms>: コマンドごとのタイムアウト(browse/resolve)。デフォルト2000
  • --json: 機械可読な出力(スタイリング/スピナーも無効化)。

例:

openclaw gateway discover --timeout 4000
openclaw gateway discover --json | jq '.beacons[].wsUrl'