TopGit
GitHub Repo Review

ARTEMIS Android AI automation for real devices

google/artemis
ATopGit review image for google/artemis
Review by Topgit.dev for google/artemis, with GitHub repository stats and README context.
Quick verdict

ARTEMIS is a practical Android automation and testing tool for teams willing to drive a real device or emulator rather than mock the UI. Its Flash profile is quick for routine tasks, while Pro adds planning, safety checks, and final verification for longer workflows. The setup is unusually complete, though Android-only support and profile trade-offs matter.

Stars
โ˜… 16.8k
Forks
โ‘‚ 1.9k
Contributors
๐Ÿ‘ฅ 8
Language
Python
License
Apache-2.0
Topic
โ€”
Updated
Oct 2026
Homepage
โ€”

What ARTEMIS Automates

ARTEMIS is a command-line Android AI agent that turns natural-language instructions into actions on connected phones and emulators. It automates cross-app workflows, test execution, exploratory runs, Logcat capture, and screenshot-based inspection. MCP connections and a Python client let coding assistants and test suites drive the same device layer.

Targeting, Execution, and Diagnostics

  • โœ“Natural-language cross-app execution turns an instruction such as opening Settings and checking battery information into actions on a connected Android device.
  • โœ“Element targeting prefers available indices, then falls back to the accessibility hierarchy, OCR, visual models, and coordinates for custom Canvas, Compose, or Flutter interfaces.
  • โœ“The reactive Flash profile uses an observe-and-act loop with compressed history, while action bursts handle controls that appear only briefly.
  • โœ“The planning-oriented Pro profile maintains milestones, checks targets before actions, records incidents for recovery, and can verify checkpoints against the original goal.
  • โœ“MCP integration lets supported AI IDEs control devices and collect Logcat output, screenshots, task status, traces, and diagnostic information.
  • โœ“Shared history compression replaces older screenshots with visual summaries and searchable chunks, reducing the need to carry every completed step forward.
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history โ†—

Practical Android Automation Workflows

  • โ€ขCheck everyday device flows with plain-language instructions.
  • โ€ขRun multi-app tests that combine Maps, YouTube, Settings, and other installed applications on one Android device.
  • โ€ขReproduce login bugs, unexpected pop-ups, and crash dialogs while keeping screenshots and Logcat output attached to the investigation.
  • โ€ขPerform exploratory and stability sessions with ARTEMIS Pro, including checkpoint verification and long-running workflow monitoring.
  • โ€ขConnect Codex, Antigravity, Claude Code, or Windsurf through the ARTEMIS MCP server for device-driven coding and testing tasks.

Set Up ARTEMIS and Android Tooling

Clone the repository, connect an Android device with USB Debugging enabled, and run the launcher. The setup detects and installs ADB, scrcpy, FFmpeg, and the Python dependencies managed through `uv`. Start with a device. macOS and Linux: bash git clone https://github.com/google/artemis.git && cd artemis ./start.sh Windows PowerShell: powershell git clone https://github.com/google/artemis.git cd artemis .\start.bat The launcher opens `http://localhost:8000` with connection, mirroring, prompt, and replay controls. For global CLI access, the README also documents `uv tool install -e .` from the project root.

Run ARTEMIS Through Four Interfaces

**CLI:** Run a direct task with `uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash`. Replace `flash` with `pro` for planning and verification. **Web console:** Start the console with `uv run artemis ui`. It shows live screen projection, reasoning telemetry, action trajectories, execution replays, a task queue, and natural-language dispatch. **MCP:** Install the server configuration with `uv run artemis mcp --install all`, or target one client such as `uv run artemis mcp --install antigravity`. Then ask the connected assistant to build, install, run, inspect, and diagnose a flow on the attached device. **Python SDK:** Install the client with `uv add "artemis-client @ git+https://github.com/google/artemis.git#subdirectory=packages/artemis-client"`. Use `ArtemisClient` with a device serial and either `default_profile="flash"` or `default_profile="pro"`, then call `client.run(...)` and inspect `result.succeeded`, `result.error`, and `result.trace_id`.

Strengths

  • โœ“The natural-language interface makes routine device tasks quicker to specify than a long sequence of hand-written selectors and shell commands.
  • โœ“Targeting falls back beyond basic accessibility elements, which matters for custom interfaces where an index or stable hierarchy path may not exist.
  • โœ“The ARTEMIS MCP server brings device actions and diagnostics into AI coding assistants without requiring every workflow to pass through the terminal.
  • โœ“Pro provides a concrete testing structure through plans, pre-execution checks, incidents, checkpoint verification, and final review.
  • โœ“Flash and Pro serve materially different needs: low-latency reactive execution for routine work and deeper validation for important flows.

Platform and Execution Constraints

  • โ–ณARTEMIS currently supports Android; iOS devices and simulators remain a roadmap item.
  • โ–ณFlash omits task plans, the pre-execution safety net, checkpoint verification, final reporting, and ADB shell access. Its default turn limit is also unbounded.
  • โ–ณPro is slower: the README describes roughly 15โ€“40 seconds per step, compared with about 3โ€“5 seconds for Flash.
  • โ–ณA physical device or emulator, USB Debugging, and host tooling are part of the working environment. UiAutomation-based tools can suppress the helper, forcing a fallback to UIAutomator2.
  • โ–ณThe reported 99%+ AndroidWorld completion rate covers the benchmark's 20+ apps and 100+ multi-step tasks, so it should not be read as a guarantee for every production application.

Direct ADB and UIAutomator2 Workflows

adb โ€” direct ADB workflows provide lower-level device control without ARTEMIS's natural-language loop, visual targeting, planning, or diagnostic report.UIAutomator2 โ€” direct UIAutomator2 scripts suit deterministic hierarchy-based tests; ARTEMIS can use UIAutomator2 as its hierarchy backend or fallback, but adds multimodal perception and agent-driven execution.

ARTEMIS Questions and Answers

What license does ARTEMIS use?

ARTEMIS uses the Apache License 2.0. The repository also includes third-party code under `third_party/`, where each upstream component has its own LICENSE and METADATA files.

Which AI IDEs can connect to ARTEMIS through MCP?

ARTEMIS provides MCP setup for Codex, Antigravity, Claude Code, and Windsurf. Its launcher can also configure other supported clients, including Cursor, VS Code, Cline/Roo, and OpenClaw, with global agent rules.

What is the difference between the Flash and Pro execution profiles?

ARTEMIS Flash is a fast reactive loop for routine tasks, typically taking about 3โ€“5 seconds per step, but it has no plan, safety net, checkpoint verification, final report, or ADB shell. Pro adds planning, pre-action checks, recovery incidents, and verification, at roughly 15โ€“40 seconds per step.

What benchmark result does ARTEMIS achieve on AndroidWorld?

ARTEMIS reports 99%+ task completion on Google Research's AndroidWorld benchmark. The README describes that benchmark as covering 20+ apps and 100+ multi-step tasks.

What does ARTEMIS install on an Android device?

ARTEMIS installs the Artemis Accessibility Helper on the phone. The helper reads the screen layout locally, can be installed in advance with `uv run artemis helper install`, and can be removed with `uv run artemis helper uninstall`.

Does ARTEMIS currently support iOS devices?

ARTEMIS does not currently support iOS devices or simulators. The roadmap lists iOS platform expansion as future work, while the present implementation targets Android.

Who should try it โ€” and who should skip

Try ARTEMIS if your team already works with Android devices or emulators and wants natural-language Android automation, AI-assisted Android testing, or device access from an AI coding assistant. Pro is the better fit for regression work where verification matters; Flash is the better fit for quick exploratory checks. Skip it if you need iOS support today, require a deterministic script with no model in the loop, or cannot allow an accessibility helper on the device.

Related repositories

Source & attribution

Source: the `google/artemis` GitHub repository and its README, including the documented setup, profiles, MCP integrations, device helper, architecture, and AndroidWorld results.

GitHub data ยท last synced Oct 29, 2026Reviewed by Henry
โ† Back to TopGit

Still deciding about artemis?

One click hands the question to an AI along with this page โ€” see what it says about artemis.

GitHub