workflow 自动化

ARTEMIS 自然语言 Android 自动化操作流

📌 适用场景:自然语言 → Android 端到端自动化操作流

Google 出品:将自然语言指令转化为可靠的 Android 自动化操作流,AndroidWorld 基准成功率超 99%

8.0 /10 ★★★★☆
🪜 4 个步骤 🛠️ 0 款工具 ⏱️ 视任务复杂度(分钟级到小时级) 🎯 高级 🕒 更新于 2026-08-27

📋 完整步骤

  1. 1

    环境准备

    连接 Android 设备(开启 USB 调试)或模拟器;./start.sh(macOS/Linux)或 .\start.bat(Windows)自动装 ADB、scrcpy、FFmpeg、uv 依赖

  2. 2

    任务下达

    用自然语言描述要执行的操作(如「打开设置,找到电池,告诉我当前电量」),选 Flash(快)或 Pro(深推理)profile

  3. 3

    自主执行

    ARTEMIS 用「Dynamic-First, Coordinate-Fallback」定位引擎驱动真实设备,导航 UI、执行跨应用操作,Safety Net 拦截系统弹窗

  4. 4

    结果与诊断

    返回结构化结果 + 执行 replay + Logcat 崩溃栈 + 关键帧截图,产出可评审的测试报告

这是什么?适合谁?

ARTEMIS(Google 出品,Apache-2.0)把自然语言指令转化为可靠的 Android 自动化。它端到端自动化工作流、捕获日志用于调试和分析,并与 Antigravity、Codex、Claude Code 等 AI coding 助手无缝集成。在 Google Research 的 AndroidWorld 基准(20+ 真实应用、100+ 复杂多步任务)上,ARTEMIS 取得 99%+ 完成率

关键能力

  • 跨应用自动化 + 自主 AI 助手:不只是测试框架,而是能通过自然语言处理复杂跨应用工作流和日常任务的自主 Agent
  • 零维护测试自动化:基于「Dynamic-First, Coordinate-Fallback」多模态定位引擎,消除脆弱的 XPath/ID selector 维护,对 UI 重设计、系统更新、分辨率漂移保持弹性
  • IDE 内一键 Bug 复现 + Logcat 诊断:原生 MCP 集成让 Antigravity/Claude Code/Windsurf 用自然语言驱动真实测试设备,自动抓取 Logcat 崩溃栈和关键帧截图
  • 超快执行(每步 3–5 秒):Optimistic Asynchronous Pipeline 把 UI 交互与重型 LLM 推理完全解耦

适合人群:Android 测试工程师;需要「自然语言驱动真机」的开发者;做跨应用自动化的人。

不适合:iOS 自动化(roadmap 中);无真机/模拟器的纯桌面场景。

准备工作

  1. Android 设备(开启 USB 调试)或模拟器。
  2. Python 3.12+;一键脚本自动装 ADB、scrcpy、FFmpeg、uv 依赖。
  3. 模型:多模态 Gemini / Claude / GPT-4o / Qwen-VL(Flash 模式吞吐高、Pro 模式深度推理)。
  4. 成本:Apache-2.0 开源,免费;模型 API 按用量。
  5. 时间预算:环境安装约 10 分钟;单任务视步数(Flash 3–5s/步)。

核心流程(4 步)

第一步:环境准备

git clone https://github.com/google/artemis.git && cd artemis
./start.sh          # macOS/Linux;Windows PowerShell 用 .\start.bat

一键脚本自动装系统工具链,并提示把全局 MCP 配置和 Artemis Mobile Testing Mindset(rules.md)装进你的 AI IDE。会打开 http://localhost:8000 的设备连接向导、实时投屏、prompt 沙箱和执行 replay。

第二步:任务下达

uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash

选 profile:Flash(反应式循环,3–5s/步,适合 25–30 步内确定性 UI 任务)或 Pro(多 Agent 图 + 规划 + 视觉验证 + 自动恢复,15–40s/步,支持 100+ 步长程工作流和视频分析)。

第三步:自主执行

ARTEMIS 用三层渐进定位引擎驱动设备:本地 OCR + 无障碍层级(~150ms、0 token)驱动 85%+ 标准动作,回退到空间视觉模型处理自定义 Canvas/Compose/Flutter UI。Safety Net 在动作执行前双重检查目标,拦截并清除干扰系统弹窗。

第四步:结果与诊断

返回结构化断言结果、执行 tracing、Logcat 崩溃栈、关键帧截图。通过 MCP 在 IDE 内直接驱动真机复现 bug、跑用例、生成诊断报告。

常见踩坑

踩坑 1:把 Flash 当 Pro 用

  • 现象:长程任务、需要状态监控或视频分析时用 Flash 失败。
  • 原因:Flash 不支持长期状态监控、视频流分析、多步失败自愈。
  • 解决:25–30 步内确定性任务用 Flash;100+ 步长程工作流、视频分析用 Pro。

踩坑 2:PowerShell 不搜当前目录

  • 现象:./start.bat 报找不到脚本。
  • 原因:PowerShell 默认不搜当前目录的脚本。
  • 解决:用 .\start.bat(无尾斜杠);CMD 里用 start.bat

踩坑 3:系统弹窗干扰动作

  • 现象:执行中系统弹窗导致误点。
  • 原因:未启用 Safety Net。
  • 解决:Safety Net 在动作前拦截并清除干扰弹窗,保持启用;Pro 模式支持 10+ 小时连续探索。

踩坑 4:MCP 没装导致 IDE 内不能驱动

  • 现象:在 IDE 里让 Agent 跑真机没反应。
  • 原因:没装 MCP 服务器。
  • 解决:uv run artemis mcp --install all(或 --install antigravity);手动配置用 --generate-config codex

踩坑 5:把 AI 生成的 UI 交互当真

  • 现象:Agent 编造 UI 交互步骤。
  • 原因:没挂 rules.md 测试心态规则。
  • 解决:把 mcp_server/rules.md 挂进 IDE(CLAUDE.md/.cursorrules/AGENTS.md),强制「先主动探索再编码、Flash/Pro 路由、Dynamic-First 定位」。

初级用法

四种使用模式

  • Web 控制台uv run artemis ui):实时投屏 + 交互面板 + 自然语言派发 + 执行 replay
  • MCP(IDE 协作):标准 MCP 服务器,Antigravity/Claude Code/Windsurf 直接驱动真机
  • CLIuv run artemis run):终端直接执行自动化用例、稳定性探索、AndroidWorld 基准
  • Python SDK:嵌入 pytest/CI 管线,强类型 Pydantic 输出 + 断言

IDE 内一句话

Build the latest changes into an APK, install it on the connected device, open the login screen with a test account, verify if there are any unexpected popups after login, and return screenshots of the final page.

高级玩法

三阶段渐进定位引擎

本地 OCR + 无障碍层级(~150ms、0 token)→ 空间视觉模型(Canvas/Compose/Flutter)→ sandboxed CV probing(细微像素状态)。Pre-Touch Pixel Gate + Speculative Chaining 消除推理延迟竞态导致的静默误点。

Elastic Dual Engine

Flash(高吞吐反应式 CI 循环)与 Pro(多步认知状态图)无缝切换,后台视觉差分 + DOM 剪枝把 10+ 小时连续 unattended soak testing 的 token 消耗砍掉 70%+。

Python SDK 嵌入 CI

ArtemisClient(default_profile="flash") 几行代码把真机自动化嵌入 pytest;assert result.status == "SUCCESS" 做结构化断言。

小技巧

  1. Flash 跑日常、Pro 跑难任务:先 Flash 快速验证,失败再切 Pro 深度恢复。
  2. 挂 rules.md 防幻觉:让 AI 助手按「资深移动测试工程师」的严谨行事。
  3. 用 replay 复盘:执行 replay 看动作轨迹,定位定位失败的根因。
  4. uv tool install -e .:全局用 artemis 命令,不必每次 uv run
  5. Pro 模式看吞吐:100+ 步长程工作流 + 视频分析用 Pro,别嫌单步慢。

常见问题 FAQ

Q1: ARTEMIS 和 Appium 有什么区别?

A: Appium 依赖 XPath/ID 等脆弱 selector,UI 重设计就要改;ARTEMIS 是「Dynamic-First, Coordinate-Fallback」多模态定位,零维护,且能通过自然语言 + MCP 让 AI 助手直接驱动真机。

Q2: 99%+ 成功率可信吗?

A: 数据来自 Google Research 的 AndroidWorld 基准(100+ 复杂多步任务),README 附 leaderboard 截图。需注意是基准成绩,你的场景效果取决于设备和任务。

Q3: 需要什么硬件?

A: 一台开启 USB 调试的 Android 真机或模拟器;Python 3.12+ 的电脑;多模态模型 API。

Q4: 支持 iOS 吗?

A: 目前不支持,iOS 平台扩展在 roadmap 中。

Q5: 能用于日常任务吗?

A: 能。README demo 就是「在 Google Maps 设置驾车路线并计算总时长,然后打开 YouTube 播 Coldplay」。它定位是自动化引擎 + 自主 Agent 双用。

参考链接

本文基于公开资料整理(GitHub 仓库 README,数据核验日期 2026-08-27),AI 辅助生成。

📊 评分与标签

评分说明

总分 8.0/10 · P_优选

📊 可观测社区指标(采集日期:2026-08-27)

  • GitHub: google/artemis ★98, 🔱12(GitHub API 实时验证)
  • License: Apache-2.0;最后推送:2026-08-26(采集日前 1 天,高度活跃)
  • 基准:Google Research AndroidWorld 99%+ 完成率(100+ 多步任务)

📋 流程完整性 2.6/3.0

  • 覆盖「环境准备→任务下达→自主执行→结果诊断」完整闭环:一键脚本装工具链、MCP 装进 IDE、四模式(Web 控制台/MCP/CLI/Python SDK)、Logcat 崩溃栈 + replay + 截图诊断;不足是 iOS 扩展、Android Studio 插件仍在 roadmap。
  • 竞品对比 1(Appium):定位器脆弱、无自然语言驱动、无 MCP IDE 集成。
  • 竞品对比 2(UI Automator):无跨应用自主 Agent 能力。

🔄 可复用性 2.0/2.5

  • 零维护定位引擎(Dynamic-First, Coordinate-Fallback)对 UI 重设计/系统更新/分辨率漂移弹性;Python SDK 可嵌入 pytest/CI;但复用单位是「测试资产」,学习成本与真机依赖是门槛。
  • 竞品对比 1(Appium 脚本):UI 一变就改 selector。
  • 竞品对比 2(手动测试):不可复用、不可回归。

📖 文档清晰度 1.7/2.0

  • README 含四步工作流截图、MCP 手动配置 TOML/JSON 片段、Flash/Pro 对比、架构图、benchmark leaderboard;中英双语;但 MCP 配置细节分散在折叠块,略长。
  • 竞品对比 1(同量级开源项目):文档质量高于均值。
  • 竞品对比 2(Google 官方成熟项目):本仓库文档更工程化。

🔧 工具集成 1.0/1.5

  • 原生 MCP 集成 Antigravity/Claude Code/Windsurf/Codex;ADB/scrcpy/FFmpeg 自动装;多模态 Gemini/Claude/GPT-4o/Qwen-VL;但 iOS 与 Android Studio 集成未落地。
  • 竞品对比 1(Appium):生态更成熟但无 MCP/AI IDE 集成。
  • 竞品对比 2(EvoTrace):面向数据资产,非设备自动化。

💡 创新性 0.7/1.0

  • 「Pre-Touch Pixel Gate + Speculative Chaining + 三层渐进定位 + 乐观异步管线」的组合在移动自动化领域领先;但本质是「把现有视觉模型技术工程化整合」,非全新范式。
  • 竞品对比 1(Appium):传统 selector 范式,无本项目的弹性定位。
  • 竞品对比 2(纯 LLM Agent 驱动):无 ARTEMIS 的 0-token 本地 OCR 层。

评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。

🏷️ 标签说明

  • 自动化: 自然语言 Android 端到端自动化。来源:官方 README
  • 开源免费: Apache-2.0 协议。来源:GitHub API
  • Android: 面向 Android 设备/模拟器。来源:官方 README
  • 工作流: 跨应用端到端操作流。来源:官方 README
  • Google: Google 出品。来源:GitHub API

📋 来源核实

  • ✅ 已验证: GitHub 仓库 - stars/forks/license/pushed_at 经 GitHub API 实时核验(2026-08-27)
  • ✅ 已验证: 官方 README - 四步工作流/Flash-Pro 对比/MCP 配置逐条比对
  • ⚠️ 未实测: 实际连接设备运行自动化
  • ⚠️ 未验证: 99%+ AndroidWorld 成绩为官方自述(附 leaderboard)

⚠️ 局限与未实测声明

  • 本文基于 2026-08-27 GitHub 公开 README 整理,未实际运行 ARTEMIS
  • 99%+ 基准成绩、3-5s/步吞吐为官方自述,未独立复现
  • 竞品对比基于公开文档,未经同环境实测