今天介绍下 pi-computer-use,这个项目让我眼前一亮。

可操作 macOS / Windows 桌面软件,而且它不靠截图硬点坐标,而是先读 app 的无障碍树、看懂界面再动手,视觉只当兜底。
项目介绍
在介绍 pi-computer-use 之前,我们先简单了解一下 Pi。
Pi 是一款开源的 AI 编码代理,它允许开发者通过自然语言与 AI 协作完成编码任务。与传统的 AI 助手不同,Pi 更强调「工具使用」和「自主执行」的能力——它可以运行命令、操作文件、调用 API,就像一个真正的程序员一样。
而 pi-computer-use 就是为 Pi 量身打造的扩展,它的核心目标很简单:让 AI 能够像人类一样操作桌面应用程序。
不同于传统的自动化工具,pi-computer-use 采用了一种更智能的方式——通过系统的 Accessibility API(辅助功能接口)来实现对界面元素的语义化识别和操作。
简单来说,它给 AI 代理装上了「眼睛」和「双手」: 眼睛:能够观察屏幕上的窗口、按钮、输入框等界面元素 双手:能够执行点击、输入、滚动等操作
核心亮点
#### 1. 语义化操作,告别坐标依赖
传统的自动化脚本最大的痛点就是依赖像素坐标。
窗口一移动、界面一更新,之前的脚本就全废了。
pi-computer-use 采用的是语义化的操作方式——它不关心按钮在屏幕的哪个位置,而是关心这个按钮叫什么名字、是什么类型。
#### 2. 多工具协同,覆盖全操作流程
pi-computer-use 提供了一套完整的工具链,从观察到操作一应俱全: find_roots:查找当前打开的应用和窗口 observe_ui:观察窗口中可见的界面元素 search_ui:搜索界面中的文本、按钮和控件 expand_ui:展开界面的层级结构 inspect_ui:深入检查界面元素的详细信息 act_ui:执行操作(点击、输入等) read_text:读取界面上的文本内容 wait_for:等待界面变化
这套工具的设计非常精妙,形成了一个完整的"观察-思考-行动"循环。
AI 代理可以先用 observe_ui 看看当前界面有什么,然后用 search_ui 找到目标元素,最后用 act_ui 执行操作。
#### 3. 先进的架构设计,兼顾性能与安全
项目的架构设计也很值得称道。它采用了渐进式查询缓存机制,桌面界面和 CDP 页面形成一个多根树结构。
渐进式查询会被缓存,而实时操作则按照物理资源排序,这样不同的根节点就可以并行运行。
这种设计带来的好处是:重复的界面查询不需要每次都重新获取,大大提升了执行效率;同时,多个任务可以并行处理,不会互相阻塞。
另外,项目的架构以不可变的、状态作用域的观察为中心。
act_ui 工具接受一个或多个意图步骤,在相关输入之间保持焦点,验证操作交付,安全恢复,存储一个完整的后继状态,并在身份置信度允许时返回紧凑的差异。
这种设计确保了操作的可靠性和可追溯性。
快速上手
安装方法
安装 pi-computer-use 非常简单,只需要一条命令:
pi install git:github.com/injaneity/pi-computer-use@v0.4.3安装完成后,启动 Pi 并完成平台设置流程即可。
权限配置
在 macOS 上,需要为以下应用授予权限:
/Applications/pi-computer-use.app需要开启的权限包括: Accessibility(辅助功能):让 AI 能够操作界面元素 Screen Recording(屏幕录制):让 AI 能够"看见"屏幕内容
在较新的 macOS 版本中,屏幕录制权限显示为"屏幕和系统音频录制"。
使用示例
安装完成后,你可以在 Pi 中使用 /computer-use 命令查看当前的配置状态。
以下是一个典型的使用流程示例: - 1. 查找窗口:使用 find_roots 获取当前打开的窗口列表 - 2. 观察界面:使用 observe_ui 查看目标窗口中的界面元素 - 3. 搜索元素:使用 search_ui 查找名为"保存"的按钮 - 4. 执行操作:使用 act_ui 点击该按钮
所有这些操作都不需要你编写复杂的脚本,AI 代理会自动完成整个流程。
写在最后
pi-computer-use 这个项目做的事情,就是把 AI 和操作系统之间的那层玻璃敲碎。它让 AI 不再只是一个只会思考的大脑,而是一个能够动手做事的完整智能体。
当 AI 能截图、能点击、能输入,那些重复的界面操作、跨应用协作的流程、"点五次下一步再点确认"的繁琐步骤,或许真的可以交给它了。
如果你也对 AI 自动化感兴趣,不妨去 GitHub 上看看这个项目: