
ADB経由で実機を操作し、Logcatとスクリーンショットを取得し、AI IDEやCIテストパイプライン向けにMCPサーバーを公開する、自然言語によるAndroid自動化エージェント。
AIアシスタントとテストスイートが、人間のように実機のスマートフォンを操作できるようにします。
English • 中文文档 • ワークフローショーケース • クイックスタート • IDE向けMCP • ベンチマーク • Discordコミュニティ
ライブデモ: Google Mapsでルートを設定して合計所要時間を計算し、その後YouTubeを開いてColdplayの曲を再生します。
Antigravity はMCPを通じて ARTEMIS を使用し、テスト要求を計画、デバイス実行、診断レポートへと変換します:
Androidデバイス(USBデバッグ を有効化)またはエミュレータが接続されていることを確認してください。ワンクリック起動スクリプトが自動的に以下を実行します:
uv)の依存関係を検出して自動インストールします。rules.md) をAI IDE(Antigravity、Cursor、Claude Code、Codex、Windsurf、VS Code、Cline/Roo、OpenClaw)に自動インストールするか確認します。# 1. Clone repo & navigate to directory
git clone https://github.com/google/artemis.git && cd artemis
# 2. One-click launch
./start.sh
# 1. Clone repo & navigate to directory
git clone https://github.com/google/artemis.git
cd artemis
# 2. One-click launch
.\start.bat
PowerShellはデフォルトでは実行可能スクリプトをカレントディレクトリから検索しないため、末尾の
\を付けずに.\start.batを使用してください。コマンドプロンプト(CMD)では代わりにstart.batを使用してください。
ヒント: デフォルトブラウザで
http://localhost:8000を開き、デバイス接続ウィザード、ライブ画面ミラーリング、プロンプトサンドボックス、実行リプレイを提供します。CLIから直接実行することもできます:uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash。
ARTEMISにはネイティブの Model Context Protocol (MCP) サーバーが含まれています。実機のスマートフォンをAI IDEに直接接続できます:
./start.sh(macOS/Linux)または .\start.bat(Windows PowerShell)を実行すると、検出されたIDE向けにグローバルMCPとテストルールを設定するか確認されます(または、以下のコマンドを使用して後でいつでも手動でインストール/更新できます):
# 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
ヒント: 初回セットアップ時に
uv run artemis initを介してMCPを対話的に設定することもできます。 プロのヒント: 任意のディレクトリでuv runなしでartemisコマンドをグローバルに使用したい場合は、プロジェクトルートで一度uv tool install -e .を実行してください。
手動で設定する場合は、uv run artemis mcp --generate-config <client>(例えば や )を実行して、適切なTOMLまたはJSONスニペットを出力します。 を実際のリポジトリパスに置き換え、 を のPython実行ファイルに指定してください:
開発マシンにランタイム依存ゼロのクライアントをインストールします。ADB、エージェント、モデル、画像処理はデバイスホスト上に残ります:
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())
コンソール概要: ① ビュー切り替え(ホーム / ワークスペース) · ② モデルとリプレイ(Flash/Proステータスと動画リプレイ) · ③ ライブエージェントストリーム(アクション知覚、ターゲット座標、構造化結果) · ④ プロンプトドック(自然言語ディスパッチ) · ⑤ タスクキューとダッシュボード(ライフサイクルと履歴)
uv run artemis ui): リアルタイム画面投影とインタラクティブパネル。自然言語テストディスパッチ、ライブ推論テレメトリ、アクション軌跡、実行リプレイをサポート。任意のターミナルから uv run artemis restart、uv run artemis stop、uv run artemis status を使用してサーバーライフサイクルをいつでも管理できます。uv run artemis run): 自動テストケース、探索的安定性検査、またはAndroidWorldベンチマークを、高忠実度の構造化ターミナル出力で直接ターミナル実行します。デバイス上の最初のタスクで Artemis Accessibility Helper がインストールされます。これは、UiAutomation接続を占有せずに画面レイアウトを読み取る小さなアクセシビリティサービスです。UiAutomationを使用するツールは、FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES を有効にしない限り、このヘルパーを抑制する可能性があります。折りたたまれた「Artemis test helper is running」通知と、設定 > アクセシビリティの下に新しいエントリが表示されます。どちらもこのヘルパーです。ヘルパーはスマートフォン自体でのみ待ち受け、他のどこにも何も送信しません。
uv run artemis helper installuv run artemis helper status / uv run artemis doctoruv run artemis helper uninstall.env で ARTEMIS_HIERARCHY_BACKEND=uiautomator.env で ARTEMIS_HELPER_AUTO_INSTALL=falseタスクの途中でヘルパーが失敗した場合、ARTEMISはUIAutomator2にフォールバックし、その旨をタスクタイムライン、mobile_manage_task ステータス、および最終レポートで通知します。
Artemisは、Google Researchのベンチマークである AndroidWorld(20以上のアプリ、100以上のマルチステップタスク)で 99%以上の完了率 を達成しました。
ARTEMISは、異なる自動化要件に合わせた2つの実行プロファイルをサポートしています:
--profile flash): 高速でトークン効率の良いリアクティブループ(1ステップあたり約3〜5秒)。1つのモデルがライブ画面を観察し、考え、行動します。グラフオーケストレーションはありません。定型的で決定論的なUIタスクに最適です。履歴は上限を設けるのではなく圧縮されるため、ループはデフォルトで無制限です(agent.flash.max_turns、0 = 無制限)。FlashはProセッションのトランスクリプト台帳(セッション相対の T+mm:ss クロック、スクリーンショットは視覚サマリーに折り畳まれ、古いステップは時代ごとにチャンク化され search_history / replay_steps を介してオンデマンドで呼び出し可能)を共有し、video_analyzer を通じてセッション録画を照会できます。一時的なUI(自動フェードするコントロールバー、トースト)は、タップを1つの click_sequence に連結することで処理されます。制限事項: タスク計画やノートなし、実行前のセーフティネットなし、チェックポイント検証や最終レポートなし、ADBシェルなし。--profile pro): 計画と検証のワークフロー(1ステップあたり約15〜40秒)で、マルチエージェントグラフとして構築されています。Planner はマイルストーンと verify / assert チェック項目を含む生きたMarkdownタスク計画を維持します。Operator はフルツールセット(Explorerグラウンディング — その flash / pro / ティアはプロファイルごとのユーザー設定であり、 の / または で指定され、エージェントが選択することはありません — ノート、履歴呼び出し、動画分析、ADB診断)でそれを実行します。すべての単一アクションは実行前の (XML優先、ピクセルフォールバック)を通過し、マルチアクションの は一時的なUIでのターンレイテンシを打ち負かすために連続して発火します。ブロックまたは失敗したアクションは を開き、後のアクションが成功するまでOperatorのコンテキストに留まるため、リカバリは別個の修復エージェントなしでOperator自身によって処理されます。読み取り専用の は計画チェックポイントを検証し、元の目標に対して終了時最終レビューを実行します(: / (デフォルト)/ / )。計画マイルストーンの編集には助言的なレビューが付きます。100以上のステップの長期的ワークフロー、 モニタリング、およびオプションの書面レポートを処理します。コントリビューションを心より歓迎します!
このプロジェクトは Apache License 2.0 の下でライセンスされています。
このプロジェクトには、Minitap, Inc. によって開発されたソースコードが含まれています。
|
1. プロンプト入力(タスクディスパッチ) Antigravityでテストシナリオと目標指標を記述します
|
2. テスト計画の生成 レビュー用にステップバイステップのテスト計画とアーキテクチャを策定します
|
|
3. 自律テスト実行 実機を操作し、UIをナビゲートし、パフォーマンスをプロファイリングします
|
4. 最終レポート 構造化された監査結果、指標テーブル、生データセットを提供します
|
codexantigravity/path/to/artemiscommand.venv~/.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"
~/.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_config.json):{
"mcpServers": {
"artemis": {
"command": "/path/to/artemis/.venv/bin/python",
"args": ["-m", "mcp_server"],
"cwd": "/path/to/artemis"
}
}
}
AIコーディングアシスタントがシニアモバイルテストエンジニアの厳密さで行動し、UI操作を決して幻覚しないようにするため、専用のテストマインドセットルールファイルを mcp_server/rules.md に提供しています(コーディング前のアクティブ探索、Flash対Proのルーティング戦略、レイテンシとタイミングの補正、「Dynamic-First, Coordinate-Fallback」ロケーターパターン をカバー)。
mcp_server/rules.md をAI IDEのルール設定にマウントまたはコピーできます:
rules.md の内容をワークスペースルール、グローバルルール設定、またはエージェント指示に追加します。artemis mcp --install claude を実行してルールを ~/.claude/rules/artemis.md にインストールします(インストール先は1箇所のみにしてください — Claude Codeは ~/.claude/CLAUDE.md と ~/.claude/rules/*.md の両方を読み込むため、ルールを重複させるとコンテキストが無駄になります)。.cursorrules にコピーするか、.cursor/rules/artemis.mdc にルールファイルを作成します。~/.codex/AGENTS.md(またはアクティブな AGENTS.override.md)に追加します。テストマインドセットとMCPアーキテクチャの詳細については、MCP Server READMEを参照してください。
Codex、Antigravity、またはClaude Codeで、次のようにプロンプトを送信するだけです:
「最新の変更をAPKにビルドし、接続されたデバイスにインストールし、テストアカウントでログイン画面を開き、ログイン後に予期しないポップアップがないか確認し、最終ページのスクリーンショットを返してください。」
ultraconfig/artemis.jsoncpro.explorer.modeflash.explorer_mode--explorer-pro-mode--verification-levelofffinalcheckpointsstrict[Loop:continuous]