lahfir/agent-desktop
Native desktop automation CLI for AI agents. Control any application through OS accessibility trees with structured JSON output and deterministic element refs.
它解决了什么
AI 代理经常难以与桌面应用交互,因为它们依赖低效的方法,如截屏或像素匹配。此工具通过利用操作系统的可访问性树,为代理提供了一种结构化、机器可读的方式来观察和控制任何应用程序。
它是如何工作的
该工具使用基于 Rust 的 CLI 遍历操作系统可访问性树,将 UI 元素转换为紧凑的、机器可读的 JSON 快照。它使用唯一的引用系统(例如 @s8f3k2p9:e1)使代理能够定位特定的按钮、文本字段或菜单,而无需重新处理整个屏幕。它支持一种“渐进式骨架遍历”技术,其中代理首先获取应用的浅层概览以节省令牌,然后再钻取到特定区域。
它面向谁
- AI 代理开发者:构建需要在原生桌面应用(如 Slack、Finder 或 Xcode)中执行任务的自主代理。
- 软件工程师:通过提供的 C-ABI(FFI)将桌面自动化集成到现有工作流中,适用于 Python、Node 或 Go 等语言。
- 自动化工程师:创建可靠的、默认无头的桌面自动化脚本。
亮点
- 令牌效率:通过渐进式骨架遍历将 LLM 令牌使用量降低 78–96%。
- 原生性能:使用 Rust 构建为快速的单一二进制文件,并提供 C-ABI 绑定以进行进程内调用。
- 无头交互:支持不需要抢占焦点或移动物理光标的语义操作。
- 会话追踪:内置追踪查看器,可记录和重放代理交互会话。
摘要
一个高性能的 Rust CLI,使 AI 代理能够使用操作系统可访问性树而不是截屏来观察和与桌面应用交互。