Patrón A: daemon HTTP (signal-cli)
signal-clise ejecuta como daemon con JSON-RPC sobre HTTP.- El flujo de eventos es SSE (
/api/v1/events). - Sondeo de estado:
/api/v1/check. - OpenClaw gestiona el ciclo de vida cuando
channels.signal.autoStart=true.
Patrón B: proceso hijo stdio (imsg)
- OpenClaw genera
imsg rpccomo proceso hijo para iMessage. - JSON-RPC está delimitado por líneas sobre stdin/stdout (un objeto JSON por línea).
- No se requiere puerto TCP ni daemon.
watch.subscribe→ notificaciones (method: "message")watch.unsubscribesendchats.list(sondeo/diagnósticos)
chat_id a las cadenas de visualización).
Directrices del adaptador
- Gateway gestiona el proceso (inicio/detención vinculados al ciclo de vida del proveedor).
- Mantén resilientes los clientes RPC: tiempos de espera, reinicio al salir.
- Prefiere identificadores estables (por ejemplo,
chat_id) a cadenas de visualización.