パターン A: HTTP デーモン (signal-cli)
signal-cliは、HTTP 経由で JSON-RPC を使用してデーモンとして実行されます。- イベント ストリームは SSE (
/api/v1/events) です。 - ヘルスプローブ:
/api/v1/check。 - OpenClaw は、
channels.signal.autoStart=trueのときにライフサイクルを所有します。
パターン B: stdio 子プロセス (レガシー: imsg)
注: 新しい iMessage セットアップの場合は、代わりに BlueBubbles を使用してください。
- OpenClaw は、子プロセスとして
imsg rpcを生成します (従来の iMessage 統合)。 - JSON-RPC は、stdin/stdout 上で行区切りです (1 行に 1 つの JSON オブジェクト)。
- TCP ポートもデーモンも必要ありません。
watch.subscribe→ 通知 (method: "message")watch.unsubscribesendchats.list(プローブ/診断)
chat_id を推奨)。
アダプターのガイドライン
- ゲートウェイはプロセスを所有します (開始/停止はプロバイダーのライフサイクルに関連付けられます)。
- RPC クライアントの回復力を維持します: タイムアウト、終了時に再起動します。
- 表示文字列よりも安定した ID (例:
chat_id) を優先します。