CommunityCodierung & Entwicklunggithub.com

Peekaboo

Erfassen und Automatisieren der macOS-Benutzeroberfläche mit dem Peekaboo-CLI.

Was ist Peekaboo?

Peekaboo ist ein CLI-Tool zur Inspektion und Automatisierung der macOS-Benutzeroberfläche. Es ermöglicht dir, UI-Elemente zu erfassen, gezielte Aktionen wie Klicken, Tippen, Ziehen und Tastaturkürzel auszuführen sowie die Ergebnisse zu überprüfen. Die Integration mit dem OpenClaw Bridge-Host erlaubt die Fernsteuerung des Computers. Peekaboo unterstützt die Ausgabe im JSON-Format für strukturierte Daten und bietet umfangreiche Hilfe zu allen Befehlen. Es ist besonders nützlich für Entwickler und Tester, die wiederkehrende UI-Interaktionen automatisieren möchten. Die V4-Version hat einige Befehle umstrukturiert (z.B. `list apps` zu `app list`) und ersetzt ältere Ansätze wie `image` durch `see --no-elements`. Die Fehlerbehebung erfolgt über den Bridge-Status und Berechtigungsabfragen.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Peekaboo?

Verwende Peekaboo, um die macOS-Benutzeroberfläche zu inspizieren, auf das beabsichtigte Ziel zu wirken und das Ergebnis zu überprüfen. Die folgenden Beispiele verwenden die v4-Syntax. Überprüfe peekaboo --version und die installierte Befehls --help; für ältere Versionen folge der Hilfe dieser Version.

OpenClaw Bridge

Die OpenClaw-macOS-App hostet Peekaboo Bridge, wenn die Computersteuerung aktiviert ist, der Anbieter Peekaboo ist und Peekaboo Bridge aktiviert ist. Behalte die vorhandene OpenClaw-Socket-Auswahl bei, wenn du über diesen Host läufst:

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

Bestätige, dass der ausgewählte Host und Socket die beabsichtigten sind. Behalte eine explizite PEEKABOO_BRIDGE_SOCKET- oder --bridge-socket-Auswahl bei. Wenn der erforderliche Host nicht verfügbar ist, melde dieses Ergebnis; setze die Auswahl nicht zurück oder wechsle Computersteuerungsanbieter, um einen Befehl erfolgreich auszuführen.

Berechtigungen gehören dem Prozess oder Bridge-Host, der die Operation durchführt. Übergib --no-remote nur, wenn der Aufrufer die erforderlichen Berechtigungen hat.

Finde den installierten Befehl

Verwende die Blatthilfe für Flags und Targeting-Anforderungen, anstatt ein Flag zwischen Befehlen zu kopieren. Verwende die Stammhilfe, um die verfügbaren Befehle zu entdecken:

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

V4 hat diese alten Befehlsstämme entfernt:

Alter BefehlV4-Befehl
list appsapp list
imagesee --no-elements für Pixel ohne Elementerkennung
hotkeypress mit Akkorden wie cmd+shift+t
swipedrag --from … --to …

Für andere Operationen, einschließlich Klicken, Tippen, Scrollen und Verwalten von Fenstern oder Menüs, verwende peekaboo <command> --help. Setze Befehlsoptionen nach dem Blattbefehl; --json fordert strukturierte Ausgabe an.

Inspizieren, handeln, überprüfen

Beginne mit der Anwendungsinventur und einer frischen Ansicht des Ziels:

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

Lies die zurückgegebenen Elemente, bevor du handelst. Halte Aktionen an die beabsichtigte App, das Fenster und den aktuellen Schnappschuss gebunden; verwende keine Beispiel-Element-IDs erneut. Nach einer Aktion inspiziere die UI erneut und überprüfe das angeforderte Ergebnis. Aktualisiere die Beobachtung, wenn sich das Fenster ändert oder ein Ziel veraltet ist.

Für einen Screenshot ohne Elementerkennung:

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

Rohe Tastaturkürzel erfordern explizite Vordergrundinteraktion oder einen frischen Exakt-Fenster-Empfang, der von press akzeptiert wird. Ziehen bewegt immer den geteilten Cursor und erfordert --foreground. Wenn Vordergrundinteraktion autorisiert ist:

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

Verwende das tatsächliche Ziel und die Koordinaten aus der aktuellen Beobachtung. Bevorzuge explizite Dauereinheiten wie 800ms; konsultiere die Hilfe jedes Befehls für seine Optionen und Voraussetzungen.

Fehlerbehebung

  • Bei einem Fehler wegen entfernten Befehls verwende den vom installierten CLI benannten Ersatz.
  • Bei Host- oder Berechtigungsfehlern inspiziere peekaboo bridge status --json und peekaboo permissions status --json für den ausgewählten Host.
  • Bei Targeting-Fehlern lies die Blatthilfe und rufe mit see einen frischen UI-Status ab.
  • Unter macOS 15+ ist die private Fensterauswahlaufforderung von der Basis-Bildschirmaufnahme-Berechtigung getrennt und kann auch dann erscheinen, wenn Bridge-Berechtigungen korrekt sind.

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, Grok Build, 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.

Verwandte Skills