Platforms 导读

macOS 权限与 IPC:谁负责要权限,谁负责跑命令

macOS 上所有需要 TCC 权限的操作(通知、录屏、麦克风、AppleScript)都集中到同一个 GUI 应用里,由 launchd 启动,保证权限不丢。 系统命令执行走两条路:Agent 通过 Gateway WebSocket 发给 Node Service,Node Service 再通过本地 Unix Socket 转发给 Mac App 弹窗确认。 最容易搞错的是 UI 自动化走的是独立的 PeekabooBridge 协议,用另一个 socket 文件,而且客户端会按 Peekaboo.app → Claude.app → OpenClaw.app 的顺序尝试连接,不是直接连自己的。

先讲这一页到底在解决什么

macOS 权限与 IPC:谁负责要权限,谁负责跑命令

macOS 上所有需要 TCC 权限的操作(通知、录屏、麦克风、AppleScript)都集中到同一个 GUI 应用里,由 launchd 启动,保证权限不丢。 系统命令执行走两条路:Agent 通过 Gateway WebSocket 发给 Node Service,Node Service 再通过本地 Unix Socket 转发给 Mac App 弹窗确认。 最容易搞错的是 UI 自动化走的是独立的 PeekabooBridge 协议,用另一个 socket 文件,而且客户端会按 Peekaboo.app → Claude.app → OpenClaw.app 的顺序尝试连接,不是直接连自己的。

原文共 8 节,先看 Start Here 路径:/platforms/mac/xpc 查看官方原文

第一站

🧵 你可以把它理解成“App 和 node host 之间的一根内网细管子”

agent 真正的大动作还是走 Gateway WebSocket,不是直接穿过这条细管子满天飞。

Unix socket

负责本地进程之间的小范围协作,尤其是 exec 审批和 system.run 这类事。

Gateway WS

真正的主干道仍然是 Gateway WebSocket,node 命令最终还是通过它来调度。

openclaw-mac

这是调试 discovery / connect 的小探针,不是完整 agent 行为入口。

🎈 最后记一句

这页讲的是本地进程间细管道,不是另起一套总线取代 Gateway。