Skip to main content

ノード

ノードとは、Gateway WebSocket(オペレーターと同一ポート)に role: "node" で接続し、node.invoke を介して(例: canvas.*camera.*system.*)といったコマンドサーフェスを公開するコンパニオンデバイス(macOS/iOS/Android/ヘッドレス)です。プロトコルの詳細は次を参照してください: Gateway protocol。 Protocol details: Gateway protocol. Protocol details: Gateway protocol. レガシートランスポート: Bridge protocol(TCP JSONL。現在のノードでは非推奨/削除済み)。 macOS は node mode でも実行できます。メニューバーアプリが Gateway の WS サーバーに接続し、ローカルの canvas/camera コマンドをノードとして公開します(そのため openclaw nodes … はこの Mac に対して動作します)。 注記:
  • ノードは 周辺機器 であり、ゲートウェイではありません。ゲートウェイサービスは実行しません。 ゲートウェイサービスは実行されません。 ゲートウェイサービスは実行されません。
  • Telegram/WhatsApp などのメッセージはノードではなく ゲートウェイ に到達します。
  • トラブルシューティング手順書: /nodes/troubleshooting

ペアリング + ステータス

WS ノードはデバイスペアリングを使用します。 ノードは connect 中にデバイスアイデンティティを提示し、Gateway は role: node 向けのデバイスペアリング要求を作成します。デバイスの CLI(または UI)から承認してください。 デバイスCLI(またはUI)経由で承認します。 デバイスCLI(またはUI)経由で承認します。 クイック CLI:
注記:
  • nodes status は、そのデバイスペアリングロールに node が含まれる場合にノードを paired としてマークします。
  • node.pair.*(CLI: openclaw nodes pending/approve/reject)は、ゲートウェイ所有の独立したノードペアリングストアであり、WS の connect ハンドシェイクを制御するものでは ありません

Remote node host (system.run)

ゲートウェイがあるマシン上で動作し、コマンド 別のマシンで実行する場合はノードホスト を使用します。 Gateway があるマシンとは別のマシンでコマンドを実行したい場合は、node host を使用します。モデルは引き続き gateway と通信し、host=node が選択されていると、ゲートウェイは exec 呼び出しを node host に転送します。 Gateway があるマシンとは別のマシンでコマンドを実行したい場合は、node host を使用します。モデルは引き続き gateway と通信し、host=node が選択されていると、ゲートウェイは exec 呼び出しを node host に転送します。

What runs where

  • Gateway host: メッセージを受信し、モデルを実行し、ツール呼び出しをルーティングします。
  • Node host: ノードマシン上で system.run/system.which を実行します。
  • Approvals: ~/.openclaw/exec-approvals.json を介して node host 上で強制されます。

Start a node host (foreground)

ノードマシン上で:

Remote gateway via SSH tunnel (loopback bind)

Gateway がループバック(gateway.bind=loopback、ローカルモードのデフォルト)にバインドしている場合、リモートの node host は直接接続できません。SSH トンネルを作成し、トンネルのローカル端を node host に指定してください。 SSHトンネルを作成し、トンネルのローカル端に ノードホストを指定します。 例(node host → gateway host):
注記:
  • トークンはゲートウェイ設定の gateway.auth.token です(ゲートウェイホスト上の ~/.openclaw/openclaw.json)。
  • openclaw node run は認証のために OPENCLAW_GATEWAY_TOKEN を読み取ります。

Start a node host (service)

Pair + name

ゲートウェイホスト上で:
命名オプション:
  • openclaw node run / openclaw node install 上の --display-name(ノード上の ~/.openclaw/node.json に永続化されます)。
  • openclaw nodes rename --node <id|name|ip> --name "Build Node"(ゲートウェイ側の上書き)。

Allowlist the commands

実行承認は node host ごと です。ゲートウェイから許可リストのエントリを追加します: 実行承認は node host ごと です。ゲートウェイから許可リストのエントリを追加します: 許可リストエントリをゲートウェイから追加:
承認情報は node host 上の ~/.openclaw/exec-approvals.json に保存されます。

Point exec at the node

デフォルトを設定します(ゲートウェイ設定):
またはセッションごとに:
設定後、host=node を伴う任意の exec 呼び出しは、(ノードの許可リスト/承認に従って)node host 上で実行されます。 関連:

Invoking commands

低レベル(raw RPC):
一般的な「エージェントに MEDIA 添付を与える」ワークフロー向けに、より高レベルのヘルパーが用意されています。

Screenshots (canvas snapshots)

ノードが Canvas(WebView)を表示している場合、canvas.snapshot{ format, base64 } を返します。 CLI ヘルパー(一時ファイルに書き込み、MEDIA:<path> を出力):

Canvas controls

注記:
  • canvas present は URL またはローカルファイルパス(--target)を受け付け、位置指定用のオプションとして --x/--y/--width/--height を指定できます。
  • canvas eval はインライン JS(--js)または位置引数を受け付けます。

A2UI (Canvas)

注記:
  • A2UI v0.8 JSONL のみがサポートされます(v0.9/createSurface は拒否されます)。

Photos + videos (node camera)

写真(jpg):
動画クリップ(mp4):
注記:
  • canvas.* および camera.* を使用するには、ノードが フォアグラウンド である必要があります(バックグラウンド呼び出しは NODE_BACKGROUND_UNAVAILABLE を返します)。
  • クリップの長さは、過大な base64 ペイロードを避けるために制限されます(現在は <= 60s)。
  • Android では可能な場合に CAMERA/RECORD_AUDIO 権限の許可が求められます。拒否された場合は *_PERMISSION_REQUIRED で失敗します。

Screen recordings (nodes)

ノードは screen.record(mp4)を公開します。例: 2026-02-08T09:22:13Z 2026-02-08T09:22:13Z
注記:
  • screen.record にはノードアプリがフォアグラウンドである必要があります。
  • Android では録画前にシステムの画面キャプチャ確認が表示されます。
  • 画面録画は <= 60s に制限されます。
  • --no-audio はマイクキャプチャを無効化します(iOS/Android でサポート。macOS はシステムのキャプチャ音声を使用します)。
  • 複数ディスプレイがある場合は --screen <index> を使用して表示を選択します。

Location (nodes)

設定で Location が有効な場合、ノードは location.get を公開します。 CLI ヘルパー:
注記:
  • Location は デフォルトでオフ です。
  • 「常に許可」にはシステム権限が必要です。バックグラウンド取得はベストエフォートです。
  • レスポンスには、緯度/経度、精度(メートル)、タイムスタンプが含まれます。

SMS (Android nodes)

Android ノードは、ユーザーが SMS 権限を付与し、かつ端末が通話機能をサポートしている場合に sms.send を公開できます。 低レベル呼び出し:
注記:
  • 機能がアドバタイズされる前に、Android 端末上で権限プロンプトを受諾する必要があります。
  • 通話機能のない Wi‑Fi 専用デバイスは sms.send をアドバタイズしません。

System commands (node host / mac node)

macOS ノードは system.runsystem.notifysystem.execApprovals.get/set を公開します。 ヘッドレス node host は system.runsystem.whichsystem.execApprovals.get/set を公開します。 macOS ノードは system.runsystem.notifysystem.execApprovals.get/set を公開します。 ヘッドレス node host は system.runsystem.whichsystem.execApprovals.get/set を公開します。 ヘッドレスノードホストは system.runsystem.whichsystem.execApprovals.get/set を公開します。 例:
注記:
  • system.run は stdout/stderr/exit code をペイロードに含めて返します。
  • system.notify は macOS アプリの通知権限の状態を尊重します。
  • system.run--cwd--env KEY=VAL--command-timeout--needs-screen-recording をサポートします。
  • system.notify--priority <passive|active|timeSensitive> および --delivery <system|overlay|auto> をサポートします。
  • Nodeホストは PATH の上書きを無視します。 追加のPATHエントリが必要な場合は、--env 経由で PATH を渡すのではなく、nodeホストサービスの環境を設定する(または標準的な場所にツールをインストールする)ようにしてください。
  • macOS の node mode では、system.run は macOS アプリ内の実行承認(設定 → Exec approvals)によって制御されます。Ask/allowlist/full の挙動はヘッドレス node host と同一で、拒否されたプロンプトは SYSTEM_RUN_DENIED を返します。 macOS の node mode では、system.run は macOS アプリ内の実行承認(設定 → Exec approvals)によって制御されます。Ask/allowlist/full の挙動はヘッドレス node host と同一で、拒否されたプロンプトは SYSTEM_RUN_DENIED を返します。 Ask/allowlist/full はヘッドレスノードホストと同じ動作をします。拒否されたプロンプトは SYSTEM_RUN_DENIIED を返します。
  • ヘッドレス node host では、system.run は実行承認(~/.openclaw/exec-approvals.json)によって制御されます。

Exec node binding

複数のノードが利用可能な場合、exec を特定のノードにバインドできます。 複数のノードが利用可能な場合、exec を特定のノードにバインドできます。 これにより exec host=node のデフォルトノードが設定されます(エージェントごとに上書き可能です)。 グローバルデフォルト:
エージェントごとの上書き:
任意のノードを許可するには解除します:

Permissions map

ノードは node.list / node.describe 内に permissions マップを含めることがあります。これは権限名(例: screenRecordingaccessibility)をキーとし、ブール値(true = 付与済み)を値とします。

Headless node host (cross-platform)

OpenClaw は、Gateway WebSocket に接続し system.run / system.which を公開する ヘッドレス node host(UI なし)を実行できます。これは Linux/Windows 上、またはサーバーと並行して最小構成のノードを実行する場合に有用です。 これは、Linux/Windows またはサーバーと一緒に最小限のノードを実行する場合に便利です。 これは、Linux/Windows またはサーバーと一緒に最小限のノードを実行する場合に便利です。 起動方法:
注記:
  • ペアリングは引き続き必要です(Gateway にノード承認プロンプトが表示されます)。
  • node host は、ノード ID、トークン、表示名、ゲートウェイ接続情報を ~/.openclaw/node.json に保存します。
  • 実行承認は ~/.openclaw/exec-approvals.json を介してローカルで強制されます (Exec approvals を参照)。
  • macOS では、ヘッドレス node host は到達可能な場合にコンパニオンアプリの exec host を優先し、アプリが利用不可の場合はローカル実行にフォールバックします。アプリを必須にするには OPENCLAW_NODE_EXEC_HOST=app を設定し、フォールバックを無効化するには OPENCLAW_NODE_EXEC_FALLBACK=0 を設定します。 OPENCLAW_NODE_EXEC_HOST=app をアプリ 必要にするか、フォールバックを無効にするにはOPENCLAW_NODE_EXEC_FALLBACK=0を設定します。 OPENCLAW_NODE_EXEC_HOST=app をアプリ 必要にするか、フォールバックを無効にするにはOPENCLAW_NODE_EXEC_FALLBACK=0を設定します。
  • Gateway の WS が TLS を使用する場合は --tls / --tls-fingerprint を追加してください。

Mac node mode

  • macOS メニューバーアプリは、ノードとして Gateway WS サーバーに接続します(そのため openclaw nodes … はこの Mac に対して動作します)。
  • リモートモードでは、アプリが Gateway ポート用の SSH トンネルを開き、localhost に接続します。