ARTEMIS Android AI automation for real devices
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.
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.
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
ARTEMIS Questions and Answers
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.
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.
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.
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.
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`.
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
Still deciding about artemis?
One click hands the question to an AI along with this page โ see what it says about artemis.
