リファレンス • 5分で読める
RPC アダプター
外部 CLI(signal-cli、imsg)とゲートウェイパターン用の RPC アダプター
OpenClaw は JSON-RPC を介して外部 CLI を統合します。現在、2つのパターンが使用されています。
Tutorial.step
パターン A:HTTP デーモン(signal-cli)
- signal-cli は HTTP 経由で JSON-RPC を使用するデーモンとして実行されます。
- イベントストリームは SSE(/api/v1/events)です。
- ヘルスプローブ:/api/v1/check。
- channels.signal.autoStart=true の場合、OpenClaw がライフサイクルを所有します。
設定とエンドポイントについては、Signal を参照してください。
Tutorial.step
パターン B:stdio 子プロセス(imsg)
- OpenClaw は imsg rpc を子プロセスとして生成します。
- JSON-RPC は stdin/stdout 経由で行区切り(1行あたり1つの JSON オブジェクト)です。
- TCP ポートはなく、デーモンは不要です。
使用されるコアメソッド:
- watch.subscribe → notifications (method: "message")
- watch.unsubscribe
- send
- chats.list(プローブ/診断)
設定とアドレス指定(chat_id が推奨)については、iMessage を参照してください。
Tutorial.step
アダプターガイドライン
- ゲートウェイがプロセスを所有します(開始/停止はプロバイダーライフサイクルにバインドされています)。
- RPC クライアントを回復力のあるものにします:タイムアウト、終了時の再起動。
- 表示文字列よりも安定した ID(例:chat_id)を優先します。