RPCアダプター
OpenClawは外部CLIをJSON-RPCで統合する。現在2つのパターンが使用されている。
パターンA: HTTPデーモン(signal-cli)
signal-cliがJSON-RPC over HTTPのデーモンとして実行。- イベントストリームはSSE(
/api/v1/events)。 - ヘルスプローブ:
/api/v1/check。 channels.signal.autoStart=trueの場合、OpenClawがライフサイクルを管理。
セットアップとエンドポイントの詳細はSignalを参照。
パターンB: stdio子プロセス(レガシー: imsg)
注意: 新しいiMessageセットアップにはBlueBubblesを使用してください。
- OpenClawが
imsg rpcを子プロセスとしてspawn(レガシーiMessage統合)。 - JSON-RPCはstdin/stdout上の行区切り(1行に1つのJSONオブジェクト)。
- TCPポート不要、デーモン不要。
使用されるコアメソッド:
watch.subscribe→ 通知(method: "message")watch.unsubscribesendchats.list(プローブ/診断)
レガシーセットアップとアドレッシングの詳細はiMessageを参照(chat_id推奨)。
アダプターガイドライン
- Gatewayがプロセスを所有(開始/停止はプロバイダーライフサイクルに紐づく)。
- RPCクライアントを堅牢に保つ: タイムアウト、終了時再起動。
- 表示文字列より安定ID(例:
chat_id)を優先。