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’interfaceopenclaw 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
peekabooest 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’outilcomputerintégré à l’agent du Gateway effectue des captures d’écran viascreen.snapshotet contrôle le pointeur et le clavier au moyen de la commande Node dangereusecomputer.act. Un Node macOS exécutecomputer.actdans 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 CLIpeekaboo. Consultez Utilisation de l’ordinateur. - Utilisation de l’ordinateur par Codex : le Plugin
codexfourni vérifie le Plugin MCPcomputer-usede 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-driverdirect : OpenClaw peut enregistrer le serveurcua-driver mcpen 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 :
- Peekaboo.app (expérience utilisateur complète)
- Claude.app (si elle est installée)
- 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 :
export PEEKABOO_BRIDGE_SOCKET=/path/to/bridge.sockSé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
nodegénérique. Accorder l’autorisation d’accessibilité ànodepermet à 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
peekaboosignale « bridge client is not authorized », vérifiez que le client est correctement signé ou exécutez l’hôte avecPEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1uniquement 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.