Шаблон A: HTTP-демон (signal-cli)
signal-cliзапускается как демон с JSON-RPC поверх HTTP.- Поток событий — SSE (
/api/v1/events). - Проверка работоспособности:
/api/v1/check. - OpenClaw управляет жизненным циклом, когда
channels.signal.autoStart=true.
Шаблон B: дочерний процесс stdio (imsg)
- OpenClaw запускает
imsg rpcкак дочерний процесс для iMessage. - JSON-RPC передается построчно через stdin/stdout (по одному JSON-объекту на строку).
- TCP-порт не нужен, демон не требуется.
watch.subscribe→ уведомления (method: "message")watch.unsubscribesendchats.list(проверка/диагностика)
chat_id).
Рекомендации по адаптерам
- Gateway владеет процессом (запуск/остановка привязаны к жизненному циклу провайдера).
- Делайте RPC-клиенты устойчивыми: тайм-ауты, перезапуск при завершении.
- Предпочитайте стабильные идентификаторы (например,
chat_id) отображаемым строкам.