orailnoor/private-agent
PrivateAgent 是一个使用 Flutter 构建的开源 Android 自动化代理。它利用 DeepSeek API 和原生 Android 可访问性服务来解析屏幕布局,并通过自然语言命令在任何已安装的应用程序中执行多步骤任务。
- Stars
- 329
- Forks
- 141
- 最近推送(UTC)
- 2026年7月17日
- 项目状态
- 未归档
使用的依赖
依赖清单 22 项
- flutter
{"sdk":"flutter"} - http
^1.4.0 - speech_to_text
^7.0.0 - flutter_tts
^4.2.0 - installed_apps
^1.5.0 - url_launcher
^6.3.0 - android_intent_plus
^5.1.0 - flutter_contacts
^1.1.9+2 - permission_handler
^11.4.0 - shared_preferences
^2.3.0 - path_provider
^2.1.0 - flutter_local_notifications
^18.0.0 - volume_controller
^2.0.8 - screen_brightness
^1.0.1 - shizuku_api
^1.2.2 - share_plus
^13.2.0 - intl
^0.20.3 - flutter_overlay_window
^0.5.0 - flutter_markdown
^0.7.7+1 - flutter_test开发依赖
{"sdk":"flutter"} - flutter_lints开发依赖
^6.0.0 - flutter_launcher_icons开发依赖
^0.13.1
所在榜单
原始 README
以下为英文项目原文快照,最新内容请访问 GitHub。
展开 / 收起项目 README
PrivateAgent
PrivateAgent is an open-source Android automation agent built with Flutter. It utilizes the DeepSeek API and native Android Accessibility Services to interpret screen layouts and execute multi-step tasks across any installed application via natural language commands.
Architecture
The system operates on a continuous feedback loop:
- The user issues a command (via voice, text, or Telegram remote access).
- The agent captures the current screen hierarchy, calculating the exact spatial coordinates of all interactive elements.
- The layout data is transmitted to the AI provider alongside the current task context and the result of the previous action.
- The AI determines the next optimal action (e.g., clicking specific coordinates, inputting text, scrolling).
- The native Android layer executes the action.
- The loop repeats until the task is marked as complete.
Capabilities
- Screen Reading: Parses the Android UI tree to map clickable, scrollable, and editable elements.
- Coordinate-Based Interaction: Simulates physical screen taps based on coordinate geometry, mitigating issues with missing text labels or inaccessible icons.
- Remote Access: Integrates with the Telegram Bot API via background polling, allowing users to issue commands and monitor task execution progress remotely.
- Voice Control: Native speech-to-text integration for hands-free operation.
Installation
Download the latest APK directly from the Releases Page.
Choose app-universal-release.apk when it is available. It supports ARM64,
32-bit ARM, and x86_64 devices in one package. If a release only provides split
APKs, most modern Android phones—including Snapdragon devices—must use
app-arm64-v8a-release.apk.
PrivateAgent supports Android 8.0 (API 26) and newer. Current release builds are also checked for Android 15/16's 16 KB native-library alignment requirement.
Setup Instructions (How to use for FREE)
This app requires an AI brain to operate. You can use it 100% for free by using OpenRouter's free models.
- Install the APK on your Android device (API 30+ recommended).
- Go to OpenRouter.ai and create a free account.
- Generate a free API Key.
- Launch PrivateAgent and go to the Settings screen.
- Tap the "OpenRouter" quick-select chip under Base URL.
- Paste your API Key.
- Type
openai/gpt-oss-120b:free(or any other free model) into the Model field. - Enable the "PrivateAgent Screen Control" service in your Android Accessibility Settings.
“Restricted setting” when enabling Screen Control
Android may block accessibility access for apps installed from an APK. This is an operating-system safety restriction:
- Open Settings → Apps → PrivateAgent.
- Open the three-dot menu in the top-right corner.
- Tap Allow restricted settings and confirm.
- Return to PrivateAgent and open Accessibility Settings again.
- Enable PrivateAgent Screen Control.
PrivateAgent now shows these instructions and provides shortcuts to both App Info and Accessibility Settings during onboarding.
Telegram Integration
To enable remote access:
- Acquire a bot token from BotFather on Telegram.
- Input the token in the PrivateAgent Settings screen and enable the integration toggle.
- The application will maintain a background polling connection to the Telegram API to receive commands.
License
This project is open-source and available for modification.