ARTEMIS 是 Google 开源的项目,目标是把自然语言指令变成可靠的 Android 自动化操作。它面向“让 AI 助手与测试套件像人一样使用真实手机”的场景,能执行端到端工作流、采集日志,并与 Antigravity、Codex、Claude Code 等 AI 编程助手集成。官方称其在 Google Research 的 AndroidWorld 基准(覆盖 20+ 应用、100+ 多步任务)上取得 99%+ 的任务完成率。
主要能力 跨应用自动化:根据自然语言指令在 Android 上执行测试工作流和日常任务。 多模态定位:优先使用元素索引,在自定义界面上回退到坐标定位与视觉定位。 IDE 诊断:通过 MCP(Model Context Protocol)集成,让 Antigravity、Claude Code、Windsurf 等驱动测试设备并收集 Logcat 输出与截图。 两种执行模式:Flash 为响应式“观察—行动”循环,带异步历史摘要,通常每步 3–5 秒;Pro 在执行单个动作前检查目标,并把被阻塞的动作交回 Operator 恢复,支持长时间探索与稳定性测试。
使用方式与集成入口 Web 可视化测试控制台(uv run artemis ui):提供实时投屏与交互面板,支持自然语言派发测试、推理过程实时遥测、动作轨迹与执行回放。 MCP 服务器:把 Antigravity、Claude Code、Windsurf 等 MCP 客户端连接到真实设备,用于缺陷复现与测试执行。 开发者 CLI(uv run artemis run):在终端直接执行自动化测试用例、探索性稳定性检查或 AndroidWorld 基准,输出结构化结果。 Python SDK:作为标准 Python 库集成到 pytest 等既有自动化测试框架或 CI/CD 流水线,支持强类型的 Pydantic 结构化输出与断言。 一键启动脚本(macOS/Linux 用 ./start.sh,Windows 用 start.bat):检测并自动安装 ADB、scrcpy、FFmpeg 与 Python(uv)依赖,并提示把全局 MCP 配置与 Artemis 移动测试规则(rules.md)安装到检测到的 AI IDE;随后在浏览器打开 http://localhost:8000,提供设备连接向导、实时投屏、提示词沙箱与执行回放。 手动配置:可运行 uv run artemis mcp --generate-config <client>(如 codex 或 antigravity)输出相应 TOML 或 JSON 片段;也可通过 uv run artemis init 交互式配置 MCP。 行为规则挂载:项目提供 mcp_server/rules.md,覆盖“编码前主动探索”“Flash 与 Pro 路由策略”“延迟与时机补偿”“动态优先、坐标回退”的定位模式等,可挂载到 Antigravity、Claude Code、Cursor、Codex、Windsurf 等 IDE。
设备侧说明 首个任务会在设备上安装 Artemis Accessibility Helper,一个读取屏幕布局的小型无障碍服务,不占用 UiAutomation 连接。首次任务约有 3 秒延迟,可预先安装:uv run artemis helper install;查看状态可用 uv run artemis helper status 或 uv run artemis doctor;卸载用 uv run artemis helper uninstall。可通过 .env 设置 ARTEMIS_HIERARCHY_BACKEND=uiautomator 改用 UIAutomator2,或设置 ARTEMIS_HELPER_AUTO_INSTALL=false 阻止自动安装。若辅助服务在任务中失败,ARTEMIS 会回退到 UIAutomator2,并在任务时间线、mobile_manage_task 状态和最终报告中说明。该辅助服务仅在手机本地监听,不向其他地方发送数据。
架构要点 Pro 在执行单个动作前,会对照实时 UI 树与像素检查目标;动作突发(action bursts)可连续处理瞬时控件,无需等待另一次模型回合。元素定位结合无障碍层级、OCR 与视觉模型,覆盖自定义 Canvas、Compose 与 Flutter 界面。Flash 与 Pro 共享历史压缩机制,用视觉摘要替换较早截图,并把已完成步骤压缩为可搜索的历史片段,通过上下文阈值控制替换时机。
Flash 与 Pro 的适用与限制 Flash(--profile flash):快速、节省 token 的响应式循环,每步约 3–5 秒,由一个模型观察实时屏幕、思考并行动,无图编排。适合常规、确定性的 UI 任务。循环默认无上限(agent.flash.max_turns,0 表示不限),因为历史是被压缩而非截断;可与 Pro 共享会话记录台账(会话相对 T+mm:ss 计时、截图折叠为视觉摘要、较早步骤分块并可按需通过 search_history / replay_steps 召回),并可通过 video_analyzer 查询会话录像。瞬时 UI(自动淡出的控制条、Toast)可用 click_sequence 把多次点击串成一次操作。限制:无任务计划或笔记,无执行前安全网,无检查点验证或最终报告,也不支持 ADB shell。 Pro(--profile pro):规划与验证工作流,每步约 15–40 秒,基于多智能体图。Planner 维护一份带里程碑与 verify / assert 检查项的 Markdown 任务计划;Operator 使用完整工具集执行(Explorer 接地,其 flash / pro / ultra 层级由用户在配置中按 profile 设置,如 config/artemis.jsonc 的 pro.explorer.mode / flash.explorer_mode 或 --explorer-pro-mode,代理不会自行选择;还包括笔记、历史召回、视频分析、ADB 诊断)。每个动作都经过执行前安全网(XML 优先、像素回退),多动作快速突发可连续触发以应对瞬时 UI。被阻塞或失败的动作会开启一个执行事件,保留在 Operator 上下文中直到后续动作成功,由 Operator 自行处理恢复,没有单独的修复代理。只读 Checker 验证计划检查点,并针对原始目标进行退出终审(--verification-level:off / final(默认)/ checkpoints / strict),计划里程碑的修改会得到建议性审查。适合 100+ 步的长期工作流、[Loop:continuous] 监控与可选书面报告。
路线图(官方列出) Android Studio 集成:原生 IDE 插件与工作流集成,在编辑器内调试、录制测试并自动控制设备。 iOS 平台扩展:把多模态感知与移动自动化扩展到 iOS 设备与模拟器。 设备端轻量 VLM:使用边缘轻量视觉模型本地执行,实现低延迟、隐私优先的自动化。 实时双工语音交互:语音驱动任务派发,支持实时对话控制与打断处理。
社区与许可 项目欢迎贡献,可 Star 仓库、加入 Discord 社区、提交 Issue 或 Pull Request。采用 Apache License 2.0 许可。非 Google 所有的第三方代码位于 third_party/ 下,每个上游项目一个目录,各自带 LICENSE 与 METADATA;例如 third_party/mobile_use 来自 Minitap, Inc. 的部分代码,Apache License 2.0。
限制与补充:官方文档未提供具体收费、价格信息;其他未在此说明的功能与效果,资料中暂未提供。