Gateway CLI
GatewayはOpenClawのWebSocketサーバー(チャネル、ノード、セッション、フック)です。
このページのサブコマンドはopenclaw gateway …の下にあります。
関連ドキュメント:
Gatewayの実行
ローカルGatewayプロセスを実行:
openclaw gateway
フォアグラウンドエイリアス:
openclaw gateway run
補足:
- デフォルトでは、
~/.openclaw/openclaw.jsonにgateway.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.sshTargetgateway.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またはconfigenv)を使用してください。 gateway.auth.tokenとgateway.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'