RPC-Adapter
OpenClaw integriert externe CLIs über JSON-RPC. Dabei kommen heute zwei Muster zum Einsatz.
Muster A: HTTP-Daemon (signal-cli)
signal-cliläuft als Daemon mit JSON-RPC über HTTP.- Event-Stream ist SSE (
/api/v1/events). - Health-Probe:
/api/v1/check. - OpenClaw verwaltet den Lifecycle, wenn
channels.signal.autoStart=truegesetzt ist.
Siehe Signal für Setup und Endpoints.
Muster B: stdio-Kindprozess (imsg)
- OpenClaw startet
imsg rpcals Kindprozess. - JSON-RPC ist zeilenweise über stdin/stdout (ein JSON-Objekt pro Zeile).
- Kein TCP-Port, kein Daemon erforderlich.
Verwendete Kernmethoden:
watch.subscribe→ Benachrichtigungen (method: "message")watch.unsubscribesendchats.list(Probe/Diagnostik)
Siehe iMessage für Setup und Adressierung (chat_id bevorzugt).
Adapter-Richtlinien
- Gateway verwaltet den Prozess (Start/Stop ist an den Provider-Lifecycle gebunden).
- Halte RPC-Clients resilient: Timeouts, Neustart bei Exit.
- Bevorzuge stabile IDs (z. B.
chat_id) gegenüber Display-Strings.