macOS companion app
Peekaboo ブリッジ
OpenClaw は、ローカルで権限を認識する UI 自動化ブローカーとして PeekabooBridge をホストできます(PeekabooBridgeHostCoordinator。内部では steipete/Peekaboo Swift パッケージを使用)。これにより、peekaboo CLI は macOS アプリの TCC 権限を再利用して UI 自動化を実行できます。
これは何か(そして何ではないか)
- ホスト: OpenClaw.app は PeekabooBridge ホストとして動作できます。
- クライアント:
peekabooCLI(独立したopenclaw ui ...インターフェースはありません)。 - UI: 視覚的なオーバーレイは Peekaboo.app 側に留まり、OpenClaw は軽量なブローカーホストとして機能します。
他のデスクトップ制御経路との関係
OpenClaw には、意図的に分離された 4 つのデスクトップ制御経路があります。
- PeekabooBridge ホスト: OpenClaw.app がローカルの PeekabooBridge ソケットをホストします。
peekabooCLI がクライアントとなり、スクリーンショット、クリック、メニュー、ダイアログ、Dock 操作、ウィンドウ管理に OpenClaw.app の macOS 権限を使用します。 - エージェント駆動のコンピューター操作(
computer.act): Gateway エージェントの組み込みcomputerツールは、screen.snapshotでスクリーンショットを取得し、危険なcomputer.actNode コマンドを介してポインターとキーボードを操作します。macOS Node は、PeekabooBridge ソケットやpeekabooCLI を経由せず、このブリッジが公開する組み込みの Peekaboo 自動化サービスと限定的な CoreGraphics プリミティブを使用して、プロセス内でcomputer.actを実行します。コンピューター操作を参照してください。 - Codex コンピューター操作: 同梱の
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/ウィンドウ/要素インデックスのワークフローをエージェントに提供します。
OpenClaw.app の権限認識型ブリッジホストを介して、幅広い macOS 自動化機能を利用する場合は Peekaboo を使用します。任意のビジョンモデルから操作できる統一された computer.act Node コマンドを通じて、Gateway エージェントにデスクトップを認識・操作させる場合は、エージェント駆動のコンピューター操作を使用します。Codex モードのエージェントに Codex のネイティブ Plugin を利用させる場合は、Codex コンピューター操作を使用します。CUA ドライバーを通常の MCP サーバーとして OpenClaw 管理下の任意のランタイムに公開する場合は、直接接続の 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 を使用します。上書きするには、次を設定します。
export PEEKABOO_BRIDGE_SOCKET=/path/to/bridge.sockセキュリティと権限
- ブリッジは呼び出し元のコード署名を検証します。TeamID の許可リスト(Peekaboo ホストの TeamID と実行中アプリ自身の TeamID)が適用されます。
- アクセシビリティでは、汎用的な
nodeランタイムよりも、署名済みのブリッジ/アプリ ID を優先してください。nodeにアクセシビリティ権限を付与すると、その Node 実行ファイルから起動されたすべてのパッケージが GUI 自動化アクセスを継承できます。macOS の権限を参照してください。 - リクエストは 10 秒後にタイムアウトします(
requestTimeoutSec: 10)。 - 必要な権限がない場合、ブリッジは System Settings を起動する代わりに、明確なエラーメッセージを返します。
スナップショットの動作(自動化)
スナップショットは、有効期間 10 分、上限 50 件でメモリ内に保存されます(InMemorySnapshotManager)。クリーンアップ時に成果物は削除されません。より長く保持する必要がある場合は、クライアントから再取得してください。
トラブルシューティング
peekabooが「bridge client is not authorized」と報告する場合は、クライアントが適切に署名されていることを確認するか、デバッグモードに限りPEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1を設定してホストを実行してください。- ホストが見つからない場合は、いずれかのホストアプリ(Peekaboo.app または OpenClaw.app)を開き、権限が付与されていることを確認してください。