Перейти до основного вмісту

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.
Див. Signal для налаштування та endpoint-ів.

Шаблон B: дочірній процес stdio (застарілий: imsg)

Примітка: Для нових налаштувань iMessage натомість використовуйте BlueBubbles.
  • OpenClaw запускає imsg rpc як дочірній процес (застаріла інтеграція iMessage).
  • JSON-RPC передається рядками через stdin/stdout (один JSON-об’єкт на рядок).
  • TCP-порт відсутній, daemon не потрібен.
Основні використовувані методи:
  • watch.subscribe → сповіщення (method: "message")
  • watch.unsubscribe
  • send
  • chats.list (probe/діагностика)
Див. iMessage для застарілого налаштування та адресації (переважно chat_id).

Рекомендації для адаптерів

  • Gateway керує процесом (запуск/зупинка прив’язані до життєвого циклу provider).
  • RPC-клієнти мають бути стійкими: timeout, перезапуск після завершення процесу.
  • Віддавайте перевагу стабільним ID (наприклад, chat_id) замість рядків відображення.