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) вместо отображаемых строк