RPC 适配器
OpenClaw 通过 JSON-RPC 集成外部 CLI 工具。目前使用两种模式。
模式 A:HTTP Daemon(signal-cli)
signal-cli作为 Daemon 运行,通过 HTTP 提供 JSON-RPC 接口。- 事件流使用 SSE(
/api/v1/events)。 - 健康检查端点:
/api/v1/check。 - 当
channels.signal.autoStart=true时,OpenClaw 负责管理其生命周期。
详见 Signal 了解配置和端点信息。
模式 B:stdio 子进程(imsg)
- OpenClaw 启动
imsg rpc作为子进程。 - JSON-RPC 通过 stdin/stdout 以行分隔方式传输(每行一个 JSON 对象)。
- 不需要 TCP 端口,也不需要 Daemon。
核心方法:
watch.subscribe→ 接收通知(method: "message")watch.unsubscribesendchats.list(探测/诊断用)
详见 iMessage 了解配置和寻址方式(推荐使用 chat_id)。
适配器开发指南
- Gateway 负责管理进程(启动/停止与 Provider 生命周期绑定)。
- 保持 RPC 客户端的健壮性:设置超时、进程退出时自动重启。
- 优先使用稳定的 ID(如
chat_id)而非显示字符串。