PeekabooBridgeHostCoordinator,由 steipete/Peekaboo Swift 套件支援)。這讓 peekaboo 命令列介面能驅動 UI 自動化,同時重用 macOS app 的 TCC 權限。
這是什麼(以及不是什麼)
- 主機:OpenClaw.app 可以作為 PeekabooBridge 主機。
- 用戶端:
peekaboo命令列介面(沒有獨立的openclaw ui ...介面)。 - UI:視覺覆蓋層保留在 Peekaboo.app;OpenClaw 是輕量代理主機。
與其他桌面控制路徑的關係
OpenClaw 有三條刻意保持分離的桌面控制路徑:- PeekabooBridge 主機:OpenClaw.app 會託管本機 PeekabooBridge socket。
peekaboo命令列介面是用戶端,並使用 OpenClaw.app 的 macOS 權限來進行截圖、點擊、選單、對話框、Dock 動作與視窗管理。 - 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/window/element-index 工作流程,而不需透過 Codex marketplace 或 PeekabooBridge socket 路由。
cua-driver mcp。
啟用橋接
在 macOS app 中:設定 -> 啟用 Peekaboo Bridge。 啟用後,OpenClaw 會在~/Library/Application Support/OpenClaw/<socket-name> 啟動本機 UNIX socket 伺服器。若停用,主機會停止,且 peekaboo 會回退到其他可用主機。協調器也會維護舊版 socket 符號連結(Application Support 底下的 clawdbot、clawdis、moltbot),指向目前 socket,以供較舊的 peekaboo 安裝使用。
用戶端探索順序
Peekaboo 用戶端通常會依此順序嘗試主機:- Peekaboo.app(完整 UX)
- Claude.app(若已安裝)
- OpenClaw.app(輕量代理)
peekaboo bridge status --verbose 查看目前啟用的主機與使用中的 socket 路徑。使用以下方式覆寫:
安全性與權限
- 橋接會驗證呼叫者程式碼簽章;會強制執行 TeamID 允許清單(Peekaboo 主機 TeamID 加上執行中 app 自己的 TeamID)。
- 對於「輔助使用」,請優先使用已簽署的橋接/app 身分,而不是通用的
node執行階段。將輔助使用權限授予node會讓該 Node 可執行檔啟動的任何套件繼承 GUI 自動化存取權限;請參閱 macOS 權限。 - 請求會在 10 秒後逾時(
requestTimeoutSec: 10)。 - 如果缺少必要權限,橋接會回傳清楚的錯誤訊息,而不是啟動「系統設定」。
快照行為(自動化)
快照會儲存在記憶體中,有 10 分鐘的有效期限,並限制最多 50 個快照(InMemorySnapshotManager);清理時不會刪除成品。若需要更長保留時間,請從用戶端重新擷取。
疑難排解
- 如果
peekaboo回報「bridge client is not authorized」,請確認用戶端已正確簽署,或僅在偵錯模式中以PEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1執行主機。 - 如果找不到主機,請開啟其中一個主機 app(Peekaboo.app 或 OpenClaw.app),並確認已授予權限。