RPC adapters
OpenClaw tích hợp các CLI bên ngoài thông qua JSON-RPC. Hiện tại có hai pattern được sử dụng.
Pattern A: HTTP daemon (signal-cli)
signal-clichạy như một daemon với JSON-RPC qua HTTP.- Event stream dùng SSE (
/api/v1/events). - Health probe:
/api/v1/check. - OpenClaw quản lý lifecycle khi
channels.signal.autoStart=true.
Xem thêm tại Signal để biết cách setup và các endpoints.
Pattern B: stdio child process (imsg)
- OpenClaw spawn
imsg rpcnhư một child process. - JSON-RPC được phân tách theo dòng qua stdin/stdout (mỗi dòng là một JSON object).
- Không cần TCP port, không cần daemon.
Các method chính được sử dụng:
watch.subscribe→ notifications (method: "message")watch.unsubscribesendchats.list(probe/diagnostics)
Xem thêm tại iMessage để biết cách setup và addressing (nên dùng chat_id).
Hướng dẫn cho adapter
- Gateway quản lý process (start/stop gắn với lifecycle của provider).
- Giữ RPC clients ổn định: timeouts, restart khi exit.
- Ưu tiên dùng ID ổn định (ví dụ
chat_id) thay vì display strings.