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