MCP 服务器 · 发布者仓库

agent-device

Callstack 维护的跨平台应用自动化工具,通过 stdio MCP、CLI 和 TypeScript API 驱动移动设备、电视、网页与桌面应用,并采集截图、日志、网络和性能证据。

4.5k StarsMITTypeScript今天更新
01

项目介绍

agent-device 是 Callstack 面向编码 Agent 开发的跨平台应用自动化工具。它把可访问性快照、稳定元素引用、设备操作和证据采集统一在 CLI、stdio MCP 与 TypeScript API 中,让 Agent 能在写完代码后直接打开应用、验证交互并把截图、日志、网络或性能证据带回修复循环。它覆盖移动设备、电视、网页和桌面,但实际能力取决于目标平台与本机工具链。采用前应把设备控制、系统权限、远程令牌和产物保留视为明确的安全边界。

agent-device 在 Agent 编写代码、实机验证、提交证据和继续修复之间形成的开发循环图
仓库提供的流程图展示 Agent 如何用 agent-device 在真实应用界面中验证修改,并把证据带回评审与修复循环。查看仓库原图
02

核心功能

01

可访问性快照与稳定引用

snapshot -i 返回可交互节点及 @ref,Agent 可用引用、id、label 或 role 选择器操作,并通过 diff 与 wait 检查界面变化。

02

跨平台应用控制

统一命令覆盖应用打开、点击、输入、滚动、返回、方向、安装和状态查询;具体可用命令由所选设备的 capabilities 返回。

03

调试与证据采集

可采集截图、屏幕录像、应用日志、网络活动、内存与帧性能、CPU profile 和 trace,供 Agent 验证功能或回归。

04

MCP 结构化工具

agent-device mcp 通过 stdin/stdout 提供结构化工具,并复用 CLI 执行路径;它不暴露通用 Shell,操作员拥有的路径和令牌也不会成为模型可写工具参数。

05

回放与测试输出

可将常用流程保存为 .ad 脚本,生成机器可读结果,并导出 Maestro YAML 以衔接既有端到端测试。

03

安装与连接

由人先安装并运行 doctor,完成目标平台 SDK、设备信任和系统权限后,再把经过评审的固定版本接入 Agent。CLI 是最直接入口;需要结构化工具时再配置本地 stdio MCP。

AI AGENT INSTALL

让 AI Agent 帮你安装

把这段话发送给 Codex、Claude Code 或其他可以操作本地环境的 AI Agent。

请帮我安装并最小验证 agent-device。项目地址:https://github.com/callstack/agent-device。先阅读 README、installation、agent-setup 与 security-trust 文档,确认 Node.js 22.12+ 和目标平台工具链。优先安装我指定的固定版本;如果我未指定,请展示最新正式发布与当前 npm/manifest 版本差异后询问。安装后先运行 agent-device doctor,不要自行授予 macOS 辅助功能或屏幕录制权限,不要信任真机、启用 Developer Mode、配置签名、启动远程代理、连接设备云或使用生产应用。只在隔离的测试模拟器上完成打开应用、读取 snapshot -i、执行一个低风险交互、保存截图和关闭会话。不要把令牌、网络内容或含敏感信息的产物写入版本库;任何安装 SDK、修改系统设置、连接真机或上传外部服务的步骤都先询问我。
01开始前准备
  • Node.js 22.12 或更高版本,并可使用 npm
  • iOS 需要 Xcode;Android 需要 Android SDK 与 ADB;其他平台按文档准备对应工具链
  • 真机已由用户完成配对、Developer Mode、签名或 ADB 信任
  • macOS 自动化所需的辅助功能和屏幕录制权限由用户授予
  • 明确选定并固定要交给 Agent 使用的版本
02复制安装命令或配置
npm install -g agent-device@latest
agent-device doctor
03按步骤完成安装
  1. 1
    安装并检查环境

    安装经过评审的 agent-device 版本,运行 agent-device doctor,修复目标平台缺失的 SDK 或命令行工具。

  2. 2
    打开隔离测试应用

    在模拟器或专用测试设备上运行 agent-device open,并显式指定平台或设备,避免误选生产真机。

  3. 3
    用快照引用完成交互

    运行 snapshot -i 获取当前 @ref,优先按引用或语义选择器执行 press、click、fill 或 scroll,并用 --settle 或 wait 验证结果。

  4. 4
    采集最小证据

    把截图、必要日志或测试结果保存到受控目录;发送或提交前检查是否包含账号、令牌、客户数据或私密界面。

  5. 5
    关闭并清理会话

    执行 agent-device close,确认设备声明与临时会话已释放;远程工作流还应断开云设备、隧道和代理。

如何确认安装成功

运行 `agent-device doctor`,确认目标平台检查通过;随后在测试模拟器执行 `agent-device open <测试应用> --platform <平台>`,用 `snapshot -i` 得到交互引用,完成一次只读导航或低风险点击,保存截图并执行 `agent-device close`。命令返回预期界面状态且截图落到指定路径,才算基础安装可用。

使用前注意
  • 仓库建议 Agent 使用全局、项目本地或固定版本安装,避免未经评审直接执行可变的 latest。
  • 首次运行部分平台辅助程序时可能触发编译、签名或系统权限提示,应由用户处理。
  • 配置 MCP 后需要重新连接或重启客户端才能加载新服务器。
  • 先用 capabilities 确认目标设备支持的命令,再编写跨平台流程。
04

使用场景

SCENARIO 01

编码 Agent 的应用验收循环

Agent 修改应用后立即打开测试构建、完成关键交互、截取证据,再把发现的问题带回代码修复。

SCENARIO 02

跨平台冒烟测试

用相同工作流骨架分别选择 iOS、Android 或其他平台,并依据 capabilities 调整平台特有步骤。

SCENARIO 03

可复现的回归证据

将稳定流程保存为 .ad 脚本,输出 JSON 或 JUnit 报告,并在需要时导出 Maestro YAML。

SCENARIO 04

远程设备实验室

通过受保护的远程代理或设备云让 CI Agent 使用集中设备,同时把令牌、租约、产物和网络范围纳入独立治理。

05

使用评价

agent-device 的优势是把 Agent 需要的应用操作、状态判断和调试证据放进同一套版本化接口,并认真处理并行设备声明、结构化错误和模型不可写的操作员配置。它适合已有移动或多端工程基础设施的团队。代价是原生工具链、系统权限和平台差异都很真实,远程代理与设备云还会显著扩大信任边界。0.21 系列仍在快速迭代,固定版本和隔离测试设备比追随 latest 更稳妥。

值得一试的地方

  • CLI、stdio MCP 与 TypeScript API 复用同一执行路径
  • 可访问性快照、稳定引用和差异输出适合 Agent 循环
  • 证据类型覆盖截图、录像、日志、网络、性能与追踪
  • 工作树会话、设备声明和租约机制降低并行争用
  • 安全文档明确本地绑定、令牌、产物和远程代理风险
  • MIT 许可证明确,提交和正式发布均保持活跃

使用前要知道

  • 平台支持深度不同,跨平台脚本仍需能力检测和分支
  • 需要 Node.js 与多套原生 SDK,安装和 CI 镜像维护成本较高
  • 系统权限与真机信任不能安全地完全交给 Agent 自动完成
  • 网络与日志证据可能捕获敏感数据,必须单独治理
  • 远程代理令牌授予实质设备控制权,暴露错误后果严重
  • manifest 0.21.1 与最新 GitHub release v0.21.0 暂有版本差异
06

README

agent-device


Overview

Callstack 维护的跨平台应用自动化工具,通过 stdio MCP、CLI 和 TypeScript API 驱动移动设备、电视、网页与桌面应用,并采集截图、日志、网络和性能证据。 Mobile app automation and verification for AI coding agents. CLI, MCP server, and typed Node.js API for iOS, Android, HarmonyOS, TV, web, macOS, and Linux.

Getting started

  • 由人先安装并运行 doctor,完成目标平台 SDK、设备信任和系统权限后,再把经过评审的固定版本接入 Agent。CLI 是最直接入口;需要结构化工具时再配置本地 stdio MCP。
  • agent-device 把应用导航、快照、交互、安装、回放与证据采集放进一个面向 Agent 的命令面,并通过相同执行路径暴露 stdio MCP 和 TypeScript API。
  • 推荐工作流是打开应用、读取带 @ref 的交互快照、按引用或选择器操作、等待明确状态、采集证据并关闭会话。
  • 运行 `agent-device doctor`,确认目标平台检查通过;随后在测试模拟器执行 `agent-device open <测试应用> --platform <平台>`,用 `snapshot -i` 得到交互引用,完成一次只读导航或低风险点击,保存截图并执行 `agent-device close`。命令返回预期界面状态且截图落到指定路径,才算基础安装可用。

Configuration

npm install -g agent-device@latest
agent-device doctor
在 GitHub 阅读完整 README