Agent Device 设备验证 CLI

让编码代理在真实运行的应用中检查、操作并验证改动。

Star 数
★ 5.3k
最近更新
今天
License
MIT
主语言
TypeScript

30 秒速览

运行形态
命令行工具MCP 服务器代码库 / SDK
可在哪里用
通用 · 跨平台Codex · Claude Code
费用
免费,无需付费服务
上手难度
中 · 需要几步配置
开始前需要
Node.js 22.12 或更高版本用于 Web 自动化的 Node.js 24 或更高版本Shell / 命令行网络访问本地文件系统MCP Server
典型场景
React Native 或 Expo 开发者在 iOS Simulator 或 Android Emulator 上修改界面后,让编码代理通过 snapshot、press 和 fill 验证关键流程。
不适合
  • 需要完全离线或无法安装 Node.js 22.12+ 的团队
  • 只做 Web 自动化但停留在 Node.js 22 的项目
  • 需要物理 Fire TV 或 Vega OS 完整截图与选择器支持的团队

这个 Agent 能做什么,适合哪些场景?

agent-device 是面向编码代理和 QA 工具的命令行设备自动化工具,用于检查、操作和验证正在运行的应用。它支持 iOS、Android、tvOS、Android TV、Vega Virtual Device 上的 Amazon Vega OS TV、Web、macOS 和 Linux,但各目标可用的命令与证据类型不同。CLI 以会话保存设备状态,并通过 iOS/tvOS 的 XCTest、Android 的 ADB 与 snapshot helper、VVD 的 Vega CLI/VDA、macOS 本地 helper 及 Linux AT-SPI 执行操作。它可输出无障碍快照、截图、视频、日志、trace、网络与性能数据等证据,并可将成功流程保存为 .ad 脚本或导出为严格的 Maestro YAML。它既可在本地调试设备和模拟器,也可用于 CI/CD 重放验证,或配置为云端/远程执行。

先用 agent-device open <应用> --platform ios 等命令启动会话,再用 agent-device snapshot -i 读取无障碍树并取得当前 @eN 引用。代理可对最新快照中的引用或 selector 执行 press、fill、滚动、手势、等待、断言和 alert 处理,并通过 --settle 获取界面变化。它还能调用 screenshot 保存截图,以及收集视频、日志、trace、网络数据、性能样本、崩溃详情和 React profile。工作流可保存为 .ad 脚本以供本地或 CI 重放,必要时导出严格的 Maestro YAML;Node.js 项目也可使用 typed client 或公开 subpath,其中 agent-device/android-adb 提供 Android ADB、logcat、剪贴板、键盘、应用和端口反向管理接口。

  1. React Native 或 Expo 开发者在 iOS Simulator 或 Android Emulator 上修改界面后,让编码代理通过 snapshot、press 和 fill 验证关键流程。
  2. 移动端 QA 工程师把一次已成功的登录、表单或支付前置流程保存为 .ad 脚本,并在 CI 中重放并保留截图与日志。
  3. 原生 iOS、Android 或 Flutter 团队在无障碍信息不足时,使用截图、视频和诊断数据为缺陷报告保留可审查证据。
  4. 电视应用团队在 Vega Virtual Device 上发现应用、控制生命周期,并执行完整的 TV 遥控器操作。
  5. 负责性能排查的 React Native 团队在复现 UI 问题时收集性能样本、trace、网络数据或 React profile。

如何安装或部署这个 Agent?

安装前需准备 Node.js 22.12 或更高版本;Web 自动化需 Node.js 24 或更高版本。执行:npm install -g agent-device@latest;随后执行:agent-device doctor。README 未列出安装 CLI 所需的账号或凭据;不同目标的设备与运行环境要求由安装文档说明。

如何使用这个 Agent?

先执行 agent-device doctor 检查环境,再执行 agent-device help workflow 查看工作流帮助。一个可运行的 iOS 示例是:agent-device open Contacts --platform ios;agent-device snapshot -i;agent-device press @e2 --settle;agent-device fill @e7 "Ada" --settle;agent-device screenshot ./contact-form.png;agent-device close。@eN 引用只能使用最新输出中的引用;在 --settle 后应使用 diff 中的新引用。

这个 Agent 有哪些优点和局限?

优点
  • 采用 inspect-act-verify 流程:代理可读取当前状态后逐步决定下一条命令,而不是仅执行预写测试。
  • 在一个 CLI 中覆盖移动端、TV、桌面和基础 Web 自动化,并为不同目标调用其对应的底层自动化接口。
  • 无障碍快照提供 token-efficient 的界面状态,且可结合 refs、selectors、截图和视频作为操作与审查证据。
  • 可将已验证流程保存为 .ad 脚本,或导出严格的 Maestro YAML,便于重复执行和接入 CI。
  • 为 React Native 诊断提供 React component tree、React profile 与性能相关证据能力。
局限
  • 需要 Node.js 22.12 或更高版本;若使用 Web 自动化,则要求 Node.js 24 或更高版本。
  • 各平台支持的命令和证据类型不同,不能假设某个目标具备所有能力。
  • Vega OS 初期仅支持 VVD,且仅覆盖发现、应用生命周期和完整遥控器控制;物理 Fire TV、capture 与 selector backend 尚不支持。
  • 操作引用会随界面变化失效,必须使用最新 snapshot 或 --settle diff 中的 @eN 引用。
  • 无障碍标签、角色和 test ID 不佳时,快照可靠性会下降,需依赖截图或视频等替代证据。

这个 Agent 与同类方案有什么区别?

与 Appium、Detox、Maestro 这类需要团队编写和维护测试套件的工具相比,agent-device 的定位是让代理在运行时读取应用状态并逐步选择命令。它也可作为补充:将运行保存为 .ad 脚本,或导出为严格的 Maestro YAML。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Agent Device 设备验证 CLI 当前 74 · 存在缺口 命令行工具免费 ★ 5.3k 今天 TypeScript Codex · Claude Code
Playwright 浏览器自动化 MCP 65 · 存在缺口 MCP 服务器免费 ★ 39k 1 天前 TypeScript Codex · Claude Code
iOS 模拟器技能包 71 · 存在缺口 Agent 插件 / 技能免费 ★ 1.3k 今天 Python Claude Code
Expo Skills —— Expo 官方 AI 代理技能集 67 · 存在缺口 Agent 插件 / 技能免费版 + 付费版 ★ 4.1k 6 天前 Shell Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
74/ 100 五分制 3.7 / 5
信任安全 16/29
可靠稳定 9/14
适用触发 15/18
规范维护 15/18
有效结果 12/13
证据核验 7/8
查看各维度的扣分理由
信任安全16 / 29 · 2.8/5

CLI、MCP 和 SDK 共用命令路径;AI SDK 将 session 固定并隐藏 stateDir,文档也说明设备能力与数据采集路径。安全证据给出 runner token 的权限与监听边界,并要求漏洞私下报告。扣分原因:常规驱动流程直接开始操作,确认策略仅提供可选 approval;设备交互、安装、网络采集等会产生外部影响,通用撤销机制未见;依赖清单和漏洞缓解证据不在所给材料中。Callstack 作者、MIT 许可及对 agent-browser 的引用清楚,但发布者身份仍按题设视为未验证。

可靠稳定9 / 14 · 3.2/5

README、技能卡和 SDK 对会话、引用更新和关闭流程大体一致;平台能力矩阵与 capabilities 命令明确指出支持深度不同。错误包含纠正提示,AI SDK 还将错误规范化。扣分原因:材料没有完整覆盖所有命令和依赖可用性;技能卡强调的快速开始与 README 的 doctor 预检建议存在轻微张力,且所给静态材料不能证明运行结果。

适用触发15 / 18 · 4.2/5

材料面向编码代理和 QA 工作流,列出本地、CI、云端及多平台场景,并提供按平台技能。能力矩阵、命令说明和明确的平台子集支持边界意识。扣分原因:技能适用范围仍较宽,且触发条件与支持平台的详细判断主要依赖外部文档;环境要求涉及 Node、原生工具链、设备及云服务,配置负担不低。

规范维护15 / 18 · 4.2/5

README、安装、命令、API、集成、FAQ、贡献和安全入口组织清晰;例子覆盖 CLI、MCP、Node API 和常见任务。材料明确 Node 版本要求、平台能力差异、物理设备验证缺口等限制,MIT 文本完整。扣分原因:给出的材料没有 changelog 或发布节奏说明;包版本为开发版本,维护责任主要由作者字段及安全报告流程体现,响应承诺不等同于明确的维护团队职责。

有效结果12 / 13 · 4.6/5

可访问性快照、引用、差异、回放和证据采集形成可操作输出,且同一运行时覆盖 CLI、MCP、SDK,解决代理验证真实应用状态的明确需求。扣分原因:设备、模拟器、原生依赖及云服务带来安装和运行成本,所给静态证据不足以量化相对收益。

证据核验7 / 8 · 4.4/5

多项主张可追溯到命令示例、包入口、工作流、ADR 和详细设备验证记录;证据记录明确区分已验证内容、实验和未覆盖条件。README 与代码对 CLI/MCP/SDK 结构有一定交叉支持。扣分原因:许多平台能力和支持细节只在 README 中概述,材料未提供完整文档或依赖清单作交叉核对;不把证据记录视为本次独立执行验证。

风险与缓解建议
  • 代理可直接对设备和应用执行操作;对安装、卸载、输入或云端设备操作,应先确认目标和授权范围。
  • 平台能力与环境依赖各异。使用前检查对应平台的 capabilities、安装要求及设备云配置;本评估未执行任何命令。
证据充分度:低 评估于 2026年11月8日 审查版本 b24ecf2091e9
查看完整评分方法 →
你是这个项目的维护者?把 FARS 徽章加到 README

徽章显示当前的评审分数和结论,点击回到本页。重新评审后约一小时内更新。

FARS

[![FARS 评测](https://followagents.com/badge/agent-device.svg?lang=zh)](https://followagents.com/zh/agents/agent-device)
<a href="https://followagents.com/zh/agents/agent-device"><img src="https://followagents.com/badge/agent-device.svg?lang=zh" alt="FARS 评测"></a>

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.21.36
    发布说明摘录
    What's Changed * test(daemon): retain sanitized evidence on idle cleanup failure by @thymikee in https://github.com/callstack/agent-device/pull/4090 * test(apple): distinguish captured focus words from synthetic types by @thymikee in https://github.com/callstack/agent-device/pull/4087 * test(daemon): type teardown fixtures and clarify browser ownership by @thymikee in https://github.com/callstack/agent-device/pull/4081 * fix(platform-android): disable persistent Android snapshots after an unhealthy helper retirement by @mvanhorn in https://github.com/callstack/agent-device/pull/4007 …
    在 GitHub 查看 ↗
  2. v0.21.35
    发布说明摘录
    What's Changed * test(proxy): cover the by-spec open that names no platform or lease backend by @thymikee in https://github.com/callstack/agent-device/pull/4044 * perf(check-affected): keep the related run out of the unit projects on fail-open plans too by @thymikee in https://github.com/callstack/agent-device/pull/4058 * refactor(daemon): require runtime access when constructing request execution by @thymikee in https://github.com/callstack/agent-device/pull/4061 …
    在 GitHub 查看 ↗
  3. v0.21.34
    发布说明摘录
    What's Changed * refactor(android): centralize session error encoding by @thymikee in https://github.com/callstack/agent-device/pull/4000 * refactor(runtime): share host command runner construction by @thymikee in https://github.com/callstack/agent-device/pull/3999 * refactor(apple): share simulator status-bar diagnostics by @thymikee in https://github.com/callstack/agent-device/pull/3998 * refactor: reuse canonical device identity projections by @thymikee in https://github.com/callstack/agent-device/pull/3996 …
    在 GitHub 查看 ↗

常见问题

它是否只适用于 React Native?
不是。README 明确列出原生 iOS 与 Android、React Native、Expo 和 Flutter 应用;具体命令与证据能力取决于目标平台。
能否用于 CI?
可以。可录制为 .ad 脚本,在本地或 CI 重放,并保存截图、日志和其他工件供审查。
是否需要每次都编写传统测试脚本?
不需要。代理可读取每一步结果并在运行时选择下一条命令;稳定流程也可后续保存为 .ad 脚本。
无障碍快照读不到我要操作的控件怎么办?
README 建议改善 accessibility label、role 和 test ID;无障碍数据较差时可使用截图和视频作为证据。
Vega OS 和 Fire TV 的支持范围是什么?
初期 Vega OS 支持仅限 Vega Virtual Device,可进行发现、应用生命周期和完整 TV 遥控器控制;物理 Fire TV、capture 和 selector backend 未支持。
这页内容对你有帮助吗?
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。