ApkClaw — Android向けAI自動操作エージェント
概要
ApkClawは、自然言語での指示を受け取りAndroidデバイスを自律的に操作するAIエージェントを実装するプロジェクトです。KotlinベースのAndroidアプリとして構成され、ユーザや運用者はDingTalk、Feishu、QQ、Discord、Telegramなど既存のメッセージングチャネルを通じて指示を送信できます。送られた指示はLLMによって解釈され、アプリ側で許可や設定を管理しつつ、画面操作やアプリ操作などの実行が行われます。スクリーンショットや設定画面の例が含まれており、実運用を見据えた設計が伺えます。
リポジトリの統計情報
- スター数: 15
- フォーク数: 1
- ウォッチャー数: 15
- コミット数: 2
- ファイル数: 12
- メインの言語: Kotlin
主な特徴
- 自然言語指示をLLMで解釈しAndroidデバイスを自律操作
- 複数のメッセージングチャネル(DingTalk、Feishu、QQ、Discord、Telegram)と連携
- Kotlinで実装されたAndroidアプリと権限管理UIを提供
- スクリーンショットや設定画面を備え、運用時の使い勝手に配慮
技術的なポイント
READMEおよびプロジェクト構成から読み取れる技術的な要点を整理します。実装言語はKotlinで、アプリはAndroid上で動作する設計です。アプリの主な役割はメッセージングチャネルからの指示受信、LLMへの問い合わせ(ローカルまたは外部API経由)、解析結果に基づく端末操作、そして結果の報告という一連のワークフローを担うことです。チャネル連携はWebhookやBot APIを利用する設計が想定され、各プラットフォーム向けのアダプタを通じてメッセージを受け渡します。端末操作部分はAndroidの公的API(Accessibility ServiceやInput Injection、Intent送信など)を利用してGUI操作やアプリ制御を行うのが一般的であり、スクリーンショットや権限管理UIが含まれている点からユーザーによる許可付与フローが組み込まれていることが伺えます。セキュリティ面では、外部LLM連携時の通信暗号化、認可・認証、操作ログの保持、誤操作や悪用を防ぐためのガード(コマンドのホワイトリストや二要素承認など)が重要です。また、LLMの出力は曖昧さを含むため、操作前に確認プロンプトを挟む設計や、リスクの高いアクションに対する制限が有効です。拡張性としては、チャネルやコマンドのプラグイン化、LLMプロバイダの差替え、実行ポリシーのカスタマイズといった点が考慮されています。限られたコミット履歴から実装の全貌は不明ですが、運用を前提としたUIと外部連携対応が実装方針の中心であることは明らかです。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- LICENSE: file
- README.md: file
- README_CN.md: file
- Screenshots: dir
…他 7 ファイル
まとめ
自然言語でAndroid端末を自律操作する実用志向のKotlin製プロジェクト。
リポジトリ情報:
- 名前: ApkClaw
- 説明: 説明なし
- スター数: 15
- 言語: Kotlin
- URL: https://github.com/apkclaw-team/ApkClaw
- オーナー: apkclaw-team
- アバター: https://avatars.githubusercontent.com/u/269121198?v=4
READMEの抜粋:
ApkClaw
An AI-powered Android automation app that lets an LLM Agent control Android devices (phones) via natural language. Users send instructions through messaging channels (DingTalk, Feishu, QQ, Discord, Telegram), and the AI Agent autonomously executes device operations.
Screenshots