名称: peekaboo 描述: 使用Peekaboo CLI捕获和自动化macOS UI。 主页: https://peekaboo.boo 元数据: { “otto”: { “表情符号”: “👀”, “操作系统”: [“darwin”], “要求”: { “二进制文件”: [“peekaboo”] }, “安装”: [ { “ID”: “brew”, “种类”: “brew”, “公式”: “steipete/tap/peekaboo”, “二进制文件”: [“peekaboo”], “标签”: “安装Peekaboo (brew)”, }, ], }, }
Peekaboo
Peekaboo是一个完整的macOS UI自动化CLI工具:捕获/检查屏幕、定位UI元素、驱动输入、管理应用程序/窗口/菜单。命令共享快照缓存并支持--json/-j用于脚本化。运行peekaboo或peekaboo <cmd> --help查看标志;peekaboo --version打印构建元数据。提示:通过polter peekaboo运行以确保使用最新版本。
功能(所有CLI功能,排除代理/MCP)
核心
bridge: 检查Peekaboo Bridge主机连接capture: 实时捕获或视频摄取 + 帧提取clean: 清理快照缓存和临时文件config: 初始化/显示/编辑/验证,提供者、模型、凭据image: 捕获屏幕截图(屏幕/窗口/菜单栏区域)learn: 打印完整的代理指南 + 工具目录list: 应用程序、窗口、屏幕、菜单栏、权限permissions: 检查屏幕录制/辅助功能权限状态run: 执行.peekaboo.json脚本sleep: 暂停执行一段时间tools: 列出可用工具,支持过滤/显示选项
交互
click: 通过ID/查询/坐标定位,智能等待drag: 在元素/坐标/Dock之间拖放hotkey: 组合键如cmd,shift,tmove: 光标定位,可选平滑移动paste: 设置剪贴板 -> 粘贴 -> 恢复press: 特殊键序列,支持重复scroll: 方向滚动(目标化 + 平滑)swipe: 手势式拖动在目标之间type: 文本 + 控制键(--clear, 延迟)
系统
app: 启动/退出/重启/隐藏/取消隐藏/切换/列出应用程序clipboard: 读取/写入剪贴板(文本/图像/文件)dialog: 点击/输入/文件/取消/列出系统对话框dock: 启动/右键点击/隐藏/显示/列出Dock项目menu: 点击/列出应用程序菜单 + 菜单扩展menubar: 列出/点击状态栏项目open: 增强版open,支持应用程序定位 + JSON负载space: 列出/切换/移动窗口(Spaces)visualizer: 执行Peekaboo视觉反馈动画window: 关闭/最小化/最大化/移动/调整大小/聚焦/列出窗口
视觉
see: 注释UI地图、快照ID、可选分析
全局运行时标志
--json/-j,--verbose/-v,--log-level <level>--no-remote,--bridge-socket <path>
快速入门(轻松路径)
peekaboo permissions
peekaboo list apps --json
peekaboo see --annotate --path /tmp/peekaboo-see.png
peekaboo click --on B1
peekaboo type "Hello" --return
常见定位参数(大多数交互命令)
- 应用程序/窗口:
--app,--pid,--window-title,--window-id,--window-index - 快照定位:
--snapshot(来自see的ID;默认最新) - 元素/坐标:
--on/--id(元素ID),--coords x,y - 聚焦控制:
--no-auto-focus,--space-switch,--bring-to-current-space,--focus-timeout-seconds,--focus-retry-count
常见捕获参数
- 输出:
--path,--format png|jpg,--retina - 定位:
--mode screen|window|frontmost,--screen-index,--window-title,--window-id - 分析:
--analyze "prompt",--annotate - 捕获引擎:
--capture-engine auto|classic|cg|modern|sckit
常见运动/输入参数
- 时序:
--duration(拖动/滑动手势),--steps,--delay(输入/滚动/按键) - 人性化运动:
--profile human|linear,--wpm(输入) - 滚动:
--direction up|down|left|right,--amount <ticks>,--smooth
示例
查看 -> 点击 -> 输入(最可靠流程)
peekaboo see --app Safari --window-title "登录" --annotate --path /tmp/see.png
peekaboo click --on B3 --app Safari
peekaboo type "user@example.com" --app Safari
peekaboo press tab --count 1 --app Safari
peekaboo type "supersecret" --app Safari --return
通过窗口ID定位
peekaboo list windows --app "Visual Studio Code" --json
peekaboo click --window-id 12345 --coords 120,160
peekaboo type "Hello from Peekaboo" --window-id 12345
捕获屏幕截图 + 分析
peekaboo image --mode screen --screen-index 0 --retina --path /tmp/screen.png
peekaboo image --app Safari --window-title "仪表盘" --analyze "总结KPI"
peekaboo see --mode screen --screen-index 0 --analyze "总结仪表盘"
实时捕获(感知运动)
peekaboo capture live --mode region --region 100,100,800,600 --duration 30 \
--active-fps 8 --idle-fps 2 --highlight-changes --path /tmp/capture
应用程序 + 窗口管理
peekaboo app launch "Safari" --open https://example.com
peekaboo window focus --app Safari --window-title "示例"
peekaboo window set-bounds --app Safari --x 50 --y 50 --width 1200 --height 800
peekaboo app quit --app Safari
菜单、菜单栏、Dock
peekaboo menu click --app Safari --item "新窗口"
peekaboo menu click --app TextEdit --path "格式 > 字体 > 显示字体"
peekaboo menu click-extra --title "WiFi"
peekaboo dock launch Safari
peekaboo menubar list --json
鼠标 + 手势输入
peekaboo move 500,300 --smooth
peekaboo drag --from B1 --to T2
peekaboo swipe --from-coords 100,500 --to-coords 100,200 --duration 800
peekaboo scroll --direction down --amount 6 --smooth
键盘输入
peekaboo hotkey --keys "cmd,shift,t"
peekaboo press escape
peekaboo type "行 1
行 2" --delay 10
注意
- 需要屏幕录制 + 辅助功能权限。
- 使用
peekaboo see --annotate在点击前识别目标。