RPC-адаптеры

OpenClaw интегрирует внешние CLI через JSON-RPC. Сегодня используются два паттерна.

Паттерн A: HTTP-демон (signal-cli)

  • signal-cli работает как демон с JSON-RPC поверх HTTP
  • Поток событий — SSE (/api/v1/events)
  • Проверка работоспособности: /api/v1/check
  • OpenClaw владеет жизненным циклом при channels.signal.autoStart=true

См. Signal для настройки и конечных точек.

Паттерн B: дочерний процесс stdio (imsg)

  • OpenClaw порождает imsg rpc как дочерний процесс
  • JSON-RPC разделяется по строкам через stdin/stdout (один JSON-объект на строку)
  • Не требуется TCP-порт, не требуется демон

Используемые основные методы:

  • watch.subscribe → уведомления (метод: "message")
  • watch.unsubscribe
  • send
  • chats.list (проба/диагностика)

См. iMessage для настройки и адресации (предпочтителен chat_id).

Рекомендации по адаптерам

  • Gateway владеет процессом (запуск/остановка привязаны к жизненному циклу провайдера)
  • Сохраняйте устойчивость RPC-клиентов: тайм-ауты, перезапуск при выходе
  • Предпочитайте стабильные ID (например, chat_id) вместо отображаемых строк