
artemis
说句话就能自动操作安卓手机,跑通全流程还带日志
ARTEMIS 是一个用自然语言驱动 Android 自动化的开源框架,目标是把「帮我点开设置、登录账号、完成下单」这类口语化指令,转成可靠可复现的端到端操作流程。它面向移动端测试与自动化场景,解决传统 UI 自动化脚本编写繁琐、维护成本高、跨应用流程易断的问题。核心能力包括:自然语言指令解析与任务规划、基于视觉与控件识别的元素定位、多步骤工作流编排与失败重试、自动捕获运行日志与截图便于排查,并能与 Antigravity、Codex、Claude Code 等 AI 编程助手集成,让开发者在写代码时直接调用自动化能力。项目在 AndroidWorld Benchmark 上宣称达到 99%+ 成功率,说明其在标准任务集上稳定性较强。技术栈为 Python,标签覆盖 ai-agents、android、test-automation,适合做回归测试、流程验证和 AI Agent 落地实验。
项目数据
使用教程
环境要求
- Python 3.12+ 环境(推荐用 uv 管理,start 脚本会自动安装)
- 一台已连接并开启 USB 调试的 Android 真机,或一个正在运行的 Android 模拟器
- start 脚本会自动检测并安装 ADB、scrcpy、FFmpeg 等系统工具链
- 可选:一个支持 MCP 的 AI IDE(Antigravity、Cursor、Claude Code、Codex、Windsurf、VS Code、Cline
安装与启动步骤
-
1准备 Android 设备
把真机用 USB 连上电脑并在开发者选项里打开 USB 调试,或先启动 Android 模拟器;后续所有任务都跑在这台设备上。
-
2一键自动安装
在项目根目录执行启动脚本,它会自动安装系统工具链并提示你为检测到的 AI IDE 配置全局 MCP 与测试规则。Windows 用户改用 .start.bat。
./start.sh -
3配置 AI IDE 的 MCP
把 Artemis MCP 服务和全局规则装进 AI IDE;只装 Antigravity 用 antigravity,装全部支持的 IDE 用 all。也可用 uv run artemis init 交互式配置。
uv run artemis mcp --install all -
4生成手动配置片段
不想自动安装时,用该命令输出对应客户端的 TOML 或 JSON 片段(如 codex、antigravity),再把里面的 /path/to/artemis 替换成你的真实仓库路径。
uv run artemis mcp --generate-config codex -
5安装全局命令(可选)
在项目根目录执行一次,之后任意目录都能直接用 artemis 命令,不必再写 uv run 前缀。
uv tool install -e . -
6启动可视化控制台
启动 Web 测试控制台,可实时投屏、用自然语言下发测试任务、查看推理过程与执行回放;随时可用 uv run artemis stop / restart / status 管理服务。
uv run artemis ui -
7命令行跑任务
在终端直接执行自动化测试用例或做探索性稳定性检查,输出结构化结果,也支持跑 AndroidWorld 基准。
uv run artemis run -
8预装设备辅助服务(可选)
首个任务会自动在手机上安装 Artemis Accessibility Helper;提前执行此命令可省掉首次任务约 3 秒的延迟,用 helper status 查看状态。
uv run artemis helper install
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
ARTEMIS_HIERARCHY_BACKEND | 否 | 改为使用 UIAutomator2 作为界面层级后端,写在 .env 中 | uiautomator |
ARTEMIS_HELPER_AUTO_INSTALL | 否 | 设为 false 可禁止自动安装设备端 Accessibility Helper,写在 .env 中 | false |
PYTHONUNBUFFERED | 是 | MCP 配置中的环境变量,保证子进程日志不被缓冲 | 1 |
PYTHONPATH | 否 | 手动配置 Codex 时需把项目根目录加进模块搜索路径 | /path/to/artemis |
mcp_servers.artemis.command | 是 | MCP 客户端启动的 Python 解释器,指向项目 .venv 中的可执行文件 | /path/to/artemis/.venv/bin/python |
mcp_servers.artemis.cwd | 是 | MCP 服务的工作目录,填你的实际仓库路径 | /path/to/artemis |
如何确认成功
执行 uv run artemis status 查看服务状态,用 uv run artemis doctor 或 uv run artemis helper status 确认设备与辅助服务正常。
常见问题
Q:第一个任务为什么慢了几秒?
A:首次任务需要向手机安装 Artemis Accessibility Helper 辅助服务。可提前执行 uv run artemis helper install 预装,避免这约 3 秒的延迟。
Q:手机上多出来的通知和无障碍条目是什么?
A:那是 Artemis 测试辅助服务,只在本机读取屏幕布局,不向任何外部发送数据。不想用可执行 uv run artemis helper uninstall 卸载。
Q:如何改用 UIAutomator2?
A:在 .env 中设置 ARTEMIS_HIERARCHY_BACKEND=uiautomator。若辅助服务在任务中失败,Artemis 也会自动回退到 UIAutomator2 并在任务时间线中说明。
Q:不想每次都写 uv run 怎么办?
A:在项目根目录执行一次 uv tool install -e .,之后在任意目录都能直接使用 artemis 命令。
Q:可以手动配置 MCP 吗?
A:可以。运行 uv run artemis mcp --generate-config
注意事项
- 所有命令都以 README 中给出的 uv run artemis 形式为准,官方推荐用一键脚本完成工具链安装。
- 手动配置 MCP 时务必把示例中的 /path/to/artemis 替换为你的实际仓库路径,否则服务无法启动。
- 设备端辅助服务只在本机读取屏幕布局,不上传任何数据;不使用时可以随时卸载。
- 项目当前为 README 摘录信息,AndroidWorld 99%+ 的成绩以官方基准说明为准。
核心亮点
- 支持自然语言直接生成 Android 端到端操作流,降低脚本编写门槛
- 在 AndroidWorld 基准上成功率 99%+,标准任务稳定性有量化支撑
- 可对接 Antigravity、Codex、Claude Code 等 AI 编程助手,融入开发工作流
不足之处
- 真实设备/复杂 App 上的泛化能力仍需更多第三方验证
- 对 Android 版本、权限弹窗和厂商定制系统可能存在兼容性差异
适用场景
- 移动 App 回归测试:用自然语言描述用例,自动跑完多页面流程
- AI Agent 实验:让编码助手直接调用手机操作能力完成端到端任务
- 跨应用流程自动化:如登录、搜索、下单、截图留证一条龙执行
替代项目
Appium、Maestro、DroidBot
项目介绍
上一篇:tokenjuice
同类项目推荐
n8n
开源
拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。
Fair-code workflow automation platform with native AI capabilities. Combine visual b···
robotcode
开源
让 Robot Framework 拥有现代 IDE 体验,调试、补全、运行一气呵成。
Open Source Toolkit for Robot Framework, providing Language Server Protocol support,···
puppeteer
开源
用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。
JavaScript API for Chrome and Firefox
customermates
开源
比 Pipedrive 直观 10 倍的现代开源 CRM,轻松管理客户与自动化流程。
Building a modern alternative to Pipedrive that is 10x more intuitive.