mac-use

🖥️ 可视化操控 macOS 的 AI 助手

基于 Apple Vision 框架的 macOS GUI 自动化工具,通过截图-OCR-点击闭环实现可视化应用控制,数据本地处理保障隐私安全。

收藏
3.2k
安装
1.3k
版本
v1.0.0
CLS 安全性认证2026-06-02
点击查看完整报告 >

使用说明

核心用法

mac-use 采用「截图 → OCR 识别 → 元素编号 → 点击操作 → 验证结果」的闭环工作流控制 macOS 图形界面。用户通过 screenshot 命令捕获目标窗口,Apple Vision 框架在本地完成 OCR 检测并生成带编号标注的 1000×1000 画布图像,返回 JSON 格式的元素列表(含编号、文本内容、中心坐标)。随后可通过 clicknum 按编号点击文本元素,或使用 click 以画布坐标点击无文本图标,配合 type(剪贴板粘贴)、key(按键组合)、scroll 完成完整交互。每次操作后需再次截图验证,形成可靠的视觉反馈循环。

显著优点

可视化精准控制:OCR 标注将抽象 UI 转化为可编号引用的元素,大幅降低坐标猜测成本;本地化隐私保障:Apple Vision 框架设备端运行,截图仅存于 /tmp,无网络传输;多语言输入支持type 命令采用剪贴板粘贴机制,完美支持中文、日文等 Unicode 字符;多窗口精细管理list 命令枚举所有可见窗口,,--id 参数精准定位弹窗、小程序等独立窗口;安全兜底机制:集成 pyautogui.FAILSAFE,鼠标移至屏幕角落即可中止失控自动化。

潜在缺点与局限性

平台强绑定:仅支持 macOS,且依赖 Apple Vision 框架,Intel Mac 及旧版系统兼容性存疑;OCR 识别盲区:纯图标按钮(箭头、购物车、关闭按钮)无法被编号,需退化为坐标点击,增加使用门槛;权限门槛较高:需用户手动授予屏幕录制和辅助功能权限,首次配置体验较重;剪贴板副作用type 命令覆盖系统剪贴板内容,可能干扰用户正常工作流;无断言机制:缺乏内置的「等待元素出现/消失」逻辑,复杂异步场景需人工插入 sleep坐标系统一性:1000×1000 画布坐标与物理像素分离,高分屏场景下直觉性下降。

适合的目标群体

自动化测试工程师:为 macOS 原生应用构建可视化回归测试流程;效率极客:将重复性 GUI 操作(报表导出、数据录入、定时任务)脚本化;AI Agent 开发者:赋予大模型「看见屏幕并操作」的具身能力,实现真正的 GUI Agent;无障碍辅助场景:为视障用户或操作受限者提供语音/文本驱动的应用控制接口;教学演示制作:通过编号标注生成清晰的操作指引截图序列。

使用风险

权限失控风险:辅助功能权限一旦被恶意利用,可导致键盘记录或未经授权的操作,建议在专用账户或虚拟机中运行;剪贴板敏感信息泄露type 命令将文本写入剪贴板,若系统存在剪贴板历史工具(如 Paste、Maccy),密码等敏感信息可能被记录——务必遵守「不输入密码」的警告;OCR 误识别导致误操作:模糊界面、艺术字体或低对比度场景下编号可能错位,点击前务必核对标注图像;窗口状态竞争:若目标应用在截图与点击之间弹出对话框或改变布局,,clicknum 可能点击错误位置,高频操作场景建议降低系统动画速度;依赖版本漂移requirements.txt 使用 >= 而非 == 锁定版本,长期运行可能因 PyAutoGUI 或 Pillow 更新引入破坏性变更。

安全解读

核心用法

mac-use 是一款专为 macOS 设计的 GUI 自动化工具,采用「截图 → OCR 识别 → 点击 → 验证」的闭环工作流。它通过调用 Apple Vision 框架对屏幕截图进行本地 OCR 处理,检测所有可见文本元素并标注编号,让用户能够通过编号精确点击目标,无需依赖坐标猜测。

典型使用场景

  • 在 WeChat 小程序中点餐、购物
  • 自动化操作 Safari、Chrome 等浏览器
  • 批量处理桌面应用的重复性点击任务
  • 远程协助场景下的 Mac 桌面控制

工作流程
1. open -a "App Name" 启动目标应用

2. screenshot 捕获窗口并获取带编号的元素列表

3. clicknum N 点击指定编号元素

4. typekey 输入文本或按键

5. 循环截图验证操作结果

坐标系统:截图统一映射到 1000×1000 画布,左上角为原点 (0,0),便于跨分辨率适配。

显著优点

| 优势 | 说明 |
|------|------|
| **纯本地处理** | Apple Vision OCR 完全本地运行,截图不上传云端,隐私零风险 |
| **无需坐标猜测** | OCR 识别 + 编号标注,告别传统自动化工具的坐标试错 |
| **多语言支持** | 借助剪贴板粘贴 (`pbcopy`),完美支持中文、日文、Emoji 等 Unicode 输入 |
| **多窗口管理** | `--id` 参数精确区分同应用多窗口,弹窗、小程序面板均可独立控制 |
| **功能完备** | 涵盖点击、滚动、输入、快捷键、窗口激活等全套 GUI 操作 |
| **安全可信** | 开源代码,T2 级可信来源,无网络外发,依赖均为知名开源库 |

潜在缺点与局限性

1. macOS 独占:依赖 Apple Vision 和 screencapture,无法在其他平台运行
2. 权限门槛:需手动授予「屏幕录制」和「辅助功能」权限,首次使用需配置

3. OCR 局限:纯图标按钮(如箭头、购物车图标)无法识别,需退回到坐标点击

4. 分辨率适配:虽然使用 1000×1000 画布抽象坐标,但极端分辨率下可能存在偏差

5. 无密码输入:工具明确禁止输入密码,安全场景受限

6. 性能开销:每次交互需截图+OCR+标注,高频操作下延迟明显高于原生 API

适合人群

  • 自动化测试工程师:快速构建 macOS 应用的 E2E 测试流程
  • 效率工具爱好者:将重复性桌面操作(如定时打卡、批量填表)脚本化
  • 远程办公用户:通过自然语言指令远程控制 Mac 执行复杂任务
  • 无障碍需求用户:结合语音或大模型,实现免鼠标键盘的 Mac 操作

常规风险

| 风险类型 | 等级 | 说明 |
|----------|------|------|
| **权限滥用** | 中 | 辅助功能权限理论上可被用于监控键盘输入,但工具开源可审计 |
| **截图残留** | 低 | `/tmp` 目录的截图文件可能短暂留存,含敏感界面信息 |
| **误操作风险** | 中 | 编号看错可能导致点击错误按钮,建议每次操作后截图验证 |
| **依赖更新** | 低 | pyautogui 等库的更新可能引入 Breaking Change |

缓解建议:在敏感环境使用时,可配置临时目录加密或定期清理 /tmp/mac_use* 文件;关键操作前务必截图确认目标编号。

mac-use 内容

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