browser-use/macos-harness

The simplest, thinnest harness that gives an LLM complete freedom to control a Mac.

解决的问题

提供一个极简、轻量的接口,使 LLM 代理能够控制 Mac 计算机。不依赖预构建的、应用特定的工具或僵化的框架,而是为代理提供原始的原语,以与任何应用程序、浏览器和本地文件系统进行交互。

工作原理

该项目以单个持久的 Python 进程运行,通过多种低级机制将 LLM 与 macOS 连接:

  • 视觉与输入:使用 CGWindow 进行截图,使用 CGEvent 直接向特定应用程序的进程 ID(PID)发送键盘和坐标输入,而无需移动用户的物理光标。
  • 可访问性:在视觉数据不足时,暴露原始的 Apple Accessibility(AX)和 Apple Events 以实现更深层次的交互。
  • 浏览器控制:与 Browser Harness 集成,通过 Chrome DevTools Protocol(CDP)控制一个真实且已登录的网页浏览器。
  • 系统访问:通过 Path 提供对本地文件系统的直接访问,通过 subprocess 提供对系统 shell 的访问。

适用人群

需要在 macOS 上执行复杂、多应用任务,但不受预定义插件或工具集限制的 AI 代理开发者。

特色

  • 无预定义工具:代理可在任务执行过程中使用原始原语(seekeytypeclickaxscript)编写自己的 Python 逻辑。
  • 非侵入式:在不将应用置于前台或移动物理鼠标指针的情况下,捕获后台窗口并发送输入。
  • 带动画的可点击穿透指针,用于视觉反馈。
  • 自引导:设计为可通过一组简单指令由代理自身完成安装和配置。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目