Vai al contenuto principale

Adapter RPC

OpenClaw integra CLI esterne tramite JSON-RPC. Oggi vengono usati due pattern.

Pattern A: daemon HTTP (signal-cli)

  • signal-cli gira come daemon con JSON-RPC su HTTP.
  • Lo stream di eventi è SSE (/api/v1/events).
  • Probe di salute: /api/v1/check.
  • OpenClaw gestisce il ciclo di vita quando channels.signal.autoStart=true.
Vedi Signal per configurazione ed endpoint.

Pattern B: processo figlio stdio (legacy: imsg)

Nota: Per nuove configurazioni iMessage, usa invece BlueBubbles.
  • OpenClaw avvia imsg rpc come processo figlio (integrazione iMessage legacy).
  • JSON-RPC è delimitato per riga su stdin/stdout (un oggetto JSON per riga).
  • Nessuna porta TCP, nessun daemon richiesto.
Metodi core usati:
  • watch.subscribe → notifiche (method: "message")
  • watch.unsubscribe
  • send
  • chats.list (probe/diagnostica)
Vedi iMessage per configurazione legacy e indirizzamento (chat_id preferito).

Linee guida per gli adapter

  • Il gateway gestisce il processo (avvio/arresto legati al ciclo di vita del provider).
  • Mantieni i client RPC resilienti: timeout, riavvio all’uscita.
  • Preferisci ID stabili (ad esempio chat_id) invece di stringhe visualizzate.