callstack/agent-device

CLI to control iOS and Android devices for AI agents

TITLE:

What it solves

agent-device 为 AI 编码代理提供了一种跨多平台与应用交互并验证的方式。它解决了代理无法“看到”或控制实际运行的应用以验证其代码更改在真实环境中是否有效的问题,弥合了编写代码与端到端验证之间的差距。

How it works

该工具以 CLI 形式运行,代理可使用它来检查应用状态并执行操作。它采用“检查-执行-验证”循环:代理读取 UI 的令牌高效可访问性快照(使用应用的可访问性树),通过引用(refs)或选择器识别元素,并执行命令以与 UI 交互(例如,点击、填充字段、滚动)。

它与各种平台特定的后端集成:用于 iOS/tvOS 的 XCTest,用于 Android 的 ADB,用于 Vega 虚拟设备的 Vega CLI/VDA,以及用于 Linux 的 AT-SPI,此外还有用于 macOS 的本地帮助程序和用于 Web 自动化的 agent-browser

Who it’s for

  • AI 编码代理:使用 Cursor、Codex、Claude Code 或 Windsurf 等工具的开发者,希望他们的代理能够验证正在运行的应用中的更改。
  • QA 工程师:构建 AI 驱动的 QA 代理的团队,以自动化发现和错误报告漏洞。
  • 开发者:从事原生 iOS/Android、React Native、Expo 和 Flutter 应用的开发者。

Highlights

  • 多平台支持:适用于 iOS、Android、tvOS、Android TV、Amazon Vega OS TV、网页、macOS 和 Linux。
  • 令牌高效快照:使用可访问性树为代理提供 UI 的紧凑表示。
  • 证据捕获:能够保存截图、视频、日志、追踪和 React 配置文件以供审查。
  • 工作流回放:将工作步骤保存为 .ad 脚本或导出为 Maestro YAML 以进行可重复测试。
  • 广泛框架支持:与原生应用、React Native、Expo 和 Flutter 兼容。