OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

macOS IPC

这页说明书在讲一个叫 OpenClaw 的软件,在苹果电脑(macOS)里是怎么让不同部分的小程序互相安全地“说话”和“帮忙”的。就像你在幼儿园里,想请老师帮忙拿高处的玩具,需要先举手,老师同意了才能帮你。这个说明书会告诉你,软件里谁负责举手,谁负责帮忙,以及他们是怎么安全地传递消息的。如果你想知道电脑里的程序是怎么合作完成任务的,可以看看这一页。

五岁小孩版解释

想象一下,你的电脑里住着几个小帮手。有一个叫“节点主机服务”的小帮手,它没有眼睛和窗口,专门负责跑腿传话。还有一个叫“macOS 应用”的小帮手,它有漂亮的窗口,可以弹出询问框,也能帮你操作屏幕。它们俩需要安全地“打电话”才能一起工作。

它们是怎么“打电话”的呢?它们用一根叫“本地 Unix 套接字”的特殊电话线连接。这根电话线只在你的电脑内部,不连到外面去,所以很安全。当“节点主机服务”需要“macOS 应用”帮忙运行一个程序时,就会通过这根电话线发送请求。

为了让通话更安全,它们用了好几个小秘密:

  1. 检查身份证:它们会互相检查对方的“用户ID”,就像看是不是同一个小朋友在说话。
  2. 使用密码:它们有一个只有彼此知道的密码(HMAC),用来证明“真的是我”。
  3. 限时通话:每次通话请求都有一个很短的有效时间(TTL),过期就作废,防止坏人用旧消息来骗人。
  4. 锁好门:那根电话线(套接字)的文件权限设置得很严格(模式 0600),只有主人自己能读写。

现在,我们来看看这些小帮手具体是怎么工作的:

  1. 主要的工作流程

    • 那个有窗口的“macOS 应用”会启动一个叫“网关”的指挥中心(本地模式),然后自己连接上去,成为一个“节点”。
    • 当其他智能助手(Agent)想做事时,比如运行程序或者发通知,就会通过“网关”告诉这个“节点”(也就是我们的应用)。
    • 应用收到“运行程序”的请求后,会通过那根安全的电话线,交给“macOS 应用”去执行。
  2. 关于屏幕操作(UI自动化)

    • 如果你想用软件来点击屏幕上的按钮或读取文字,这需要另一个专门的帮手,叫做“PeekabooBridge”。
    • 它使用另一根叫 bridge.sock 的电话线,并且说一种叫“PeekabooBridge JSON”的特殊语言。
    • 这个帮手很挑朋友,它只愿意和拥有特定“团队ID”(TeamID)签名的应用做朋友。这是为了安全。
    • 不过,在开发调试(DEBUG)的时候,为了方便,可以设置一个叫 PEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1 的秘密开关,让它也接受来自同一个用户的应用的请求。
  3. 一些重要的规矩和提醒

    • 一个就够了:这个“macOS 应用”一次只能运行一个。如果发现已经有一个在运行了,新的应用就会自己退出。
    • 权限要固定:电脑系统(TCC)弹出的权限询问框(比如是否允许录音、录屏),只来自那个有固定签名的应用窗口。这样你批准一次,下次就记住了。
    • 重启和重建:如果你想重启整个系统,可以用一个长长的命令(脚本),它会关掉旧的,重新打包应用,并让它在开机时自动启动。
    • 全都留在家里:所有“打电话”的过程都只发生在你的电脑内部,不会连接到外面的网络,非常安全。