peekaboo¶
Skill 简介¶
peekaboo 是一个功能强大的 macOS 用户界面(UI)自动化命令行工具(CLI),它允许开发者通过命令行指令捕获、操控和自动化各种 macOS UI 元素。这个工具不仅能够截取屏幕、识别 UI 元素,还能模拟用户输入(如鼠标点击、键盘输入、拖拽操作等),并且支持对应用程序、窗口、菜单栏等进行管理。通过 peekaboo,开发者可以编写脚本,实现对 macOS 应用程序的自动化操作,从而提高开发效率、减少重复性劳动。
在日常开发过程中,开发者常常需要执行一些重复性的 UI 操作,例如自动登录、批量处理文件、自动化测试等。peekaboo 提供了一种便捷的方式,通过命令行指令即可完成这些操作。此外,peekaboo 还支持将操作结果以 JSON 格式输出,方便与其他工具或脚本集成,进一步增强了其适用性。
主要功能¶
peekaboo 提供了丰富的功能,涵盖了 UI 自动化和系统管理的各个方面。以下是一些核心功能的详细介绍:
-
UI 元素识别与操作
peekaboo 提供了see和click等命令,用于识别和操作 UI 元素。see命令可以生成带有注释的 UI 快照,帮助开发者识别目标元素的位置和属性。click命令则可以根据元素 ID、坐标或其他查询条件,模拟鼠标点击操作。例如:
bash peekaboo see --app Safari --window-title "Login" --annotate --path /tmp/see.png peekaboo click --on B3 --app Safari -
屏幕捕获与视频处理
capture命令支持实时屏幕捕获和视频处理,可以将屏幕内容保存为图片或视频文件,并支持对捕获的内容进行分析。例如:
bash peekaboo capture live --mode region --region 100,100,800,600 --duration 30 --active-fps 8 --idle-fps 2 --highlight-changes --path /tmp/capture -
应用程序与窗口管理
app和window命令提供了对应用程序和窗口的全面管理功能,包括启动、退出、隐藏、显示、聚焦、移动和调整窗口大小等。例如:
bash peekaboo app launch "Safari" --open https://example.com peekaboo window focus --app Safari --window-title "Example" peekaboo window set-bounds --app Safari --x 50 --y 50 --width 1200 --height 800 peekaboo app quit --app Safari -
输入模拟
type、press和hotkey等命令支持模拟各种键盘输入,包括文本输入、特殊键序列和组合键。例如:
bash peekaboo type "Hello World" --return peekaboo press escape peekaboo hotkey --keys "cmd,shift,t" -
剪贴板操作
clipboard命令可以读取和写入剪贴板内容,支持文本、图片和文件。例如:
bash peekaboo clipboard read --text peekaboo clipboard write --text "Pasted from Peekaboo" -
菜单与菜单栏操作
menu和menubar命令允许开发者点击应用程序菜单和菜单栏项。例如:
bash peekaboo menu click --app Safari --item "New Window" peekaboo menu click-extra --title "WiFi" peekaboo menubar list --json
使用场景¶
-
自动化测试
在开发过程中,开发者需要频繁进行 UI 自动化测试。peekaboo 可以模拟用户操作,验证应用程序的功能和稳定性。例如,自动登录、导航到特定页面、提交表单等。 -
批量处理任务
对于需要批量处理文件或数据的任务,peekaboo 可以自动化打开应用程序、加载文件、执行操作并保存结果。例如,自动将一批图片转换为特定格式并保存。 -
系统监控与管理
peekaboo 可以用于监控系统状态、管理应用程序和窗口。例如,自动启动或关闭应用程序、调整窗口大小和位置、监控剪贴板内容等。 -
脚本集成
peekaboo 支持将操作结果以 JSON 格式输出,方便与其他脚本或工具集成。例如,将捕获的屏幕内容发送到远程服务器进行分析,或将操作日志记录到文件中。 -
辅助功能开发
对于需要开发辅助功能的开发者,peekaboo 提供了丰富的 UI 操作命令,可以实现复杂的用户交互。例如,开发自定义的屏幕阅读器或自动化助手。
如何使用¶
安装¶
peekaboo 可以通过 Homebrew 安装。打开终端并运行以下命令:
brew install steipete/tap/peekaboo
配置¶
安装完成后,可以通过以下命令查看版本信息,确保安装成功:
peekaboo --version
前置条件¶
使用 peekaboo 需要授予 macOS 的“屏幕录制”和“辅助功能”权限。可以在“系统偏好设置” -> “安全性与隐私” -> “隐私”中进行设置。
基本命令¶
以下是一些常用的基本命令:
- 检查权限状态
bash peekaboo permissions - 列出所有应用程序
bash peekaboo list apps --json - 截取屏幕截图
bash peekaboo image --mode screen --screen-index 0 --retina --path /tmp/screen.png
示例¶
示例 1:自动化登录流程¶
假设需要自动化登录到某个应用程序,可以按照以下步骤操作:
# 查看应用程序窗口列表
peekaboo list windows --app "LoginApp" --json
# 模拟点击登录按钮
peekaboo click --window-id 12345 --coords 200,300
# 输入用户名
peekaboo type "user@example.com" --window-id 12345
# 按下 Tab 键切换到密码输入框
peekaboo press tab --count 1 --window-id 12345
# 输入密码
peekaboo type "supersecret" --window-id 12345 --return
示例 2:自动化截图并分析¶
假设需要定期截取屏幕内容并进行分析,可以按照以下步骤操作:
# 截取屏幕截图
peekaboo image --mode screen --screen-index 0 --retina --path /tmp/screen.png
# 对截图进行分析,例如识别文本内容
peekaboo see --mode screen --screen-index 0 --analyze "Summarize the dashboard"
总结¶
peekaboo 是一个功能强大的 macOS UI 自动化工具,适用于各种开发场景。它不仅能够简化重复性操作,还能通过脚本集成,实现复杂的自动化流程。对于需要频繁进行 UI 操作或系统管理的开发者,peekaboo 是一个不可或缺的工具。通过合理使用 peekaboo,开发者可以大幅提高工作效率,专注于更具创造性的开发任务。
无论是为了自动化测试、批量处理任务,还是为了系统监控与管理,peekaboo 都能提供可靠的解决方案。其丰富的命令和灵活的参数配置,使其成为 macOS 平台上不可或缺的开发工具。