ARTICLE · 1036335
谷歌开源 ARTEMIS:让 AI 助手像人一样操作真机,AndroidWorld 99%+ 成功率

ARTEMIS 是什么:谷歌开源的“AI 真机操作员”
简单说,ARTEMIS 是谷歌开源的一个项目,它能把自然语言指令变成可靠的 Android 自动化操作。你说“打开设置看看电量”,它就像人一样拿起手机去点、去划、去确认,然后把结果告诉你。它也支持让 AI 编码助手(Antigravity、Claude Code、Codex 等)通过 MCP 直接驱动真机。
成绩单很能打:在 Google Research 的 AndroidWorld 基准测试上拿到 99%+ 的任务完成率,覆盖 20+ 应用、100+ 多步任务。项目是 Apache 2.0 协议,要求 Python 3.12+,支持 Gemini、Claude、GPT-4o、Qwen-VL 多种多模态模型。

上面这个动图是实机演示:在 Google Maps 设置驾车路线并计算总耗时,然后打开 YouTube 播放 Coldplay 的歌——全程一条自然语言指令搞定。
核心能力一览:不止会点按钮
第一是跨应用自动化。测试流程也好,日常任务也好,直接用自然语言描述就行,它自己跨 App 把活干完。第二是多模态定位:优先用无障碍树的元素索引,定位不到就走坐标和视觉模型兜底,所以 Compose、Flutter、自定义 Canvas 这类自绘界面也能对付。
第三是 Flash/Pro 双模式。Flash 是响应式的“观察-执行”循环,带异步历史摘要,单步通常 3-5 秒,适合轻量确定性任务;Pro 会在每个动作执行前预检目标(对着实时 UI 树和像素校验),被拦截的动作交回 Operator 恢复,适合长时间探索和稳定性测试。第四是 MCP 集成,AI IDE 里直接驱动设备、采集 Logcat 和截图,还能自动生成诊断报告。
五分钟上手教程
准备很简单:一台开了 USB 调试的安卓设备,或者干脆用模拟器。然后 clone 仓库,跑一键启动脚本。脚本会自动检测并安装 ADB、scrcpy、FFmpeg 和 Python(uv)依赖,还会提示你把 MCP 配置和测试规则文件装进各家 AI IDE。
# macOS / Linuxgit clone https://github.com/google/artemis.git && cd artemis./start.sh# Windows PowerShellgit clone https://github.com/google/artemis.gitcd artemis.\start.bat小坑提醒:PowerShell 默认不在当前目录找可执行脚本,所以要写 .\start.bat;CMD 里直接 start.bat 就行。启动后打开 http://localhost:8000,就是 Web 控制台:有设备连接向导、实时投屏、自然语言派发和执行回放。
不想开浏览器,CLI 直接跑也行:
uv run artemis run "Open Settings, find Battery and tell me current level" --profile flashWeb 控制台长这样,自然语言派发、实时推理遥测、动作轨迹和执行回放都在一个界面里:

另外用 uv run artemis restart / stop / status 可以在任意终端管理服务生命周期。想全局使用 artemis 命令(不写 uv run),在项目根目录跑一次 uv tool install -e . 即可。
接入你的 AI IDE(MCP 实战)
推荐一键安装,直接把 MCP 服务器和全局规则装到检测到的 IDE 里:
# Antigravity / Jetskiuv run artemis mcp --install antigravity# 所有支持的 IDE(含 Codex)uv run artemis mcp --install all想手动配置的话,用 uv run artemis mcp --generate-config
[mcp_servers.artemis]command = "/path/to/artemis/.venv/bin/python"args = ["-m", "mcp_server"]cwd = "/path/to/artemis"[mcp_servers.artemis.env]PYTHONUNBUFFERED = "1"PYTHONPATH = "/path/to/artemis"Antigravity 的 ~/.gemini/jetski/mcp_config.json 长这样,还可以把常用工具设为 eager 加载:
{"mcpServers": {"artemis": {"command": "/path/to/artemis/.venv/bin/python","args": ["-m", "mcp_server"],"cwd": "/path/to/artemis","env": {"PYTHONUNBUFFERED": "1" },"tools": {"mobile_run_task": { "eager": true },"mobile_manage_task": { "eager": true },"mobile_get_device_state": { "eager": true },"mobile_inspect_trace": { "eager": true },"mobile_diagnose": { "eager": true } } } }}强烈建议把仓库里的 mcp_server/rules.md 挂到 IDE 的规则里,让 AI 以资深移动测试工程师的方式干活,避免幻觉式 UI 操作。这份规则覆盖了“写代码前先主动探索”、Flash/Pro 路由策略、延迟补偿、以及“动态优先、坐标兜底”的定位模式。安装时注意:Claude Code 用 artemis mcp --install claude 装到 ~/.claude/rules/artemis.md,只装这一处——Claude Code 会同时加载 ~/.claude/CLAUDE.md 和 ~/.claude/rules/*.md,重复装浪费上下文。Cursor 是复制到 .cursorrules 或 .cursor/rules/artemis.mdc;Codex 加到 ~/.codex/AGENTS.md。
配好之后,在 IDE 聊天框里就能这样派活:“把最新改动构建成 APK,装到连接的设备上,用测试账号打开登录页,验证登录后有没有意外弹窗,最后返回最终页面的截图。”

完整闭环是四步:先在 Antigravity 里输入测试需求,然后自动拆解生成带架构图的测试方案,接着驱动真机自主执行并采集性能数据,最后交付结构化诊断报告(含指标表格和原始数据)。看几张官方流程图:



四种使用方式与隐私说明
ARTEMIS 提供四种用法,按需选:① Web 可视化控制台(uv run artemis ui),实时投屏+自然语言派发+执行回放;② MCP Server,接入 Antigravity、Claude Code、Windsurf 等复现 bug 和跑测试;③ 开发者 CLI(uv run artemis run),终端直接跑测试用例、探索性稳定性检查或 AndroidWorld 基准,输出结构化结果;④ Python SDK,集成进 pytest 或 CI/CD,带 Pydantic 强类型结构化输出和断言支持。
SDK 是零运行时依赖的瘦客户端,装在开发机即可,ADB、Agent、模型和图像处理都留在设备主机上:
uv add "artemis-client @ git+https://github.com/google/artemis.git#subdirectory=packages/artemis-client"import asynciofrom artemis_client import ArtemisClientasyncdefmain(): client = ArtemisClient("http://artemis-host:8000", device_serial="emulator-5554", # optional: target specific device serial default_profile="flash", # "flash" (fast reactive) or "pro" (deep reasoning) ) result = await client.run("Open System Settings, go to 'Battery', verify battery percentage is displayed, and check for any crash dialogs.", )assert result.succeeded, f"Test failed: {result.error or result.status}"print(f"✅ Test Passed! Device: {result.device_serial} | Trace ID: {result.trace_id}")if __name__ == "__main__": asyncio.run(main())隐私方面说清楚:设备上第一个任务时会安装一个 Artemis Accessibility Helper 无障碍服务,它只在本地读取屏幕布局,不占用 UiAutomation 连接,也不会向任何地方发送数据。手机上会多一条收起的“Artemis test helper is running”通知和设置里无障碍的一项,就是它。管理命令如下:
# 预装(避免首个任务约 3 秒延迟)uv run artemis helper install# 检查uv run artemis helper statusuv run artemis doctor# 卸载uv run artemis helper uninstall还有两个 .env 开关:ARTEMIS_HIERARCHY_BACKEND=uiautomator 可以切换到 UIAutomator2 后端;ARTEMIS_HELPER_AUTO_INSTALL=false 禁止自动安装。就算 helper 中途挂了,ARTEMIS 也会自动回退到 UIAutomator2,并在任务时间线、mobile_manage_task 状态和最终报告里说明。
对比与总结
对比传统脚本自动化(Appium/UIAutomator):传统方式要先写选择器脚本,UI 一变就得改;ARTEMIS 用自然语言驱动,靠元素索引加坐标/视觉兜底适应动态 UI,基本不用维护脚本。对比纯视觉 Agent:ARTEMIS 优先用元素索引、坐标回退,比纯截图识别更快更稳,Flash 单步只要 3-5 秒。
架构上还有两个细节值得一提:Pro 在派发动作前会对照实时 UI 树和像素校验目标,并用“动作爆发(action bursts)”处理瞬态控件,不用干等下一轮模型;Flash 和 Pro 共享历史压缩机制,把旧截图替换成视觉摘要,避免上下文爆炸。

总之,如果你在做 Android 自动化测试、稳定性探索,或者想把 CI/CD 和 AI 助手接上真机,ARTEMIS 值得认真试试。99%+ 的 AndroidWorld 完成率加上 MCP 生态的无缝接入,让它成为目前这个方向上最值得关注的开源项目之一。