google/artemis

★ 6,093⑂ 539

ARTEMIS turns natural-language instructions into reliable Android automation. It automates end-to-end workflows, captures logs

About google/artemis

google/artemis is an open-source project on GitHub, mainly written in Python. ARTEMIS turns natural-language instructions into reliable Android automation. It automates end-to-end workflows, captures logs It currently holds 6,093 stars and 539 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board.

GitHub Repository Details

Repository google/artemis · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/google/artemis/blob/HEAD/ARTEMIS Banner

Let AI assistants and test suites use real phones like a human.

English中文文档Workflow ShowcaseQuick StartMCP for IDEsBenchmarksDiscord Community

https://github.com/google/artemis/blob/HEAD/Python 3.12+ https://github.com/google/artemis/blob/HEAD/License: Apache-2.0 https://github.com/google/artemis/blob/HEAD/MCP Native https://github.com/google/artemis/blob/HEAD/Multi-Model https://github.com/google/artemis/blob/HEAD/AndroidWorld SOTA

https://github.com/google/artemis/blob/HEAD/Artemis in Action
Live Demo: Setup driving routes and calculate total durations in Google Maps, then open YouTube to play a Coldplay song.

Key Highlights

Antigravity × ARTEMIS: Autonomous Testing Workflow

Antigravity uses ARTEMIS through MCP to turn a test request into a plan, device execution, and a diagnostic report:

1. Prompt Input (Task Dispatch)
Describe your test scenario and target metrics in Antigravity

https://github.com/google/artemis/blob/HEAD/Step 1: Prompt Input in Antigravity
2. Test Plan Generation
Formulates a step-by-step test plan & architecture for review

https://github.com/google/artemis/blob/HEAD/Step 2: Test Plan Generation
3. Autonomous Test Execution
Drives real device, navigates UI, and profiles performance

https://github.com/google/artemis/blob/HEAD/Step 3: Autonomous Test Execution
4. Final Report
Delivers structured audit findings, metric tables, and raw datasets

https://github.com/google/artemis/blob/HEAD/Step 4: Final Report

Quick Start

Ensure an Android device (with USB Debugging enabled) or emulator is connected. The one-click startup script will automatically:

macOS and Linux

# 1. Clone repo & navigate to directory
git clone https://github.com/google/artemis.git && cd artemis

2. One-click launch

./start.sh

Windows PowerShell

# 1. Clone repo & navigate to directory
git clone https://github.com/google/artemis.git
cd artemis

2. One-click launch

.\start.bat
PowerShell does not search the current directory for executable scripts by default, so use .\start.bat without a trailing \. In Command Prompt (CMD), use start.bat instead.
Tip: Opens http://localhost:8000 in your default browser with a device connection wizard, live screen mirroring, prompt sandbox, and execution replays. You can also run directly from CLI: uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash.

MCP Setup for Codex / Antigravity / Claude Code / Windsurf (Click to expand)


ARTEMIS includes a native Model Context Protocol (MCP) server. Connect your real phone directly into AI IDEs:

1. One-Click Auto Install (Recommended)

Running ./start.sh (macOS/Linux) or .\start.bat (Windows PowerShell) will prompt you to configure global MCP and testing rules for detected IDEs (or you can install/update anytime later manually using the commands below):

# Auto-install MCP server & global rules for Antigravity / Jetski:
uv run artemis mcp --install antigravity

Or install for all supported AI IDEs (including Codex):

uv run artemis mcp --install all
Tip: You can also configure MCP interactively during first-time setup via uv run artemis init.
Pro Tip: If you want to use the artemis command globally without uv run in any directory, run uv tool install -e . once in the project root.

2. Manual Configuration (Optional)

If you prefer to configure manually, run uv run artemis mcp --generate-config (for example, codex or antigravity) to output the appropriate TOML or JSON snippet. Replace /path/to/artemis with your actual repo path and point command to your .venv Python executable:

  • Codex (~/.codex/config.toml):
[mcp_servers.artemis]
command = "/path/to/artemis/.venv/bin/python"
args = ["-m", "mcp_server"]
cwd = "/path/to/artemis"

[mcp_servers.artemis.env] PYTHONUNBUFFERED = "1" PYTHONPATH = "/path/to/artemis"

  • Antigravity (~/.gemini/jetski/mcp_config.json):
{
  "mcpServers": {
    "artemis": {
      "command": "/path/to/artemis/.venv/bin/python",
      "args": ["-m", "mcp_server"],
      "cwd": "/path/to/artemis",
      "env": {
        "PYTHONUNBUFFERED": "1"
      },
      "tools": {
        "mobile_run_task": { "eager": true },
        "mobile_manage_task": { "eager": true },
        "mobile_get_device_state": { "eager": true },
        "mobile_inspect_trace": { "eager": true },
        "mobile_diagnose": { "eager": true }
      }
    }
  }
}
  • Claude Desktop (claude_desktop_config.json):
{
  "mcpServers": {
    "artemis": {
      "command": "/path/to/artemis/.venv/bin/python",
      "args": ["-m", "mcp_server"],
      "cwd": "/path/to/artemis"
    }
  }
}

3. Mount Behavioral Rules for AI Agents (Highly Recommended)

To ensure your AI coding assistant acts with the rigor of a senior mobile test engineer and never hallucinates UI interactions, we provide a dedicated testing mindset rules file at mcp_server/rules.md (covering Active Exploration before coding, Flash vs. Pro routing strategy, Latency & Timing compensation, and the "Dynamic-First, Coordinate-Fallback" locator pattern).

You can mount or copy mcp_server/rules.md into your AI IDE's rule configuration:

  • Antigravity: Add the contents of rules.md to your Workspace Rules, Global Rules settings, or agent instructions.
  • Claude Code: Run artemis mcp --install claude to install the rules to ~/.claude/rules/artemis.md (install to exactly one location — Claude Code loads both ~/.claude/CLAUDE.md and ~/.claude/rules/*.md, so duplicating the rules wastes context).
  • Cursor: Copy the contents into .cursorrules or create a rule file at .cursor/rules/artemis.mdc.
  • Codex: Add the contents to ~/.codex/AGENTS.md (or the active AGENTS.override.md).
  • Windsurf / OpenClaw: Add the rules to your workspace rules or global system prompts.
For more details on the testing mindset and MCP architecture, see the MCP Server README.

4. Prompt Your Phone in the IDE Chat

In Codex, Antigravity, or Claude Code, simply prompt:
"Build the latest changes into an APK, install it on the connected device, open the login screen with a test account, verify if there are any unexpected popups after login, and return screenshots of the final page."

Python SDK Integration (Click to expand)


Install the zero-runtime-dependency client on the development machine. ADB, agents, models, and image processing remain on the device host:

uv add "artemis-client @ git+https://github.com/google/artemis.git#subdirectory=packages/artemis-client"
import asyncio
from artemis_client import ArtemisClient

async def main(): client = ArtemisClient( "http://artemis-host:8000", device_serial="emulator-5554", # optional: target specific device serial default_profile="flash", # "flash" (fast reactive) or "pro" (deep reasoning) )

result = await client.run( "Open System Settings, go to 'Battery', verify battery percentage is displayed, and check for any crash dialogs.", )

assert result.succeeded, f"Test failed: {result.error or result.status}" print(f"✅ Test Passed! Device: {result.device_serial} | Trace ID: {result.trace_id}")

if __name__ == "__main__": asyncio.run(main())

Usage Modes

https://github.com/google/artemis/blob/HEAD/Artemis Web Console
Console Overview: ① View Switcher (Home / Workspace) · ② Model & Replay (Flash/Pro status & video replay) · ③ Live Agent Stream (Action perception, target coordinates & structured results) · ④ Prompt Dock (Natural language dispatch) · ⑤ Task Queue & Dashboard (Lifecycle & history)

What ARTEMIS Installs on Your Phone

The first task on a device installs the Artemis Accessibility Helper, a small accessibility service that reads the screen layout without taking the UiAutomation connection. Tools using UiAutomation can suppress the helper unless they enable FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES. You will see a collapsed "Artemis test helper is running" notification and a new entry under Settings > Accessibility; both are that helper. It listens only on the phone itself and sends nothing elsewhere.

If the helper ever fails mid-task, ARTEMIS falls back to UIAutomator2 and says so in the task timeline, in mobile_manage_task status, and in the final report.

Benchmarks: AndroidWorld (SOTA 99%+)

Artemis achieved a 99%+ completion rate on AndroidWorld, Google Research's benchmark spanning 20+ apps and 100+ multi-step tasks.

https://github.com/google/artemis/blob/HEAD/AndroidWorld Benchmark Comparison

How ARTEMIS is Architected

https://github.com/google/artemis/blob/HEAD/ARTEMIS System Architecture Diagram

Execution Profiles: Flash vs. Pro

ARTEMIS supports two execution profiles tailored for different automation requirements:

Roadmap

Community & Contributing

Contributions are warmly welcomed!

License

This project is licensed under the Apache License 2.0.

This project includes source code developed by Minitap, Inc..

GitHub Stars & Activity

6,093Stars
539Forks
0Open issues
PythonLanguage

GitHub Popularity

GitHub stars6,093
Forks539
Open issues0
Primary languagePython
License-
Stars gained today0
Created-
Last pushed-

Trending History

Monthly boardrank #87 · ▲ 0 stars

Related AI Projects

1

TauricResearch / TradingAgents

Python★ 106,809⑂ 20,403▲ 727 stars
2

unclecode / crawl4ai

Python★ 83,629⑂ 8,637▲ 84 stars
3

Panniantong / Agent-Reach

Python★ 82,168⑂ 7,160▲ 960 stars
4

ComposioHQ / awesome-claude-skills

Python★ 75,166⑂ 8,691▲ 70 stars
5

calesthio / OpenMontage

Python★ 59,395⑂ 7,477▲ 273 stars
6

roboflow / supervision

Python★ 50,378⑂ 4,801▲ 217 stars
7

bojieli / ai-agent-book

Python★ 47,802⑂ 5,328▲ 660 stars
8

anthropics / claude-plugins-official

Python★ 36,385⑂ 4,076▲ 56 stars

More AI Rankings