PeekabooBridgeHostCoordinator、steipete/Peekaboo Swift パッケージにより提供)。これにより、peekaboo CLI は macOS アプリの TCC 権限を再利用しながら UI オートメーションを実行できます。
これは何か(そして何ではないか)
- ホスト: OpenClaw.app は PeekabooBridge ホストとして動作できます。
- クライアント:
peekabooCLI(独立したopenclaw ui ...サーフェスはありません)。 - UI: ビジュアルオーバーレイは Peekaboo.app 側に残ります。OpenClaw は薄いブローカーホストです。
他のデスクトップ制御経路との関係
OpenClaw には、意図的に分離された 3 つのデスクトップ制御経路があります。- PeekabooBridge ホスト: OpenClaw.app がローカル PeekabooBridge ソケットをホストします。
peekabooCLI がクライアントとなり、スクリーンショット、クリック、メニュー、ダイアログ、Dock アクション、ウィンドウ管理に OpenClaw.app の macOS 権限を使用します。 - Codex Computer Use: バンドルされた
codexPlugin は、Codex のcomputer-useMCP Plugin(extensions/codex/src/app-server/computer-use.ts)を確認し、インストールできます。その後、Codex モードのターン中にネイティブなデスクトップ制御ツール呼び出しを Codex に所有させます。OpenClaw はこれらのアクションを PeekabooBridge 経由でプロキシしません。 - 直接の
cua-driverMCP: OpenClaw は TryCua の上流cua-driver mcpサーバーを通常の MCP サーバーとして登録でき、Codex マーケットプレイスや PeekabooBridge ソケットを経由せずに、CUA ドライバー独自のスキーマと pid/window/element-index ワークフローをエージェントに提供します。
cua-driver mcp を使用します。
ブリッジを有効化する
macOS アプリで: Settings -> Enable Peekaboo Bridge。 有効にすると、OpenClaw は~/Library/Application Support/OpenClaw/<socket-name> にローカル UNIX ソケットサーバーを起動します。無効にすると、ホストは停止し、peekaboo は他の利用可能なホストにフォールバックします。コーディネーターは、古い peekaboo インストール向けに、現在のソケットを指すレガシーソケットシンボリックリンク(Application Support 配下の clawdbot、clawdis、moltbot)も維持します。
クライアント検出順序
Peekaboo クライアントは通常、次の順序でホストを試します。- Peekaboo.app(完全な UX)
- Claude.app(インストールされている場合)
- OpenClaw.app(薄いブローカー)
peekaboo bridge status --verbose を使用します。次で上書きできます。
セキュリティと権限
- ブリッジは 呼び出し元のコード署名 を検証します。TeamID の許可リストが適用されます(Peekaboo ホストの TeamID と、実行中アプリ自身の TeamID)。
- Accessibility には、汎用の
nodeランタイムよりも署名済みのブリッジ/アプリ ID を優先してください。nodeに Accessibility を付与すると、その Node 実行ファイルから起動された任意のパッケージが GUI オートメーションアクセスを継承できます。詳しくは macOS 権限 を参照してください。 - リクエストは 10 秒後にタイムアウトします(
requestTimeoutSec: 10)。 - 必要な権限が不足している場合、ブリッジは System Settings を起動するのではなく、明確なエラーメッセージを返します。
スナップショットの動作(オートメーション)
スナップショットはメモリ内に保存され、有効期間は 10 分、上限は 50 スナップショットです(InMemorySnapshotManager)。アーティファクトはクリーンアップ時に削除されません。より長い保持が必要な場合は、クライアントから再キャプチャしてください。
トラブルシューティング
peekabooが「bridge client is not authorized」と報告する場合は、クライアントが適切に署名されていることを確認するか、debug モードでのみPEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1を指定してホストを実行してください。- ホストが見つからない場合は、ホストアプリのいずれか(Peekaboo.app または OpenClaw.app)を開き、権限が付与されていることを確認してください。