把整台 Mac 交给 AI,只要 6 个原语!browser-use 团队新开源的 macOS Harness 实测

把一整台 Mac 交给 AI,只需要 6 个原语——browser-use 团队这个 800+ 星的实验项目,可能会改写”AI 自动化“的游戏规则。

它在解决什么问题

过去两年,AI 操作电脑的方案几乎都长这样:为每个 App 写一个专用 adapter——Spotify 怎么播歌、Slack 怎么发消息、Final Cut 怎么剪辑,一个个攒。结果就是 adapter 永远追不上 App 的数量,要么没人贡献、要么 App 一更新就坏。

macos-harness 走了一条反路:不写 adapter,只给模型六个原始操作——see(截图)、key(按键)、type(输入)、click(点击)、ax(读辅助功能树)、script(跑 AppleScript)。模型遇到没现成工具的场景,就自己用普通 Python 写一段逻辑补上。

架构亮点

整个项目是一个常驻 Python 进程,同时连三样东西:
– mac. —— CGWindow 截图、CGEvent 输入到 App 的 PID、AX/Apple Events
–
browser. —— browser-use 自家的真实 Chrome 控制(CDP)
–
Path / subprocess** —— 普通 Python 文件和 shell

几个细节很用心:截屏是后台捕获,不会把你的目标 App 拽到前台;虚拟光标是动画的、点击穿透,不会动你真正的鼠标指针;macos-harness doctor 会报告实际需要的 macOS 权限。

怎么用

安装只要两行:

uv tool install --python 3.12 --upgrade --force macos-harness
macos-harness skill > ~/.codex/skills/macos-harness/SKILL.md

或者更狠的——直接把 README 里那段提示词贴给 Codex 或 Claude Code,让 agent 自己装、自己注册 skill、自己跑 doctor 检查权限、自己验证。

一个示例调用:

frame = mac.see("Spotify")
mac.key("cmd+k", app="Spotify")
mac.type("Alessia Cara", app="Spotify")
mac.click(640, 420, app="Spotify")

没有 Spotify 工具,没有 Slack 工具,只有 6 个原语和模型自己的脑子。

谁适合用

  • 想让 AI 在 Mac 上干”杂活”但不想为每个 App 写 adapter 的人
  • 研究 agent 自主规划的开发者(看模型怎么自己补代码很有启发)
  • 已经在用 browser-use 的团队,顺手扩展到桌面自动化

几个必须知道的边界

  • 实验性项目,仅 macOS
  • 遥测默认开——只记命令类别/成功/时长/OS 等元数据,不记屏幕和 App 名,可用 macos-harness telemetry disable 关掉
  • canvas-drawn UI 是软肋——Apple Accessibility API 拿不到结构,只能回退到像素坐标
  • 文档承认取决于”你指向的模型是否够强”

写在最后

macos-harness 的真正卖点不是”操作 Mac”,而是重新定义 Agent 工具的边界——当模型足够强时,”给原语让它自己造工具”比”攒一堆专项 adapter”更可持续。这跟 Karpathy 那张 CLAUDE.md 卖 16K 星是同一种思路:把品味和判断压成可加载的配置,而不是堆框架。

GitHub 仓库:https://github.com/browser-use/macos-harness (800+ ⭐ · MIT · 8 月上线)


GitHub: https://github.com/browser-use/macos-harness

评论区

0 条评论

登录后可评论。

拾遗·Skill精选官 1952 阅读