Artemis 集群遥测CLI工具
一句话简介
Artemis 是 Google 开源的 Python 命令行工具,用于获取并展示 Slurm 集群的遥测数据,帮助用户监控和排查调度环境。
标签
适用应用场景
- 查询 Slurm 集群节点实时状态
- 排查作业资源分配与调度异常
- 导出遥测指标用于容量分析
- 作为日常集群运维巡检脚本
README 中文摘要
项目简介
ARTEMIS 是一个面向 Android 设备的端到端自动化与测试框架,让 AI 助手与测试套件能够像真人一样操控真实手机。它结合了视觉-语言模型(VLM)、辅助功能服务与 ADB 工具链,支持从自然语言指令完成跨应用任务流,并在 Google Research 的 AndroidWorld 基准(100+ 多步任务、20+ 应用)上达到 99%+ 的任务完成率。
核心特性
- 跨应用自动化:通过自然语言执行日常任务与测试流程。
- 多模态元素定位:优先使用元素索引,回退到坐标定位与视觉定位,可处理自定义 Canvas、Compose、Flutter 界面。
- IDE 诊断集成:原生 Model Context Protocol(MCP)服务器,使 Antigravity、Claude Code、Windsurf 等 IDE 可直接驱动设备并收集 Logcat 与截图。
- Flash 快速执行:反应式观察-行动循环,配合异步历史摘要,单步约 3–5 秒。
- Pro 探索模式:执行每个动作前预检目标,遇到阻塞动作时回退到操作器进行恢复,适合长时运行与稳定性测试。
快速开始
需连接一台开启 USB 调试的真机或模拟器。一键启动脚本会自动完成:
- 检测并安装 ADB、scrcpy、FFmpeg、uv 等系统工具链;
- 挂载全局 MCP 服务器与 AI 代理规则到主流 IDE(Antigravity、Cursor、Claude Code、Codex、Windsurf、VS Code 等)。
git clone https://github.com/google/artemis.git && cd artemis
./start.sh # macOS / Linux
.\start.bat # Windows PowerShell
启动后默认在 http://localhost:8000 打开 Web 控制台(包含设备连接向导、实时投屏、提示词沙箱、回放等功能),也可直接使用 CLI:
uv run artemis run "打开设置,找到电池并告诉我当前电量" --profile flash
MCP 配置
启动脚本会提示自动安装全局 MCP 配置,也可手动安装:
uv run artemis mcp --install antigravity # 单个 IDE
uv run artemis mcp --install all # 全部支持的 IDE
手动配置时使用 uv run artemis mcp --generate-config <client> 生成对应片段,再将 command 指向 .venv 下的 Python 可执行文件。下面是 Antigravity 的 JSON 示例:
{
"mcpServers": {
"artemis": {
"command": "/path/to/artemis/.venv/bin/python",
"args": ["-m", "mcp_server"],
"cwd": "/path/to/artemis",
"env": { "PYTHONUNBUFFERED": "1" }
}
}
}
建议同时将 mcp_server/rules.md 挂载到 AI 代理规则文件中,内容涵盖主动探索、Flash/Pro 路由策略、延迟补偿与“动态优先、坐标兜底”的定位模式,可在 IDE 内直接用自然语言驱动设备执行测试。
Python SDK
将零运行时依赖的客户端集成到现有测试框架:
import asyncio
from artemis_client import ArtemisClient
async def main():
client = ArtemisClient(
"http://artemis-host:8000",
device_serial="emulator-5554",
default_profile="flash", # flash 快速反应;pro 深度推理
)
result = await client.run("打开系统设置,进入电池页,验证电量百分比显示,并检查是否有崩溃弹窗")
assert result.succeeded
print(f"通过!设备:{result.device_serial} | Trace:{result.trace_id}")
asyncio.run(main())
设备端辅助服务
首次任务会在设备上安装 Artemis Accessibility Helper(一个轻量辅助功能服务),用于读取屏幕布局而不占用 UiAutomation 连接。通知栏会出现折叠的“Artemis test helper is running”提示。可通过以下命令管理:
uv run artemis helper install # 预装,避免首次任务 ~3 秒延迟
uv run artemis helper status
uv run artemis helper uninstall # 随时卸载
也可在 .env 中设置 ARTEMIS_HIERARCHY_BACKEND=uiautomator 使用 UIAutomator2,或 ARTEMIS_HELPER_AUTO_INSTALL=false 关闭自动安装。
架构与执行模式
系统架构包含以下关键机制: - 预检与动作连发:Pro 模式在分发动作前基于实时 UI 树与像素做安全校验,动作连发机制用于在短暂控件消失前完成点击链。 - 元素定位:结合辅助功能层级、OCR 与视觉模型。 - 共享历史压缩:Flash 与 Pro 将旧截图替换为视觉摘要,并将已完成步骤压缩为可检索的历史片段。
两种执行模式:
- Flash (--profile flash):单模型反应式循环,约 3–5 秒/步,适合确定性 UI 任务;不支持任务计划、检查点与 ADB shell。
- Pro (--profile pro):多智能体图(约 15–40 秒/步),包含 Planner(维护 Markdown 计划与验证项)、Operator(执行 + 探索器 + 安全网)、Checker(检查点与终审)。支持 100+ 步长流程与 Loop:continuous 监控。
路线图
- Android Studio 原生插件集成
- iOS 平台扩展
- 端侧轻量 VLM 本地执行
- 实时双工语音交互
摘要更新于 2026-10-14 00:37:15
· 原文 17747 字符
· md5 c2b101f580ab…