peekaboo

Inspectez et automatisez l'interface utilisateur macOS avec le CLI Peekaboo.

Qu'est-ce que peekaboo ?

Peekaboo est un outil CLI conçu pour inspecter et automatiser l'interface utilisateur macOS. Il permet de capturer des éléments UI, d'effectuer des actions (clic, saisie, défilement, glisser-déposer) et de vérifier les résultats. Le skill s'intègre via OpenClaw Bridge lorsque le contrôle de l'ordinateur est activé et nécessite des permissions appropriées. Il supporte les commandes comme `app list`, `see`, `press`, `drag` et fournit des sorties JSON pour une utilisation automatisée. Ce skill est utile pour les développeurs qui souhaitent automatiser des interactions utilisateur complexes sous macOS, par exemple tester une interface, remplir un formulaire, ou vérifier l'état d'une fenêtre. Il fonctionne avec les versions récentes de Peekaboo (v4 syntax) et remplace d'anciennes commandes comme `list apps` ou `hotkey`. En cas d'erreur, des commandes de diagnostic (`peekaboo bridge status --json`) aident à résoudre les problèmes de permissions ou de connexion. Pour les agents IA, Peekaboo est un atout majeur pour exécuter des tâches répétitives ou des tests sur macOS de manière fiable, en s'appuyant sur des captures d'écran, la détection d'éléments et des actions précises (coordonnées, touches). Le skill encourage à toujours utiliser des captures fraîches et à ne pas réutiliser d'identifiants d'éléments obsolètes, garantissant ainsi des automatismes robustes.

Compatible avec~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/skills/peekaboo

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait peekaboo ?

Utilisez Peekaboo pour inspecter l'interface utilisateur macOS, agir sur la cible visée et vérifier le résultat. Les exemples ci-dessous utilisent la syntaxe v4. Vérifiez peekaboo --version et l'aide (--help) de la commande installée ; pour les versions anciennes, suivez l'aide de cette version.

Pont OpenClaw

L'application macOS OpenClaw héberge le pont Peekaboo lorsque le contrôle de l'ordinateur est activé, que son fournisseur est Peekaboo et que le pont Peekaboo est activé. Conservez la sélection de socket OpenClaw existante lors de l'exécution via cet hôte :

export PEEKABOO_BRIDGE_SOCKET="${PEEKABOO_BRIDGE_SOCKET:-$HOME/Library/Application Support/OpenClaw/bridge.sock}"
peekaboo bridge status --json

Confirmez que l'hôte et le socket sélectionnés sont ceux attendus. Préservez une valeur explicite de PEEKABOO_BRIDGE_SOCKET ou de --bridge-socket. Si l'hôte requis est indisponible, signalez ce résultat ; ne modifiez pas la sélection ni ne changez de fournisseur de contrôle pour faire réussir une commande.

Les permissions appartiennent au processus ou à l'hôte du pont qui effectue l'opération. Ne passez pas --no-remote sauf si l'appelant dispose des permissions nécessaires.

Trouver la commande installée

Utilisez l'aide de la commande feuille pour connaître les options et les exigences de ciblage, plutôt que de copier une option entre commandes. Utilisez l'aide racine pour découvrir les commandes disponibles :

peekaboo --help
peekaboo app list --help
peekaboo see --help
peekaboo press --help
peekaboo drag --help

V4 a supprimé ces anciennes racines de commandes :

Ancienne commandeCommande V4
list appsapp list
imagesee --no-elements pour les pixels sans détection d'éléments
hotkeypress avec des accords comme cmd+shift+t
swipedrag --from … --to …

Pour d'autres opérations, y compris cliquer, taper, faire défiler et gérer les fenêtres ou les menus, utilisez peekaboo <commande> --help. Placez les options de la commande après la commande feuille ; --json demande une sortie structurée.

Inspecter, agir, vérifier

Commencez par l'inventaire des applications et une vue fraîche de la cible :

peekaboo app list --json
peekaboo see --app Safari --window-title "Exemple" --annotate \
  --path /tmp/peekaboo-exemple.png --json

Lisez les éléments retournés avant d'agir. Liez les actions à l'application, la fenêtre et l'instantané frais ; ne réutilisez pas des identifiants d'éléments d'exemple. Après une action, inspectez à nouveau l'interface et vérifiez le résultat demandé. Rafraîchissez l'observation lorsque la fenêtre change ou qu'une cible devient obsolète.

Pour une capture d'écran sans détection d'éléments :

peekaboo see --mode screen --screen-index 0 --no-elements --retina \
  --path /tmp/peekaboo-ecran.png --json

Les accords de touches bruts nécessitent une interaction explicite au premier plan ou un récépissé de fenêtre exacte frais accepté par press. Le glissement déplace toujours le curseur partagé et nécessite --foreground. Lorsque l'interaction au premier plan est autorisée :

peekaboo press cmd+shift+t --app Safari --foreground --json
peekaboo drag --from 100,500 --to 100,200 --duration 800ms --foreground --json

Utilisez la cible et les coordonnées réelles issues de l'observation courante. Préférez des unités de durée explicites comme 800ms ; consultez l'aide de chaque commande pour ses options et prérequis.

Dépannage

  • Pour une erreur de commande supprimée, utilisez le remplacement nommé par le CLI installé.
  • Pour des échecs d'hôte ou de permissions, inspectez peekaboo bridge status --json et peekaboo permissions status --json pour l'hôte sélectionné.
  • Pour des échecs de ciblage, lisez l'aide de la commande feuille et obtenez un état UI frais avec see.
  • Sur macOS 15+, la demande privée de sélecteur de fenêtre est distincte de l'autorisation d'enregistrement d'écran de base et peut apparaître même lorsque les permissions du pont sont correctes.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Skills associés