RPC-Adapter

OpenClaw integriert externe CLIs via JSON-RPC. Heute werden zwei Muster genutzt.

Muster A: HTTP-Daemon (signal-cli)

  • signal-cli laeuft als Daemon mit JSON-RPC ueber HTTP.
  • Event-Stream ist SSE (/api/v1/events).
  • Health-Probe: /api/v1/check.
  • OpenClaw verwaltet den Lifecycle wenn channels.signal.autoStart=true.

Siehe Signal fuer Setup und Endpunkte.

Muster B: stdio-Kindprozess (Legacy: imsg)

Hinweis: Fuer neue iMessage-Setups stattdessen BlueBubbles verwenden.

  • OpenClaw spawnt imsg rpc als Kindprozess (Legacy-iMessage-Integration).
  • JSON-RPC ist zeilengetrennt ueber stdin/stdout (ein JSON-Objekt pro Zeile).
  • Kein TCP-Port, kein Daemon erforderlich.

Kernmethoden: watch.subscribe, watch.unsubscribe, send, chats.list (Probe/Diagnose).

Siehe iMessage fuer Legacy-Setup und Adressierung.

Adapter-Richtlinien

  • Gateway besitzt den Prozess (Start/Stop an Provider-Lifecycle gebunden).
  • RPC-Clients resilient halten: Timeouts, Restart bei Exit.
  • Stabile IDs bevorzugen (z. B. chat_id) statt Display-Strings.