PhoneAgent — Android 操作自動化エージェント
概要
PhoneAgent は Android 向けの自動操作アプリで、AccessibilityService を介した UI 情報取得とスクリーンショットを組み合わせ、複数の AI サービスプロバイダを用いて画面内容を理解し自動操作を実行します。視覚モード(スクリーンショット送信)、無障害モード(構造化された UI 情報取得)、混合モード(両方併用)の三つのモードを持ち、クリック、入力、スワイプなどの基本操作を無障害サービスで模擬します。Ollama、OpenAI、Anthropic、Google (Gemini)、Qwen(通義)などをサポートしており、プロトタイピングや研究用途に適した柔軟な設計が特徴です。
リポジトリの統計情報
- スター数: 13
- フォーク数: 4
- ウォッチャー数: 13
- コミット数: 5
- ファイル数: 19
- メインの言語: Kotlin
主な特徴
- 複数の AI プロバイダを統合し、画面理解のバックエンドを選択可能
- 3つの動作モード(視覚/無障害/混合)で柔軟に情報取得
- AccessibilityService を使った実際のユーザー操作の自動化(クリック・入力・スクロール)
- スクリーンショット送信と構造化 UI 情報の両方を使った高精度な指示生成
技術的なポイント
PhoneAgent の技術的な中核は、Android の Accessibility フレームワークと、外部の大規模言語モデル(LLM)や視覚 AI を繋ぐパイプライン設計にあります。無障害モードでは AccessibilityNode 情報(テキスト、クラス名、座標、状態など)を取得して構造化データとして整形し、AI に渡すことで「画面上のどの要素を操作すべきか」を推論させます。一方、視覚モードではスクリーンキャプチャを取得して画像ベースの解析(OCR や画像理解)を行い、テキストだけでは捉えにくいレイアウトやアイコン情報を補完します。混合モードは両者の結果を突合して誤検出を減らすため、実運用での堅牢性を高める設計です。
AI 統合はプラガブルになっており、OpenAI、Anthropic、Google(Gemini)、Qwen、Ollama 等のエンドポイントに対して異なるプロンプト設計や入出力フォーマットを用いることができます。これにより、各モデルの強み(対話理解、指示実行、視覚解析など)を生かしたワークフローが組めます。操作の実行は AccessibilityService を用いたイベント送出(performAction や node を介したクリック、テキスト入力、ジェスチャー生成)で行い、画面の座標系や入力フォーカス管理に注意を払っています。
セキュリティ・プライバシー面では、スクリーンキャプチャや UI 情報を外部へ送るため、権限管理とユーザー同意が重要です。実装的には非同期での AI 呼び出し、ネットワークエラーやタイムアウトハンドリング、結果の信頼度評価(AI 出力の検証)などが実装上の鍵になります。さらに、プロトコル的に各 AI サービスのレスポンス形式の違いを吸収する抽象レイヤーを用意している点も注目です。
(上記はリポジトリの README とソース構成から読み取れる設計思想と実装上の注目点を整理したものです。)
プロジェクトの構成
主要なファイルとディレクトリ:
- .DS_Store: file
- .gitignore: file
- .gradle: dir
- .idea: dir
- LICENSE: file
- app/: dir (Android アプリ本体)
- build.gradle: file
- gradle.properties: file
- gradlew: file
- gradlew.bat: file
- settings.gradle: file
- README.md: file
- src/: dir (Kotlin ソースコード、AccessibilityService 実装など)
- assets/: dir
- res/: dir (レイアウト、画像、文字列)
- AndroidManifest.xml: file …他 14 ファイル
まとめ
Accessibility と AI を組み合わせた実験的で実用性の高い Android 自動化ツール。
リポジトリ情報:
- 名前: PhoneAgent
- 説明: 説明なし
- スター数: 13
- 言語: Kotlin
- URL: https://github.com/MR-MaoJiu/PhoneAgent
- オーナー: MR-MaoJiu
- アバター: https://avatars.githubusercontent.com/u/52182801?v=4
READMEの抜粋:
Phone Agent Android APP
An Android app that simulates user operations via AccessibilityService. It integrates multiple AI service providers to intelligently understand screen content and automatically execute tasks.
📱 功能特性
- ✅ 多服务商支持:支持 Ollama、OpenAI、Anthropic (Claude)、Google (Gemini)、Qwen (通义千问) 等
- ✅ 三种运行模式:
- 视觉模式:通过截图上传图片给AI分析(需要屏幕录制权限)
- 无障碍模式:通过无障碍服务获取屏幕结构化内容(文本、控件信息、坐标等),无需截图
- 混合模式:结合视觉模式和无障碍模式,同时提供截图和结构化内容
- ✅ 无障碍服务操作:通过无障碍服务模拟用户操作(点击、输入、滑动等)
- ✅ …