Adaptadores RPC

OpenClaw integra CLIs externos vía JSON-RPC. Se usan dos patrones hoy.

Patrón A: daemon HTTP (signal-cli)

  • signal-cli se ejecuta como daemon con JSON-RPC sobre HTTP.
  • El stream de eventos es SSE (/api/v1/events).
  • Sonda de salud: /api/v1/check.
  • OpenClaw gestiona el ciclo de vida cuando channels.signal.autoStart=true.

Consulta Signal para configuración y endpoints.

Patrón B: proceso hijo stdio (legacy: imsg)

Nota: Para nuevas configuraciones de iMessage, usa BlueBubbles en su lugar.

  • OpenClaw genera imsg rpc como proceso hijo (integración legacy de iMessage).
  • JSON-RPC es delimitado por líneas sobre stdin/stdout (un objeto JSON por línea).
  • Sin puerto TCP, sin daemon requerido.

Métodos core usados:

  • watch.subscribe -> notificaciones (method: "message")
  • watch.unsubscribe
  • send
  • chats.list (sonda/diagnósticos)

Consulta iMessage para configuración legacy y direccionamiento (chat_id preferido).

Guías para adaptadores

  • El gateway posee el proceso (start/stop vinculado al ciclo de vida del proveedor).
  • Mantén los clientes RPC resilientes: timeouts, reinicio al salir.
  • Prefiere IDs estables (ej. chat_id) sobre strings de visualización.