OpenClaw 通过 JSON-RPC 集成外部 CLI,目前有两种模式。
模式 A:HTTP 守护进程(signal-cli)
signal-cli以守护进程方式运行,通过 HTTP 提供 JSON-RPC- 事件流:SSE(
/api/v1/events) - 健康探测:
/api/v1/check channels.signal.autoStart=true时由 OpenClaw 管理生命周期
模式 B:stdio 子进程(imsg)
- OpenClaw 将
imsg rpc作为子进程启动(用于 iMessage) - JSON-RPC 通过 stdin/stdout 以行分隔传输
- 无需 TCP 端口,无需守护进程
核心方法:
| 方法 | 说明 |
|---|---|
watch.subscribe | 订阅消息通知 |
watch.unsubscribe | 取消订阅 |
send | 发送消息 |
chats.list | 探测/诊断 |
适配器设计原则
- Gateway 拥有进程生命周期(随 provider 启停)
- RPC 客户端需具备容错能力:超时、退出后重启
- 优先使用稳定 ID(如
chat_id)而非显示名称