メインコンテンツへスキップ

openclaw node

Gateway WebSocketに接続し、このマシン上で system.run / system.whichを公開するヘッドレスノードホストを実行します。

なぜノードホストを使うのか

ノードホストは、ネットワーク内の他のマシンでコマンドを実行したいが、 そのマシンに完全なmacOSコンパニオンアプリをインストールしたくない場合に使用します。 よくある使用例:
  • リモートのLinux/Windowsマシン(ビルドサーバー、ラボマシン、NAS)でコマンドを実行する。
  • execをGateway上でサンドボックス化したまま、承認済みの実行を他のホストへ委譲する。
  • 自動化やCIノード向けに、軽量でヘッドレスな実行ターゲットを提供する。
実行は引き続き、ノードホスト上のexec承認およびエージェントごとの許可リストで保護されるため、 コマンドアクセスを限定的かつ明示的に維持できます。

ブラウザープロキシ(ゼロ設定)

ノード上でbrowser.enabledが無効化されていない場合、ノードホストは自動的にブラウザープロキシを公開します。これにより、追加設定なしでエージェントがそのノード上のブラウザー自動化を利用できます。 デフォルトでは、このプロキシはノードの通常のブラウザープロファイルサーフェスを公開します。nodeHost.browserProxy.allowProfilesを設定すると、プロキシは制限的になります。 許可リストにないプロファイル指定は拒否され、永続プロファイルの 作成/削除ルートはプロキシ経由でブロックされます。 必要に応じてノード側で無効化してください。
{
  nodeHost: {
    browserProxy: {
      enabled: false,
    },
  },
}

実行(フォアグラウンド)

openclaw node run --host <gateway-host> --port 18789
オプション:
  • --host <host>: Gateway WebSocketホスト(デフォルト: 127.0.0.1
  • --port <port>: Gateway WebSocketポート(デフォルト: 18789
  • --tls: Gateway接続にTLSを使用する
  • --tls-fingerprint <sha256>: 期待されるTLS証明書フィンガープリント(sha256)
  • --node-id <id>: ノードIDを上書きする(ペアリングトークンをクリア)
  • --display-name <name>: ノード表示名を上書きする

ノードホスト用Gateway認証

openclaw node runおよびopenclaw node installは、設定/環境変数からGateway認証を解決します(ノードコマンドには--token/--passwordフラグはありません)。
  • 最初にOPENCLAW_GATEWAY_TOKEN / OPENCLAW_GATEWAY_PASSWORDを確認します。
  • 次にローカル設定のフォールバック: gateway.auth.token / gateway.auth.password
  • ローカルモードでは、ノードホストは意図的にgateway.remote.token / gateway.remote.passwordを継承しません。
  • gateway.auth.token / gateway.auth.passwordがSecretRef経由で明示的に設定されていて未解決の場合、ノード認証解決はfail-closedになります(リモートフォールバックによるマスキングなし)。
  • gateway.mode=remoteでは、remoteクライアントフィールド(gateway.remote.token / gateway.remote.password)もremote優先順位ルールに従って対象になります。
  • ノードホスト認証解決はOPENCLAW_GATEWAY_*環境変数のみを尊重します。

サービス(バックグラウンド)

ヘッドレスノードホストをユーザーサービスとしてインストールします。
openclaw node install --host <gateway-host> --port 18789
オプション:
  • --host <host>: Gateway WebSocketホスト(デフォルト: 127.0.0.1
  • --port <port>: Gateway WebSocketポート(デフォルト: 18789
  • --tls: Gateway接続にTLSを使用する
  • --tls-fingerprint <sha256>: 期待されるTLS証明書フィンガープリント(sha256)
  • --node-id <id>: ノードIDを上書きする(ペアリングトークンをクリア)
  • --display-name <name>: ノード表示名を上書きする
  • --runtime <runtime>: サービスランタイム(nodeまたはbun
  • --force: すでにインストール済みの場合は再インストール/上書きする
サービス管理:
openclaw node status
openclaw node stop
openclaw node restart
openclaw node uninstall
フォアグラウンドのノードホスト(サービスなし)にはopenclaw node runを使用してください。 サービスコマンドは、機械可読な出力のために--jsonを受け付けます。

ペアリング

最初の接続では、Gateway上に保留中のデバイスペアリング要求(role: node)が作成されます。 次のコマンドで承認してください。
openclaw devices list
openclaw devices approve <requestId>
ノードが変更された認証詳細(role/scopes/public key)でペアリングを再試行すると、 以前の保留要求は置き換えられ、新しいrequestIdが作成されます。 承認前にもう一度openclaw devices listを実行してください。 ノードホストは、ノードID、トークン、表示名、Gateway接続情報を ~/.openclaw/node.jsonに保存します。

Exec承認

system.runはローカルのexec承認によって制御されます。
  • ~/.openclaw/exec-approvals.json
  • Exec approvals
  • openclaw approvals --node <id|name|ip>(Gatewayから編集)
承認済みの非同期ノードexecでは、OpenClawはプロンプト前に正規のsystemRunPlan を準備します。その後の承認済みsystem.run転送では、その保存済み planを再利用するため、承認要求作成後にcommand/cwd/sessionフィールドを編集しても、 ノードが実行する内容を変更するのではなく拒否されます。