简要总结
RPC Adapters
这页说明书在讲 OpenClaw 怎么和外面那些会说话的“小工具”交朋友。它主要介绍了两种交朋友的方法:一种是让“小工具”自己开一个门(HTTP守护进程),另一种是 OpenClaw 拉着“小工具”的手一起走(子进程)。我们会告诉你每种方法是怎么工作的,以及什么时候该用哪一种。
五岁小孩版解释
OpenClaw 就像一个聪明的邮递员,它自己不会直接说话,但它能看懂一种叫做 JSON-RPC 的“通用语言”。它需要找一些会说这种语言的“小工具”帮忙,比如 signal-cli(一个发消息的工具)或者 imsg(一个旧版的苹果信息工具)。这页说明书就在讲 OpenClaw 怎么和这些“小工具”手拉手一起工作。
第一种方法,我们叫它“模式A”。这就像“小工具”自己开了一家小店,一直开着门。OpenClaw 想找它玩的时候,就去敲它家的门(一个网络地址)。这个“小工具”就是 signal-cli。
- 怎么开店:signal-cli 会一直运行,像一个不睡觉的守护神(daemon)。它通过 HTTP 这个“邮递通道”来收发 JSON-RPC 信件。
- 怎么收消息:它还有一个特别的通知栏,叫
/api/v1/events。一旦有新的消息,就会立刻贴在这个通知栏上(这叫 SSE,就像一直滚动的新闻条)。 - 怎么知道它没睡着:OpenClaw 可以时不时去问一下
/api/v1/check,就像问“你还好吗?”,来确保小店还开着。 - 谁来管开店:如果我们在设置里打开了
channels.signal.autoStart=true这个开关,那么 OpenClaw 就会自己负责启动和关闭 signal-cli 这家小店。
第二种方法,我们叫它“模式B”。这就像 OpenClaw 直接拉着“小工具”的手,两个人说悄悄话。这个“小工具”是旧版的 imsg(苹果信息工具),但现在我们有更好的新朋友了。
注意: 如果你要设置新的苹果信息(iMessage)连接,请去找 BlueBubbles 这个新朋友玩,不要用这个旧的 imsg 了。
- 怎么手拉手:OpenClaw 会启动
imsg rpc这个程序,让它像个小跟班一样跟在身边(这叫子进程)。它们不用开店,也不需要用网络。 - 怎么说悄悄话:它们通过“标准输入”和“标准输出”来传纸条。每张纸条就是一行 JSON 文字(line-delimited JSON over stdin/stdout)。
- 它们聊什么:它们会用一些固定的“暗号”来交流,比如:
watch.subscribe意思是“有消息了要立刻告诉我哦!”watch.unsubscribe意思是“不用告诉我了。”send意思是“帮我把这条消息发出去。”chats.list意思是“把你的聊天列表给我看看”,这可以用来检查它是不是好好的。
最后,还有一些和“小工具”交朋友的重要守则:
- 谁负责管:OpenClaw(我们叫它网关 Gateway)要负责管理这些“小工具”的启动和停止,它们要一起行动。
- 要耐心点:和“小工具”聊天时,要设置好“等待时间”(timeouts),如果它不小心走丢了(进程退出),要记得重新把它拉回来(重启)。
- 用真名字:找人或聊天时,尽量用稳定不变的“身份证号”(比如
chat_id),不要用可能会变的“昵称”(display strings),这样才不会找错人。