Skip to content

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

遗留 iMessage 的配置与地址方式参见 iMessage(建议使用 chat_id)。

适配器设计准则

  • Gateway 负责进程管理(启动/停止与提供商生命周期绑定)。
  • 保持 RPC 客户端的健壮性:设置超时,进程退出后自动重启。
  • 优先使用稳定 ID(如 chat_id),避免依赖显示名称字符串。

养一只能接外部 CLI 的龙虾,关键就在于让 Gateway 管好这些进程的生死。