macOS companion app
Peekaboo ブリッジ
OpenClaw は、ローカルの権限対応 UI 自動化ブローカー(PeekabooBridgeHostCoordinator、steipete/Peekaboo Swift パッケージを基盤とする)として PeekabooBridge をホストできます。これにより、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 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/ウィンドウ/要素インデックスのワークフローをエージェントに提供します。
OpenClaw.app の権限対応ブリッジホストを介した広範な macOS 自動化には Peekaboo を使用します。任意のビジョンモデルが操作できる統一された computer.act Node コマンドを通じて、Gateway エージェントがデスクトップを表示および制御する必要がある場合は、エージェント駆動のコンピューター操作を使用します。Codex モードのエージェントが Codex のネイティブ Plugin を利用する必要がある場合は、Codex Computer Use を使用します。CUA ドライバーを通常の MCP サーバーとして任意の OpenClaw 管理ランタイムに公開するには、直接 cua-driver 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 ソケットサーバーを起動します。無効にするとホストは停止し、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ランタイムよりも、署名済みのブリッジ/アプリのアイデンティティを優先してください。nodeにアクセシビリティを許可すると、その 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)のいずれかを開き、権限が付与されていることを確認してください。