MacOS Desktop Control

🖥️ macOS视觉自动化控制中心

专为macOS设计的桌面自动化控制工具,融合AppleScript语义控制与视觉AI识别,支持截图、OCR、鼠标键盘操作,中文优化且具备坐标校准机制。

收藏
4.4k
安装
1k
版本
1.1.2
CLS 安全性认证2026-07-19
点击查看完整报告 >

使用说明

核心功能

macos-desktop-control 是一款面向 macOS 的专业级桌面自动化技能,采用 AppleScript 与 Python/pyautogui 的双层架构设计,实现了语义控制与视觉控制的明确分离。

核心能力模块

1. 应用与窗口控制(AppleScript层)

  • 按名称或 bundle 路径激活应用
  • 检测应用运行状态、读取前台应用
  • 获取窗口标题、统计窗口数量、列示窗口清单

2. 屏幕捕获与图像处理

  • 捕获逻辑分辨率截图(自动适配 Retina 屏幕)
  • 智能坐标映射校准(像素坐标与点坐标转换)
  • 图像区域裁剪,支持工作流复用

3. 视觉目标定位(三层降级策略)

  • 首选:AI 语义理解——适合动态界面、无固定模板、需上下文理解的场景
  • 备选:Apple Vision OCR——文本驱动目标,支持区域约束搜索
  • 兜底:OpenCV 模板匹配——稳定可复用的视觉模板

4. 鼠标与键盘控制(pyautogui层)

  • 移动、单击、双击、右键、拖拽等完整鼠标操作
  • 文本粘贴(默认,规避输入法问题)、单键按压、组合快捷键
  • 显式按键按住/释放机制

显著优点

  • 中文深度优化:特别处理中文输入/识别,无额外 Tesseract 依赖
  • Retina 智能适配:自动检测并校准逻辑坐标与物理像素比例
  • 安全设计:pyautogui.FAILSAFE 机制,鼠标移至左上角自动中止
  • 分层架构清晰:AppleScript 专注语义状态,视觉操作走截图+AI/OCR/OpenCV
  • 降级策略稳健:AI → OCR → OpenCV 的三级容错,提升复杂界面成功率
  • 懒加载校准:首次使用自动初始化,后续复用缓存配置

潜在局限与风险

  • 单屏限制:当前版本假设单主屏幕,多屏环境可能坐标异常
  • 权限依赖:必须授予终端「屏幕录制」与「辅助功能」权限
  • AI 依赖外部:语义理解需外部 AI 服务调用,非内置能力
  • 版本 1 局限:Retina 适配优先,非 Retina 屏幕测试覆盖有限
  • AppleScript UI 排除:明确不支持深层无障碍树操作,部分复杂应用受限

适合人群

  • macOS 自动化开发者与高级用户
  • 需要跨应用工作流编排的 RPA 场景
  • 中文环境下的自动化测试与运维团队
  • 偏好「视觉优先」而非「无障碍 API」的界面自动化方案

常规风险提示

  • 坐标漂移:屏幕分辨率或显示缩放变更后需重新校准
  • 权限撤销:系统更新可能重置隐私权限,导致功能失效
  • 剪贴板覆盖:默认粘贴模式会改写系统剪贴板内容
  • 界面变化:依赖视觉匹配的功能在 UI 改版时需更新模板

安全解读

核心用法

该 Skill 提供 macOS 桌面自动化控制能力,采用"语义控制 + 视觉控制"双轨架构:

应用与窗口控制:通过 AppleScript 实现应用激活、窗口标题读取、运行状态查询等语义操作,不涉及深度 UI 脚本。

视觉目标定位:构建三级 fallback 机制——AI 语义理解优先 → OCR 文字识别次之 → OpenCV 模板匹配保底,支持 Retina 屏幕坐标自动校准。

输入输出操作:鼠标/键盘控制基于 pyautogui,文本输入统一采用剪贴板粘贴策略以规避输入法兼容问题;截图保存至 /tmp/macos_desktop_control/ 目录。

典型工作流:激活应用 → 读取窗口状态 → 截图 → AI/OCR/OpenCV 定位目标 → 执行点击/输入 → 验证结果。

显著优点

  • 中文优化明确:文档声明中文兼容,粘贴策略解决中英文混合输入痛点
  • 架构边界清晰:AppleScript 限于语义层,视觉操作走截图+pyautogui,避免 AppleScript UI 脚本的脆弱性
  • 安全机制内置pyautogui.FAILSAFE = True 提供物理中止手段(移鼠标至左上角)
  • 坐标系统自洽:自动处理 Retina 屏幕的逻辑坐标与像素坐标转换,降低开发者心智负担
  • 依赖可信度高:pyautogui、Pillow、opencv-python、PyObjC 均为成熟开源项目
  • 零网络外泄:纯本地操作,无外部 API 调用

潜在局限

  • 权限门槛较高:需手动授予"屏幕录制"和"辅助功能"两项系统级权限
  • 单屏假设:V1 版本假设单主屏幕,多屏场景可能异常
  • 临时文件残留:敏感截图可能滞留 /tmp/ 目录
  • 子进程注入风险:AppleScript 拼接用户输入,虽无公开利用但仍需验证
  • T3 来源级别:社区/个人维护项目,无企业级安全背书
  • 审计日志缺失:未内置操作追溯机制

适合人群

  • 自动化测试工程师、RPA 开发者、需要批量操作 macOS 应用的高级用户
  • 能理解和接受系统权限授权流程的技术用户
  • 不适合:对权限敏感的企业环境、无技术背景的普通终端用户

常规风险

| 风险项 | 等级 | 说明 |
|--------|------|------|
| 屏幕录制内容泄露 | 中 | 截图暂存临时目录,会话结束后建议手动清理 |
| 剪贴板数据暴露 | 低 | 所有文本经剪贴板中转,敏感信息可能残留 |
| 未授权自动化操作 | 中 | FAILSAFE 可物理中止,但恶意调用仍可能干扰用户 |
| AppleScript 注入 | 中 | 应用名/路径未严格过滤,理论上存在拼接风险 |
| 权限滥用 | 低 | 辅助功能权限一旦被授予,Skill 可模拟任意输入 |

使用建议

1. 首次运行前在受控环境测试,确认坐标校准准确
2. 处理敏感信息后执行 rm -rf /tmp/macos_desktop_control/

3. 系统设置中定期检查"辅助功能"授权列表,移除不再使用的条目

4. 高敏感场景启用屏幕录制时,考虑物理遮挡摄像头或关闭敏感窗口

MacOS Desktop Control 内容

scripts文件夹
手动下载zip · 18.6 kB
applescript_app.pytext/plain
请选择文件