agent-device 是面向 AI 智能体的跨平台设备自动化命令行工具,用于控制并验证 iOS、Android、TV、Web 和桌面平台上的应用,服务 AI 驱动的移动应用测试与验证工作流。
用途:通过结构化无障碍快照与语义引用(如 @e1、@e2)检查应用 UI,执行打开、点击、输入、滚动、手势、等待、断言和弹窗处理等交互,并采集证据,支持录制 .ad 脚本用于 CI 和可重复的端到端检查。
主要能力:
- 检查:agent-device snapshot、snapshot -i(仅交互元素,推荐智能体使用)、snapshot --components(React Native 组件树)、snapshot --selectors。
- 交互:tap、fill、type、scroll、swipe、wait、assert、alert accept/dismiss。
- 证据采集:screenshot、video start/stop、logs、network start/stop(HAR)、profile start/stop、react-profile start/stop。
- 录制与回放:record start/stop、replay,并可 export maestro 导出 Maestro YAML。
- 跨平台:iOS 模拟器、Android 模拟器与真机、tvOS、macOS、Linux 桌面。
安装与前置条件:全局安装 npm install -g agent-device@latest;用 agent-device doctor、agent-device --version 验证。所有平台需 Node.js 22+;iOS/tvOS/macOS 需 Xcode 命令行工具与 macOS 辅助功能权限;Android 需 Android SDK 与配置好的 ADB;Web 需 Node.js 24+;Linux 桌面需 AT-SPI 无障碍支持。
典型流程:agent-device open "AppName" --platform ios 启动会话;snapshot -i 获取元素引用;tap/fill/wait/assert 执行并验证;screenshot 等保存证据;close 显式关闭释放资源。支持通过 AGENT_DEVICE_PLATFORM、AGENT_DEVICE_DEVICE、AGENT_DEVICE_ARTIFACTS、AGENT_DEVICE_TIMEOUT 等环境变量配置。
限制与注意:引用为会话级,屏幕变化后应重新获取快照;推荐使用选择器(如 button[label="Submit"]、testID)提升稳定性;默认超时 5 秒可能偏短;无障碍数据缺失时需应用内添加无障碍标签;部分命令(如 record、replay、export、doctor)不会被录制。文档、agent 可读文档与 GitHub 地址已在资料中提供。关于收费、价格及具体效果,资料暂未提供。