Artemis 集群遥测CLI工具

google/artemis 访问 GitHub ↗
🔤 Python ★ 11549 ⑂ 0 monthly #22 (+7039) 抓取 2026-10-14

一句话简介

Artemis 是 Google 开源的 Python 命令行工具,用于获取并展示 Slurm 集群的遥测数据,帮助用户监控和排查调度环境。

标签

  • 集群监控
  • Slurm
  • 命令行工具
  • Python
  • 可观测性

适用应用场景

  • 查询 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…