SuperAPI AI 工具集

automating-mac-apps

通用与其它

查看项目

更新于 10-15 23:57

技能介绍

用途:为 macOS 应用自动化提供基础参考,可据此编写 AppleScript、JXA 或 PyXA 脚本,控制 Calendar、Notes、Mail、Keynote、Excel、Reminders 等应用,并作为应用专属技能的底层支撑。

主要能力:解释 Apple Events 是 macOS 自动化的进程间通信层;AppleScript 是原始 DSL,适合发现应用字典、探索字典、UI 脚本和快速原型;JXA 是 JavaScript 绑定,适合数据处理、JSON 与可维护逻辑;ObjC Bridge 可访问 Foundation、AppKit 等框架。推荐的混合模式是先以 AppleScript 发现,再用 JXA 实现生产逻辑。

使用方式:先用 Script Editor 识别目标应用与字典,做最小可用命令原型,再按规则选语言,加入错误处理与超时,用只读命令验证输出,最后通过 osascript 集成到 CLI 或流水线。字典缺失或不完整时,才回退到 UI 脚本(System Events)。首次自动化前可运行权限预热脚本,如 skills/automating-mac-apps/scripts/request_automation_permissions.sh 或 .py,需在打算运行自动化的同一宿主(终端或 Python)执行,并在提示中点击允许。PyXA 安装:pip install mac-pyxa(要求 Python 3.10+、macOS 12+,PyObjC 会自动安装),可用 python3 -c "import PyXA; print(f'PyXA {PyXA.version} installed successfully')" 验证。PyObjC 安装:pip install pyobjc。

适用场景:需要控制本机 Mac 应用、读取应用数据、进行应用间集成或构建自动化流水线时。

限制:JXA 与 AppleScript 为遗留技术(最后重要更新为 2015-2016 年),JXA 自 2016 年起无更新;macOS Sequoia 15 有更严格的 TCC 权限与 Apple Events 安全,需在目标系统测试。不适用于跨平台自动化、完整 UI 测试(应使用 XCUITest 或 Appium)、阻止 Automation/Accessibility 权限的环境、非 macOS 平台以及简单 shell 脚本任务。安全上应最小化权限、生产脚本使用代码签名、凭据存 Keychain、校验输入防止注入。CI/CD 权限管理与 AppleScript 专项流程可参考相关技能。