PeekabooBridgeHostCoordinator,由 steipete/Peekaboo Swift 包提供支持)。这样,peekaboo CLI 就可以驱动 UI 自动化,同时复用 macOS 应用的 TCC 权限。
这是什么(以及不是什么)
- 主机:OpenClaw.app 可以充当 PeekabooBridge 主机。
- 客户端:
peekabooCLI(没有单独的openclaw ui ...界面)。 - UI:视觉覆盖层仍然保留在 Peekaboo.app 中;OpenClaw 只是一个轻量的中介主机。
与其他桌面控制路径的关系
OpenClaw 有四条刻意保持分离的桌面控制路径:- PeekabooBridge 主机:OpenClaw.app 托管本地 PeekabooBridge 套接字。
peekabooCLI 是客户端,并使用 OpenClaw.app 的 macOS 权限来进行截图、点击、菜单、对话框、Dock 操作和窗口管理。 - 代理驱动的计算机使用(
computer.act):网关代理内置的computer工具通过screen.snapshot捕获截图,并通过危险的computer.act节点命令驱动指针和键盘。macOS 节点通过其公开的嵌入式 Peekaboo 自动化服务以及窄范围的 CoreGraphics 原语,在进程内实现computer.act,而不经过 PeekabooBridge 套接字或peekabooCLI。参见 计算机使用。 - Codex Computer Use:捆绑的
codex插件会检查并可以安装 Codex 的computer-useMCP 插件(extensions/codex/src/app-server/computer-use.ts),然后在 Codex 模式轮次中让 Codex 接管原生桌面控制工具调用。OpenClaw 不会通过 PeekabooBridge 代理这些操作。 - 直接
cua-driverMCP:OpenClaw 可以将 TryCua 的上游cua-driver mcp服务器注册为普通 MCP 服务器,使代理获得 CUA 驱动自身的 schema 以及 pid/窗口/元素索引工作流,而无需通过 Codex 市场或 PeekabooBridge 套接字路由。
computer.act 节点命令查看并控制桌面,而该命令可由任何视觉模型驱动时。使用 Codex Computer Use,当 Codex 模式代理应依赖 Codex 的原生插件时。使用直接 cua-driver mcp,将 CUA 驱动暴露给任何由 OpenClaw 管理的运行时,作为普通 MCP 服务器。
启用桥接
在 macOS 应用中:Settings -> Enable Peekaboo Bridge。此开关要求 Allow Computer Control 处于开启状态,因为两者都会授予本地 UI 自动化权限;在关闭 Computer Control 时,该开关会被禁用,主机也不会运行。若要在没有 Computer Control 的情况下驱动 Peekaboo,请改为运行 Peekaboo 自己的 Mac 应用作为主机。 启用后(且 Computer Control 已开启),OpenClaw 会在~/Library/Application Support/OpenClaw/<socket-name> 启动一个本地 UNIX socket 服务器。若被禁用,主机将停止运行,peekaboo 会回退到其他可用主机。协调器还会维护旧版 socket 符号链接(clawdbot、clawdis、moltbot 位于 Application Support 下),它们指向当前 socket,以兼容较旧的 peekaboo 安装。
客户端发现顺序
Peekaboo 客户端通常按以下顺序尝试主机:- Peekaboo.app(完整 UX)
- Claude.app(如果已安装)
- OpenClaw.app(轻量 broker)
peekaboo bridge status --verbose 查看当前活动的主机以及正在使用的 socket 路径。可通过以下方式覆盖:
安全与权限
- 该桥接会验证 调用方代码签名;会强制执行 TeamID 的允许列表(Peekaboo 主机 TeamID 以及正在运行的应用自身的 TeamID)。
- 对于辅助功能,优先使用已签名的 bridge/app 身份,而不是通用的
node运行时。将辅助功能权限授予node,会使该 Node 可执行文件启动的任何包继承 GUI 自动化访问权限;参见 macOS 权限。 - 请求在 10 秒后超时(
requestTimeoutSec: 10)。 - 如果缺少所需权限,桥接会返回清晰的错误消息,而不是启动系统设置。
快照行为(自动化)
快照存储在内存中,有效期为 10 分钟,且最多保留 50 个快照(InMemorySnapshotManager);清理时不会删除工件。如果需要更长的保留时间,请从客户端重新捕获。
故障排查
- 如果
peekaboo报告“bridge client is not authorized”,请确保客户端已正确签名,或者仅在调试模式下使用PEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1运行主机。 - 如果未找到任何主机,请打开其中一个主机应用(Peekaboo.app 或 OpenClaw.app),并确认已授予权限。