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.unsubscribe
  • send
  • chats.list(探测/诊断用)

详见 iMessage 了解配置和寻址方式(推荐使用 chat_id)。

适配器开发指南

  • Gateway 负责管理进程(启动/停止与 Provider 生命周期绑定)。
  • 保持 RPC 客户端的健壮性:设置超时、进程退出时自动重启。
  • 优先使用稳定的 ID(如 chat_id)而非显示字符串。