ARTEMIS:用自然语言驱动真实 Android 设备,AndroidWorld 达 99%+
一个让测试团队用自然语言操作真实 Android 设备的工具,兼有 MCP 诊断和 99%+ AndroidWorld 成绩。
GitHub google/artemis 更新 2026-10-14 分支 main 星标 11.5K 分叉 1.2K
Python Android 自动化 MCP AndroidWorld 真实设备

🧭 决策指南

适合,如果你

  • 你要让 Antigravity、Claude Code 或 Windsurf 驱动真实 Android 设备并收集 Logcat。
    README 的“IDE Diagnostics”与“MCP Server”章节明确列出这些客户端和 Logcat 能力。
  • 你要执行 AndroidWorld 这类包含100+多步任务的 Android 自动化。
    README 的“Benchmarks: AndroidWorld”写明覆盖100+ multi-step tasks,Pro 支持100+ step workflows。
  • 你需要把 Android 操作接入 pytest 或 CI/CD,并获得 Pydantic 结构化输出。
    README 的“Usage Modes”章节列出 Python SDK、pytest、CI/CD 和 Pydantic structured outputs。

不适合,如果你

  • 你的目标平台是 iOS,因为 README 的 iOS Platform Expansion 仍是 Roadmap 待办项。
    README 的“Roadmap”将 iOS 平台扩展标记为未完成。
  • 你在 Flash 模式中要求任务计划、检查点验证、最终报告或 ADB shell。
    README 的“Flash vs. Pro”明确列出 Flash 的这些限制。
  • 你不能接受项目当前仅有6位贡献者且没有 Release 的维护与发布状态。
    项目元数据显示贡献者6人、版本发布0个;最新版本为 No releases。

前置条件

  • 需要连接已开启 USB Debugging 的 Android 设备或模拟器。
  • macOS/Linux 可执行 README 原文中的 ./start.sh;Windows 使用 .\start.bat。
  • 启动流程会检测或安装 ADB、scrcpy、FFmpeg 和 Python(uv)。
  • MCP 自动安装命令依赖 uv,例如 uv run artemis mcp --install all。
  • 设备首个任务会安装 Artemis Accessibility Helper;也可改用 UIAutomator2 后端。

第一步命令(README 原文)

./start.sh

要注意

  • 若使用 UiAutomation,需注意 Accessibility Helper 可能被抑制,除非启用 FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES。
    README 的“What ARTEMIS Installs on Your Phone”章节说明 UiAutomation 的抑制行为。
  • Flash 默认 agent.flash.max_turns 为0,表示不限制回合数;同时没有最终报告。
    README 的“Flash Profile”章节同时说明 0 = unlimited 和无 final report。
  • Pro 每步约15–40秒,但包含 Safety Net、Checker 和 execution incident 恢复机制。
    README 的“Pro Profile”章节给出15–40秒每步及这些组件。

替代方案

  • UIAutomator2:当 Accessibility Helper 不适用或失败时,README 支持在 .env 中设置 ARTEMIS_HIERARCHY_BACKEND=uiautomator。
    What ARTEMIS Installs on Your Phone

材料未说明

  • README 未说明支持的 Android 版本范围。
  • README 未说明所需大语言模型、模型提供商或 API 费用。
  • README 未提供 AndroidWorld 99%+结果的运行配置、硬件和复现实验细节。
  • README 未说明并发设备数量、吞吐量和资源消耗。
  • README 未说明 6位贡献者对应的具体维护分工和响应承诺。

💡 深度解析

6
不适合 我需要在 AndroidWorld 的 20 多个应用和 100 多个多步骤任务上复现实验,并比较自然语言设备操作的完成率;ARTEMIS 的 99%+ 声明能直接作为我的实验结论吗?
适合读者: 评估移动端智能体能力、以 AndroidWorld 的 20 多个应用和 100 多个多步骤任务为基准的研究人员

不适合直接作为你的实验结论,因为 99%+ 是 README 中的项目声明,而不是在你的模型、设备和环境下完成的可复现实验结果。

  • “Benchmarks: AndroidWorld (SOTA 99%+)”声称覆盖 20 多个应用和 100 多个多步骤任务,并达到 99%+ 完成率。
  • “Developer CLI”支持运行 AndroidWorld benchmarks,可作为复现实验入口,而不是直接替代实验设计。
  • 项目洞察明确指出,基准结果取决于模型、设备、应用版本和测试环境;AndroidWorld 成绩不能直接代表企业应用或真实网络条件下的成功率。
  • README 没有在摘要中给出模型版本、设备规格、随机种子、失败样本、运行次数或统计置信区间。

ARTEMIS 可以作为被测系统和基线候选,但你的论文或报告仍需重新定义环境、记录参数并独立计算结果。

  • Benchmarks: AndroidWorld (SOTA 99%):20+ apps、100+ multi-step tasks、99%+ completion rate
  • Usage Modes:Developer CLI supports AndroidWorld benchmarks
  • 项目洞察 usage_limitations:结果依赖模型、应用版本、网络状态、设备性能和系统权限
  • 项目洞察:AndroidWorld 成绩不能直接代表企业应用或真实网络场景
uv run artemis run
材料未说明:README 未公开 99%+ 结果对应的模型版本、设备配置、测试提交版本和完整失败记录。;README 未说明 AndroidWorld 执行是否支持随机种子、并行运行和标准化结果导出。
适合 我使用 Claude Code 编写 Android 应用,手上有一台开启 USB Debugging 的真实设备;我希望 AI 助手直接执行跨应用操作、复现缺陷,并把 Logcat、截图和执行轨迹返回给我,ARTEMIS 适合吗?
适合读者: 使用 Claude Code、需要在真实 Android 设备上复现缺陷并同时收集 Logcat 和截图的 Android 应用开发者

适合,因为它正是为 AI 助手驱动真实 Android 设备并输出诊断信息设计的。

  • README 的 “Key Highlights” 明确支持 Claude Code 通过 MCP 驱动测试设备,并收集 Logcat 与截图。
  • “Quick Start” 要求连接开启 USB Debugging 的 Android 设备或模拟器,启动脚本会处理 ADB、scrcpy、FFmpeg 和 Python 依赖。
  • “Usage Modes” 提供 MCP Server、Developer CLI 和 Web Visual Test Console,可查看动作轨迹、实时遥测和执行回放。
  • README 的演示覆盖 Google Maps 到 YouTube 的跨应用流程,符合缺陷复现类任务。

需要注意,README 没有保证每种应用、网络状态或弹窗都能稳定复现;模型选择、应用版本和设备状态对结果的影响也未量化。

  • Key Highlights:MCP integration lets Antigravity, Claude Code, and Windsurf drive test devices and collect Logcat output and screenshots
  • Quick Start:Ensure an Android device (with USB Debugging enabled) or emulator is connected
  • Usage Modes:MCP Server、Developer CLI、Web Visual Test Console
  • Live Demo:Google Maps 后切换到 YouTube 的跨应用任务
./start.sh
材料未说明:README 未说明 Claude Code 对具体模型、权限配置和 MCP 客户端版本的兼容矩阵。;README 未给出不同 Android 版本、网络条件和应用类型下的缺陷复现成功率。
视情况 我们使用 Antigravity 和 Codex 接入 AI IDE,希望模型能读取 Android 测试截图与 Logcat;设备端数据必须尽量留在本机,ARTEMIS 的隐私边界是否足够明确?
适合读者: 在 Antigravity、Cursor、Claude Code、Codex 或 Windsurf 中集成 Android 设备的研发团队,要求测试日志和截图的外发边界明确

视情况:设备辅助服务本身的本地行为描述较清楚,但整体数据是否发送给外部模型取决于部署和模型配置,不能仅凭 README 判定满足隐私要求。

  • “What ARTEMIS Installs on Your Phone”明确说 Accessibility Helper 只在手机本地监听,不向其他地方发送数据。
  • “Key Highlights”同时说明 MCP 可让 Antigravity、Claude Code 和 Windsurf 获取 Logcat 与截图;这意味着 AI IDE 链路会接触测试观测数据。
  • Quick Start 会自动配置全局 MCP 和 AI agent rules,支持 Antigravity、Cursor、Claude Code、Codex、Windsurf 等客户端,扩大了接入面。
  • 项目洞察指出截图、日志和任务历史可能包含账号、个人数据或业务机密,而 README 没有定义脱敏、保留周期、模型供应商或传输加密策略。

因此,适合专用测试设备和非敏感数据;对受监管或含生产账号的数据,现有说明不足以直接批准上线。

  • What ARTEMIS Installs on Your Phone:It listens only on the phone itself and sends nothing elsewhere
  • Key Highlights:MCP clients collect Logcat output and screenshots
  • Quick Start:Mount Global MCP Server & AI Agent Rules,支持 Antigravity、Cursor、Claude Code、Codex、Windsurf 等
  • 项目洞察 common_pitfalls:截图、日志和任务历史可能包含敏感数据
uv run artemis mcp --install all
材料未说明:README 未说明默认使用哪些模型、模型服务商以及截图和 Logcat 是否经过外部 API。;README 未提供数据脱敏、保留期限、访问控制和企业代理配置说明。
视情况 我正在维护 pytest/CI 流水线,测试范围接近 AndroidWorld 的 100 多个多步骤任务;我需要检查点、失败恢复、结构化结果和最终验证,应该使用 ARTEMIS 的 Pro 模式吗?
适合读者: 维护 pytest 或 CI/CD 流水线、需要覆盖 AndroidWorld 中 100 多个多步骤任务的移动端 QA 自动化工程师

视情况:如果优先考虑长流程的恢复与审计,Pro 更匹配;如果 CI 主要追求低延迟,Pro 的执行时间可能成为限制。

  • README 的 “Pro Exploration” 说明 Pro 会在每个动作前检查目标,并把被阻塞的动作交回 Operator 恢复,适合长时间探索和稳定性测试。
  • “Python SDK”支持接入 pytest 或其他自动化框架,并提供强类型 Pydantic 输出和断言支持。
  • “AndroidWorld Results”声称在 100 多个多步骤任务上达到 99%+ 完成率,但这是项目声明,不能直接等同于你的应用回归通过率。
  • Flash 通常每步 3–5 秒,而 Pro 的实际延迟、并发能力和 CI 资源消耗,README 摘要没有给出完整数据。

因此,Pro 适合需要检查点和诊断链路的任务;纯粹追求快速执行的短测试不一定值得承担其额外开销。

  • Pro Exploration:Checks targets before individual actions and returns blocked actions to the Operator for recovery
  • Python SDK:integrates as a standard Python library into pytest or CI/CD pipelines
  • AndroidWorld Results:99%+ task completion on 100+ multi-step tasks
  • Flash Execution:typically 3–5s per step
uv run artemis ui
材料未说明:README 摘要未说明 Pro 模式的具体平均耗时、失败重试次数和 CI 并发限制。;README 未说明 Python SDK 在 pytest 中的完整 fixture、报告格式和设备隔离方式。
视情况 我的 Android 应用大量使用 Compose、Flutter 和自定义 Canvas 界面,控件经常没有稳定的资源 ID;我需要自然语言执行端到端测试,ARTEMIS 的定位机制能覆盖这种界面吗?
适合读者: 维护使用 Jetpack Compose、Flutter 或自定义 Canvas 控件的 Android QA 工程师,无法依赖稳定的资源 ID

视情况:ARTEMIS 有针对自定义界面的多级定位回退,但 README 没有承诺所有 Compose、Flutter 或 Canvas 控件都能稳定识别。

  • “Multimodal Targeting”说明系统优先使用元素索引,并在需要时回退到坐标和视觉定位,适合资源 ID 不稳定的页面。
  • “How ARTEMIS is Architected”写明定位结合 accessibility hierarchy、OCR 和视觉模型,覆盖 custom Canvas、Compose 和 Flutter interface。
  • 设备侧 Accessibility Helper 读取屏幕布局;若失败会回退到 UIAutomator2,并在任务时间线和最终报告中说明回退。
  • 但项目洞察指出,自定义渲染、WebView、远程桌面或缺少可访问性语义时,元素定位可能失效并转向坐标或视觉定位,稳定性会下降。

因此,若页面仍暴露可访问性语义,适配机会较好;完全依赖像素的控件仍存在未量化风险。

  • Multimodal Targeting:Uses element indices when available, with coordinate and visual locating fallbacks
  • How ARTEMIS is Architected:supports custom Canvas, Compose, and Flutter interfaces
  • What ARTEMIS Installs on Your Phone:If the helper fails mid-task, ARTEMIS falls back to UIAutomator2
  • 项目洞察 common_pitfalls:自定义渲染、Canvas、WebView 或缺少可访问性语义时稳定性会降低
uv run artemis doctor
材料未说明:README 未提供 Compose、Flutter、Canvas 三类界面的独立识别率或误触率。;README 未说明视觉定位模型的名称、推理硬件要求和离线可用性。
适合 我在 Windows PowerShell 上使用 Android 模拟器,并希望一次安装 ADB、scrcpy、FFmpeg、Python 依赖以及 AI IDE 的 MCP 配置;ARTEMIS 的快速启动适合这种环境吗?
适合读者: 在 Windows PowerShell 上使用 Android 模拟器、希望为 AI IDE 自动安装 MCP 配置的 Android 测试工程师

适合,但前提是模拟器已连接且 Windows PowerShell 能正常访问所需工具链。

  • “Quick Start”明确支持 Android 设备或模拟器,并要求设备开启 USB Debugging;一键脚本会自动安装或检测 ADB、scrcpy、FFmpeg 和 Python(uv)依赖。
  • README 的安装说明同时给出 Windows PowerShell 的 start.bat 路径,并会提示为检测到的 AI IDE 安装全局 MCP 配置和测试规则。
  • uv run artemis mcp --install all 可为包括 Codex 在内的所有支持客户端安装 MCP 配置,适合需要统一接入的环境。
  • 不过,README 摘要没有展示 Windows PowerShell 章节的完整故障排除,也没有说明模拟器镜像、Hyper-V 或 USB 驱动的兼容范围。

因此,作为首次初始化路径是合适的;若企业 Windows 环境限制脚本、网络或软件安装权限,自动化程度可能下降。

  • Quick Start:Ensure an Android device ... or emulator is connected
  • Quick Start:Install System Toolchains,包括 ADB、scrcpy、FFmpeg 和 Python (`uv`)
  • One-Click Auto Install:`.start.bat`(README 原文为 ` .\start.bat `)
  • One-Click Auto Install:uv run artemis mcp --install all
.\start.bat
材料未说明:README 摘要未说明 Windows 下具体支持的 PowerShell 版本、模拟器镜像和虚拟化后端。;README 未说明企业代理、管理员权限或受限网络下的一键安装行为。

✨ 核心亮点

  • AndroidWorld 100+任务完成率达99%+
  • MCP 接入 Antigravity、Claude Code
  • Flash 模式通常每步仅需3–5秒
  • Pro 模式支持100+步长流程

🔧 工程化

  • 用自然语言跨应用操作 Android 测试流程和日常任务。
  • MCP 让 Antigravity、Claude Code 读取 Logcat 与截图。
  • Python SDK 可接入 pytest 与 CI/CD,并输出 Pydantic 结构化结果。

⚠️ 风险

  • Flash 没有任务计划、安全网、检查点验证或最终报告。
  • 首次设备任务会安装 Accessibility Helper,并增加约3秒延迟。
  • 项目仅有6位贡献者、0个版本发布,暂无正式 Release。
  • README 仅展示 Android,iOS 仍在 Roadmap 中。

👥 适合谁?

  • 需要用 Antigravity 或 Claude Code 驱动真实 Android 设备的测试团队。
  • 已有 pytest、Python 或 CI/CD 测试基础设施的开发者。
  • 需要 AndroidWorld 100+多步任务或稳定性测试的团队。