macOS companion app

Pont Peekaboo

OpenClaw peut héberger PeekabooBridge en tant que courtier local d’automatisation de l’interface utilisateur tenant compte des autorisations (PeekabooBridgeHostCoordinator, fondé sur le package Swift steipete/Peekaboo). Cela permet à la CLI peekaboo de piloter l’automatisation de l’interface utilisateur tout en réutilisant les autorisations TCC de l’application macOS.

Ce que c’est (et ce que ce n’est pas)

  • Hôte : OpenClaw.app peut servir d’hôte PeekabooBridge.
  • Client : la CLI peekaboo (il n’existe pas d’interface openclaw ui ... distincte).
  • Interface utilisateur : les superpositions visuelles restent dans Peekaboo.app ; OpenClaw sert uniquement d’hôte courtier léger.

Relation avec les autres méthodes de contrôle du bureau

OpenClaw propose quatre méthodes de contrôle du bureau qui restent intentionnellement distinctes :

  • Hôte PeekabooBridge : OpenClaw.app héberge le socket PeekabooBridge local. La CLI peekaboo est le client et utilise les autorisations macOS d’OpenClaw.app pour les captures d’écran, les clics, les menus, les boîtes de dialogue, les actions du Dock et la gestion des fenêtres.
  • Utilisation de l’ordinateur pilotée par l’agent (computer.act) : l’outil computer intégré à l’agent du Gateway effectue des captures d’écran via screen.snapshot et contrôle le pointeur et le clavier au moyen de la commande Node dangereuse computer.act. Un Node macOS exécute computer.act dans le processus à l’aide des services d’automatisation Peekaboo intégrés exposés par ce pont, ainsi que de primitives CoreGraphics ciblées, sans passer par le socket PeekabooBridge ni par la CLI peekaboo. Consultez Utilisation de l’ordinateur.
  • Utilisation de l’ordinateur par Codex : le Plugin codex fourni vérifie le Plugin MCP computer-use de Codex et peut l’installer (extensions/codex/src/app-server/computer-use.ts), puis permet à Codex de prendre en charge les appels d’outils natifs de contrôle du bureau pendant les tours en mode Codex. OpenClaw ne transmet pas ces actions par l’intermédiaire de PeekabooBridge.
  • MCP cua-driver direct : OpenClaw peut enregistrer le serveur cua-driver mcp en amont de TryCua en tant que serveur MCP standard, ce qui fournit aux agents les schémas propres au pilote CUA et son flux de travail fondé sur les PID, les fenêtres et les index d’éléments, sans passer par la place de marché Codex ni par le socket PeekabooBridge.

Utilisez Peekaboo pour accéder aux nombreuses fonctionnalités d’automatisation de macOS par l’intermédiaire de l’hôte de pont d’OpenClaw.app tenant compte des autorisations. Utilisez le contrôle de l’ordinateur piloté par l’agent lorsque l’agent du Gateway doit voir et contrôler le bureau au moyen d’une commande Node uniforme computer.act, exploitable par n’importe quel modèle de vision. Utilisez le contrôle de l’ordinateur par Codex lorsqu’un agent en mode Codex doit s’appuyer sur le Plugin natif de Codex. Utilisez directement cua-driver mcp pour exposer le pilote CUA à tout environnement d’exécution géré par OpenClaw en tant que serveur MCP standard.

Activer le pont

Dans l’application macOS : Settings -> Enable Peekaboo Bridge.

Lorsqu’il est activé, OpenClaw démarre un serveur de socket UNIX local à l’emplacement ~/Library/Application Support/OpenClaw/<socket-name>. S’il est désactivé, l’hôte s’arrête et peekaboo se rabat sur les autres hôtes disponibles. Le coordinateur maintient également des liens symboliques de socket hérités (clawdbot, clawdis, moltbot sous Application Support) pointant vers le socket actuel pour les anciennes installations de peekaboo.

Ordre de détection des clients

Les clients Peekaboo essaient généralement les hôtes dans l’ordre suivant :

  1. Peekaboo.app (expérience utilisateur complète)
  2. Claude.app (si elle est installée)
  3. OpenClaw.app (courtier léger)

Utilisez peekaboo bridge status --verbose pour savoir quel hôte est actif et quel chemin de socket est utilisé. Pour le remplacer :

bash
export PEEKABOO_BRIDGE_SOCKET=/path/to/bridge.sock

Sécurité et autorisations

  • Le pont valide les signatures de code des appelants ; une liste d’autorisation de TeamID est appliquée (le TeamID de l’hôte Peekaboo ainsi que celui de l’application en cours d’exécution).
  • Pour l’accessibilité, privilégiez l’identité signée du pont ou de l’application plutôt qu’un environnement d’exécution node générique. Accorder l’autorisation d’accessibilité à node permet à tout package lancé par cet exécutable Node d’hériter de l’accès à l’automatisation de l’interface graphique ; consultez Autorisations macOS.
  • Les requêtes expirent après 10 secondes (requestTimeoutSec: 10).
  • Si les autorisations requises sont absentes, le pont renvoie un message d’erreur clair au lieu d’ouvrir les réglages système.

Comportement des instantanés (automatisation)

Les instantanés sont conservés en mémoire avec une durée de validité de 10 minutes et une limite de 50 instantanés (InMemorySnapshotManager) ; les artefacts ne sont pas supprimés lors du nettoyage. Si vous avez besoin d’une conservation plus longue, effectuez une nouvelle capture depuis le client.

Dépannage

  • Si peekaboo signale « bridge client is not authorized », vérifiez que le client est correctement signé ou exécutez l’hôte avec PEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1 uniquement en mode débogage.
  • Si aucun hôte n’est trouvé, ouvrez l’une des applications hôtes (Peekaboo.app ou OpenClaw.app) et vérifiez que les autorisations ont été accordées.

Contenu associé

Was this useful?
On this page

On this page