核心功能概述
desktop-control-for-macos 是一套面向 macOS 的桌面自动化技能,采用语义控制与视觉控制分离的双轨架构:AppleScript 处理应用和窗口的语义级操作(启动、激活、窗口枚举),而 Python + pyautogui + OCR/OpenCV 负责视觉层面的 UI 交互(点击、输入、拖拽)。
显著优点
1. 架构清晰,边界明确:刻意规避 AppleScript UI Scripting 的脆弱性,将易变的视觉交互交给更稳定的截图-识别-执行管线,语义操作则由原生 AppleScript 保证可靠性。
2. 中文深度优化:OCR 采用 Apple Vision 框架(PyObjC 绑定),无需 Tesseract 即可原生支持中文识别;文本输入统一使用剪贴板粘贴策略,规避输入法模拟的编码问题。
3. Retina 屏幕坐标智能校准:自动检测逻辑坐标(point)与物理像素(pixel)的缩放比例(常见 2x),生成可复用的校准文件,解决截图识别与鼠标点击的坐标系错位难题。
4. 模块化脚本设计:10+ 独立脚本覆盖坐标初始化、截图、OCR 定位、图像模板匹配、鼠标/键盘操作、应用控制,便于组合成复杂工作流。
5. 内置安全机制:pyautogui.FAILSAFE = True 确保鼠标移至左上角即可紧急中断自动化。
潜在局限与风险
- 硬件依赖:V1 仅适配单屏 Retina 显示器,非 Retina、缩放显示、多屏场景需后续扩展。
- 权限门槛:必须授予终端「屏幕录制」与「辅助功能」权限,企业设备可能受 MDM 策略限制。
- 视觉定位的脆弱性:OCR 和图像匹配受界面主题、分辨率、窗口缩放影响,需设计重试或兜底逻辑。
- 剪贴板污染:文本输入依赖剪贴板,会覆盖用户原有内容,敏感场景需额外处理。
适合人群
- 需要自动化 macOS 桌面工作流的技术用户与开发者
- 中文环境下需稳定跨应用输入的场景(客服、数据录入、多语言测试)
- 希望用视觉而非 Accessibility API 处理现代 App(如 Electron、SwiftUI)不稳定层级结构的自动化方案
安全与合规提示
该技能具备系统级控制能力,建议在受控环境或虚拟机中运行,避免在含有敏感信息的设备上执行未经审查的工作流。