macOSUI自动化工具Skill peekaboo

Peekaboo是一款专为macOS设计的UI自动化命令行工具,用于捕获屏幕、驱动输入、管理应用程序和窗口,支持脚本化和JSON输出,适用于自动化测试、任务自动化、UI交互模拟,关键词:macOS, UI自动化, CLI工具, 自动化测试, 脚本化, JSON输出, 屏幕捕获, 输入驱动, 应用程序管理。

测试 0 次安装 0 次浏览 更新于 3/24/2026

名称: 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用于脚本化。运行peekaboopeekaboo <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,t
  • move: 光标定位,可选平滑移动
  • 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在点击前识别目标。