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.
Паттерн B: дочерний процесс со stdio (legacy: imsg)
Примечание: Для новых настроек iMessage используйте BlueBubbles.
- OpenClaw запускает
imsg rpcкак дочерний процесс (устаревшая интеграция iMessage). - JSON-RPC — построчно через stdin/stdout (один JSON-объект на строку).
- TCP-порт не используется, демон не требуется.
watch.subscribe→ уведомления (method: "message")watch.unsubscribesendchats.list(проверка/диагностика)
chat_id).
Рекомендации по адаптерам
- Gateway (шлюз) владеет процессом (запуск/остановка привязаны к жизненному циклу провайдера).
- Делайте RPC-клиенты устойчивыми: тайм-ауты, перезапуск при завершении.
- Отдавайте предпочтение стабильным идентификаторам (например,
chat_id), а не отображаемым строкам.