peekaboo CLI 能够驱动 UI 自动化,同时复用
macOS 应用的 TCC 权限。
这是什么(以及不是什么)
- 主机:OpenClaw.app 可以充当 PeekabooBridge 主机。
- 客户端:使用
peekabooCLI(没有单独的openclaw ui ...界面)。 - UI:可视化覆盖层保留在 Peekaboo.app 中;OpenClaw 只是一个轻量 broker 主机。
与 Computer Use 的关系
OpenClaw 有三条桌面控制路径,并且它们被刻意保持分离:- PeekabooBridge 主机:OpenClaw.app 可以托管本地 PeekabooBridge socket。
peekabooCLI 仍然是客户端,并使用 OpenClaw.app 的 macOS 权限来执行 Peekaboo 自动化原语,例如截图、点击、 菜单、对话框、Dock 操作以及窗口管理。 - Codex Computer Use:捆绑的
codex插件会准备 Codex app-server, 验证 Codex 的computer-useMCP server 是否可用,然后让 Codex 在 Codex 模式轮次中负责原生桌面控制工具调用。OpenClaw 不会通过 PeekabooBridge 代理这些操作。 - 直接
cua-driverMCP:OpenClaw 可以将 TryCua 的上游cua-driver mcpserver 作为普通 MCP server 注册。这样代理就能获得 CUA 驱动自身的 schema 以及 pid/window/element-index 工作流,而无需通过 Codex marketplace 或 PeekabooBridge socket 路由。
cua-driver mcp。
启用桥接
在 macOS 应用中:- Settings → 启用 Peekaboo Bridge
peekaboo 将回退到其他可用主机。
客户端发现顺序
Peekaboo 客户端通常按以下顺序尝试主机:- Peekaboo.app(完整 UX)
- Claude.app(如果已安装)
- OpenClaw.app(轻量 broker)
peekaboo bridge status --verbose 查看当前活动主机以及正在使用的
socket path。你也可以通过以下方式覆盖:
安全与权限
- 该桥接会验证 调用方代码签名;会强制执行 TeamID 白名单(Peekaboo 主机 TeamID + OpenClaw app TeamID)。
- 对于 Accessibility,请优先使用已签名的桥接/app 身份,而不是通用的
node运行时。向node授予 Accessibility 会让由该 Node 可执行文件启动的任何包继承 GUI 自动化访问权限;请参阅 macOS permissions。 - 请求将在约 10 秒后超时。
- 如果缺少所需权限,桥接会返回清晰的错误信息,而不是启动系统设置。
快照行为(自动化)
快照存储在内存中,并会在短时间后自动过期。 如果你需要更长的保留时间,请从客户端重新捕获。故障排查
- 如果
peekaboo报告 “bridge client is not authorized”,请确保客户端已 正确签名,或仅在 debug 模式下使用PEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1启动主机。 - 如果未找到主机,请打开其中一个主机应用(Peekaboo.app 或 OpenClaw.app) 并确认已授予权限。