peekaboo

Capture e automatize a interface do macOS com a CLI Peekaboo.

O que é peekaboo?

Peekaboo é uma ferramenta de linha de comando para inspecionar e automatizar a interface do usuário (UI) no macOS. Ela permite que agentes de IA capturem o estado atual da UI, ajam sobre elementos específicos (como clicar, pressionar teclas, arrastar) e verifiquem o resultado das ações. A ferramenta é particularmente útil em conjunto com o OpenClaw Bridge, que fornece as permissões necessárias para interagir com janelas e processos. Suporta comandos modernos (v4) como `peekaboo app list`, `peekaboo see`, `peekaboo press` e `peekaboo drag`, e oferece saída em JSON para processamento estruturado. O fluxo típico é: inspecionar (`see`), agir com base nos elementos observados e verificar o resultado com uma nova inspeção. A ferramenta também gerencia permissões e solução de problemas com comandos dedicados.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que peekaboo faz?

Use o Peekaboo para inspecionar a UI do macOS, agir sobre o alvo desejado e verificar o resultado. Os exemplos abaixo usam a sintaxe v4. Verifique peekaboo --version e o --help do comando instalado; para versões mais antigas, siga a ajuda da respectiva versão.

Ponte OpenClaw

O aplicativo macOS OpenClaw hospeda a Ponte Peekaboo quando o Controle do Computador está ativado, seu provedor é Peekaboo e a Ponte Peekaboo está ativada. Mantenha a seleção existente do socket OpenClaw ao executar através desse host:

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

Confirme que o host e o socket selecionados são os desejados. Preserve uma seleção explícita de PEEKABOO_BRIDGE_SOCKET ou --bridge-socket. Se o host necessário não estiver disponível, relate esse resultado; não remova a seleção nem alterne provedores de Controle do Computador para fazer um comando ser bem-sucedido.

As permissões pertencem ao processo ou ao host da Ponte que realiza a operação. Não use --no-remote a menos que o chamador tenha as permissões necessárias.

Encontre o comando instalado

Use a ajuda do comando folha para flags e requisitos de segmentação, em vez de copiar uma flag entre comandos. Use a ajuda raiz para descobrir os comandos disponíveis:

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

V4 removeu estas raízes de comandos antigas:

Comando antigoComando v4
list appsapp list
imagesee --no-elements para pixels sem detecção de elementos
hotkeypress com acordes como cmd+shift+t
swipedrag --from … --to …

Para outras operações, incluindo clicar, digitar, rolar e gerenciar janelas ou menus, use peekaboo <comando> --help. Coloque as opções do comando após o comando folha; --json solicita saída estruturada.

Inspecionar, agir, verificar

Comece com um inventário de aplicativos e uma visão atualizada do alvo:

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

Leia os elementos retornados antes de agir. Mantenha as ações vinculadas ao aplicativo, janela e captura recente; não reutilize IDs de elemento de exemplo. Após uma ação, inspecione a UI novamente e verifique o resultado solicitado. Atualize a observação quando a janela mudar ou um alvo se tornar obsoleto.

Para uma captura de tela sem detecção de elementos:

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

Acordes de teclado brutos exigem interação explícita em primeiro plano ou um recebimento exato de janela aceito por press. Arrastar sempre move o cursor compartilhado e requer --foreground. Quando a interação em primeiro plano está autorizada:

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

Use o alvo real e as coordenadas da observação atual. Prefira unidades de duração explícitas como 800ms; consulte a ajuda de cada comando para suas opções e pré-requisitos.

Solução de problemas

  • Para um erro de comando removido, use a substituição nomeada pela CLI instalada.
  • Para falhas de host ou permissão, inspecione peekaboo bridge status --json e peekaboo permissions status --json para o host selecionado.
  • Para falhas de segmentação, leia a ajuda do comando folha e obtenha um estado de UI fresco com see.
  • No macOS 15+, o prompt privado do seletor de janelas é separado da concessão base de Gravação de Tela e pode aparecer mesmo quando as permissões da Ponte estão corretas.

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.

Habilidades Relacionadas