OpenSource-Hub

artemis

CLI ツール

google/artemis

自然言語の指示を信頼性の高い Android 自動化に変換する AI エージェント。

概要

ARTEMIS は、自然言語の指示を信頼性の高い Android のエンドツーエンド自動化プロセスに変換できる AI エージェントであり、マルチモーダル要素特定と視覚的フォールバックを採用しています。ネイティブ MCP サーバーを介して AI プログラミングアシスタントとシームレスに統合し、実際のデバイスの操作、ログやスクリーンショットの収集が可能で、AndroidWorld ベンチマークで 99% 以上のタスク達成率を実現しています。

README プレビュー

\n  \n\n\n\n  Let AI assistants and test suites use real phones like a human.\n\n\n\n  English •\n  中文文档 •\n  Workflow Showcase •\n  Quick Start •\n  MCP for IDEs •\n  Benchmarks •\n  Discord Community\n\n\n\n  \n  \n  \n  \n  \n\n\n\n\n  \n  \n  Live Demo: Setup driving routes and calculate total durations in Google Maps, then open YouTube to play a Coldplay song.\n\n\n## Key Highlights\n\n* **Cross-App Automation**: Executes testing workflows and everyday tasks on Android from natural language instructions.\n* **Multimodal Targeting**: Uses element indices when available, with coordinate and visual locating fallbacks for custom interfaces.\n* **IDE Diagnostics**: **Model Context Protocol (MCP)** integration lets **Antigravity, Claude Code, and Windsurf** drive test devices and collect **Logcat** output and screenshots.\n* **Flash Execution**: A reactive observe-and-act loop with asynchronous history summaries, typically **3–5s per step**.\n* **Pro Exploration**: Checks targets before individual actions and returns blocked actions to the Operator for recovery. Supports long-running exploratory and stability tests.\n* **AndroidWorld Results**: **99%+ task completion** on Google Research's **AndroidWorld** benchmark (100+ multi-step tasks).\n\n\n## Antigravity × ARTEMIS: Autonomous Testing Workflow\n\n**Antigravity** uses **ARTEMIS** through MCP to turn a test request into a plan, device execution, and a diagnostic report:\n\n\n  \n    \n      1. Prompt Input (Task Dispatch)\n      Describe your test scenario and target metrics in Antigravity\n      \n    \n    \n      2. Test Plan Generation\n      Formulates a step-by-step test plan & architecture for review\n      \n    \n  \n  \n    \n      3. Autonomous Test Execution\n      Drives real device, navigates UI, and profiles performance\n      \n    \n    \n      4. Final Report\n      Delivers structured audit findings, metric tables, and raw datasets\n      \n    \n  \n\n\n\n## Quick Start\n\nEnsure an Android dev

FAQ (3)

トラブル対応
Google Artemisのセットアップ時に./start.shが'uv sync'で失敗するのはなぜですか?また、その修正方法は?

この問題は、リポジトリ内の uv.lock が誤って Google 社内の Artifact Registry プロキシ(airlock-proxy.uplink.goog)を指していたために発生します。このプロキシは Google のネットワーク外からは到達できないため、uv sync が依存関係をダウンロードできず、.venv/ が空のままになります。回避策:uv が PyPI から依存関係を解決できるように、セットアップを実行する前にロックファイルを削除してください:

rm uv.lock
./start.sh

メンテナーはその後、アップストリームで uv.lock ファイルを修正したため、リポジトリの最新バージョンをプルすることでもこの問題は解決します。

参照 Issue #28
トラブル対応
Windows 11 の PowerShell で start.bat を実行した際に発生する 'Unexpected token' ParserError の修正方法

最新の main ブランチに更新して(コミット 38a2de6 で修正済み)、start.bat を再度実行してください。このエラーは Node.js の検出の問題ではなく、PowerShell が scripts/start.ps1 を解析する際に発生するものです。Windows PowerShell 5.1 は BOM なしのスクリプトをシステムの ANSI コードページ (cp1252) を使って読み込むため、スクリプト内の UTF-8 シンボルが引用符の区切り文字として誤ってデコードされ、Unexpected token や The output stream for this command is already redirected エラーの連鎖が引き起こされていました。この修正では、両方の Windows ブートストラップスクリプトを ASCII のみのステータスラベルに変換し、リグレッションテストによってそれらが ASCII のみに保たれるようにしています。artemis フォルダで git pull を実行し、その後 start.bat を再度実行してください。

参照 Issue #15
トラブル対応
OpenAI互換プロバイダーを使用している場合に、Artemis Flashプロファイルが「ChatGoogleGenerativeAI missing Google credentials」エラーで失敗するのはなぜですか?

これは既知のバグです。Google以外のデフォルトモデル(例:openaiプロバイダー経由のMiniMax-M3)を使用している場合でも、Flashプロファイルの内部処理のいくつかがGeminiクライアントをハードコードしており、Googleの認証情報がない場合に起動時に失敗します。回避策:

1. 簡単な修正:Google/Gemini APIキー(GOOGLE_API_KEY)を設定し、実際には使用されなくても、ハードコードされたクライアントが初期化できるようにします。

2. ハードコードされたパスにパッチを適用する(報告者により検証済み):
- artemis/agents/flash/summarizer.py:VisualStepSummarizerがget_google_llm()を直接呼び出しています。設定されたsummarizerモデルノードとそのフォールバックを使用するように変更してください。
- artemis/memory/chunking.py:StepCapsuleLensがプライマリ/フォールバック用にget_google_llm()を呼び出しています。設定されたノード経由でルーティングしてください。
- artemis/agents/flash/runner.py:_init_llm()が初期化エラー時に、ハードコードされたGeminiモデルへ暗黙的にフォールバックします。実際の設定エラーが表面化するように、このフォールバックを削除してください。
- artemis/config/llm.py:validator_pixel_safety_netノードとplanner_validationノードを使用するプロバイダーに明示的に設定してください。設定しない場合、これらはデフォルトで軽量なGeminiモデルになります。

3. あるいは、デプロイ環境で許容される場合は、Flashステップサマライザーと履歴圧縮を無効にしてください。

注意:最新のコメント時点で、この問題は上流でまだ未解決のため、ローカルパッチの適用が必要です。

参照 Issue #179