メインコンテンツへスキップ
OpenClaw は JSON-RPC 経由で外部 CLI と統合します。現在は 2 つのパターンが使われています。

パターン A: HTTP デーモン (signal-cli)

  • signal-cli は HTTP 経由の JSON-RPC を備えたデーモンとして実行されます。
  • イベントストリームは SSE (/api/v1/events) です。
  • ヘルスプローブ: /api/v1/check
  • channels.signal.autoStart=true の場合、OpenClaw がライフサイクルを所有します。
セットアップとエンドポイントについては Signal を参照してください。

パターン B: stdio 子プロセス (imsg)

  • OpenClaw は iMessage 用の子プロセスとして imsg rpc を起動します。
  • JSON-RPC は stdin/stdout 上で行区切りです (1 行につき 1 つの JSON オブジェクト)。
  • TCP ポートもデーモンも不要です。
使用されるコアメソッド:
  • watch.subscribe → 通知 (method: "message")
  • watch.unsubscribe
  • send
  • chats.list (プローブ/診断)
セットアップとアドレス指定については iMessage を参照してください (表示文字列より chat_id を推奨)。

アダプターのガイドライン

  • Gateway がプロセスを所有します (開始/停止はプロバイダーのライフサイクルに紐づきます)。
  • RPC クライアントの回復性を保ちます: タイムアウト、終了時の再起動。
  • 表示文字列より安定した ID (例: chat_id) を優先します。

関連