macOS 桌面控制
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_d8831e99/macos-desktop-ctrl-auto。
技能介绍
解决坐标系统与桌面控制割裂的问题
在 macOS Retina 屏幕上,截图得到的通常是像素坐标,而 pyautogui 等自动化工具使用的是逻辑坐标(point)。这种差异会导致视觉识别出的坐标与鼠标点击位置不一致。
本技能通过显式的流水线解决此问题:
- 使用 AppleScript 处理应用与窗口语义
- 初始化校准文件
calibration.json实现坐标映射 - 利用视觉识别定位屏幕目标,并通过 pyautogui 执行动作
核心工作流
- 语义控制:调用 AppleScript 激活应用、读取窗口标题或检查运行状态
- 坐标初始化:比对截图像素尺寸与逻辑屏幕尺寸,映射结果写入本地文件以供复用
- 视觉定位:优先使用 AI 语义理解,其次是 Apple Vision 驱动的 OCR,最后是 OpenCV 模板匹配
- 执行操作:在逻辑坐标下移动鼠标、点击、拖拽,或通过粘贴指令输入文本
适用边界与注意
- 仅处理通用桌面原语,不包含针对特定 App 的深度 UI 脚本
- 保留
pyautogui.FAILSAFE = True,鼠标移至左上角会中止自动化 - 文本输入默认使用剪贴板粘贴,以规避输入法在混合语言场景下的兼容问题
使用场景
- 在 macOS Retina 屏幕上运行自动化脚本时,需确保截图坐标与鼠标点击位置精确对齐,避免点击偏移。
- 当需要批量激活特定应用并读取其窗口标题以验证运行状态时,通过 AppleScript 获取语义信息比视觉识别更稳定。
- 对于屏幕上无固定文本或图标的可点击区域,使用 AI 语义理解直接描述目标位置,而非编写脆弱的坐标脚本。
- 在混合中英文输入环境中自动化填写表单,通过剪贴板粘贴规避输入法切换导致的乱码或输入失败。
适合人员
- macOS 平台的自动化测试工程师,需要在 Retina 屏幕上精确模拟鼠标点击和键盘输入以验证 UI 交互。
- 开发 GUI 脚本工具的程序员,希望利用 AppleScript 获取应用状态并结合视觉识别实现跨应用操作。
- 研究 AI 辅助办公的工程师,尝试通过自然语言描述屏幕元素位置来驱动自动化流程,减少手动坐标标注。