Adaptadores RPC
Adaptadores RPC para CLIs externos (signal-cli, imsg) y patrones de gateway
OpenClaw integra CLIs externos vía JSON-RPC. Dos patrones se usan hoy.
Patrón A: Demonio HTTP (signal-cli)
- signal-cli se ejecuta como un demonio con JSON-RPC sobre HTTP.
- El flujo de eventos es SSE (/api/v1/events).
- Sonda de salud: /api/v1/check.
- OpenClaw posee el ciclo de vida cuando channels.signal.autoStart=true.
Ver Signal para configuración y endpoints.
Patrón B: Proceso hijo stdio (imsg)
- OpenClaw ejecuta imsg rpc como un proceso hijo.
- JSON-RPC es línea-delimitada sobre stdin/stdout (un objeto JSON por línea).
- Sin puerto TCP, sin demonio requerido.
Métodos principales usados:
- watch.subscribe → notificaciones (method: "message")
- watch.unsubscribe
- send
- chats.list (sonda/diagnósticos)
Ver iMessage para configuración y direccionamiento (chat_id preferido).
Directrices de adaptador
- El Gateway posee el proceso (inicio/parada vinculado al ciclo de vida del proveedor).
- Mantener clientes RPC resilientes: timeouts, reinicio al salir.
- Preferir IDs estables (ej., chat_id) sobre strings de visualización.