
artemis
说句话就能自动操作安卓手机,跑通全流程还带日志
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-13 · 当前星标 ★ 16195
使用教程
环境要求
- 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 <client> 生成 TOML/JSON 片段,把里面的 /path/to/artemis 换成真实路径,并让 command 指向你的 .venv Python。
注意事项
- 所有命令都以 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
同类项目推荐
zhiai_nodes_comfyui
开源
把翻译、看图写词、扩写提示词塞进 ComfyUI 工作流,一键串联
55+ ComfyUI自定义节点合集,涵盖提示词生成/扩写、多平台翻译、AI视觉理解、图像处理、视···
ai-auto-work
开源
让 AI 自动跑完需求到开发评审,搞定中大型项目
Automatically completes the full workflow from requirement research → research revi···
workflow
开源
用 TypeScript 轻松构建可靠、可观测的 AI 工作流
Workflow SDK: Build durable, reliable, and observable apps and AI Agents in TypeScri···
ai-git-bot
开源
自托管 AI 机器人,自动搞定 Git 仓库的代码审查和日常任务
The self-hosted AI workflow automation platform for Git repositories.
dev-proxy
开源
一条命令给接口注入故障,本地验证容错逻辑
Simulate API failures, throttling, and chaos — all from your command line.
skill-recorder
开源
录屏即生成 AI 技能,自动化操作一步到位
Desktop app that records your on-screen work session and uses the GitHub Copilot SDK···
watomatic
开源
忙时自动回消息,WhatsApp/Facebook 两不误
Auto reply app to enable auto reply for messengers like WhatsApp and Facebook Messen···
workflow_templates
开源
一键加载 ComfyUI 预设工作流,免搭节点直接出图
ComfyUI template workflows
tokenjuice
开源
压缩终端输出,给 Agent 上下文省 Token 省钱
Token weight loss. Lean output compaction for terminal-heavy agent workflows. Works ···