Appearance
RPC 适配器
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 负责管理其生命周期。
Signal 的配置与端点详情参见 Signal。
模式 B:stdio 子进程(遗留:imsg)
注意: 新的 iMessage 接入请使用 BlueBubbles。
- OpenClaw 将
imsg rpc作为子进程启动(遗留 iMessage 集成)。 - JSON-RPC 通过 stdin/stdout 以行分隔传输(每行一个 JSON 对象)。
- 无 TCP 端口,无需守护进程。
核心方法:
watch.subscribe→ 通知(method: "message")watch.unsubscribesendchats.list(探测/诊断)
遗留 iMessage 的配置与地址方式参见 iMessage(建议使用 chat_id)。
适配器设计准则
- Gateway 负责进程管理(启动/停止与提供商生命周期绑定)。
- 保持 RPC 客户端的健壮性:设置超时,进程退出后自动重启。
- 优先使用稳定 ID(如
chat_id),避免依赖显示名称字符串。
养一只能接外部 CLI 的龙虾,关键就在于让 Gateway 管好这些进程的生死。