Aries AI 是一个开源的 Android UI 自动化引擎,通过接入大语言模型,让 AI 理解屏幕内容并自动执行复杂任务。
核心亮点:
- 🖥️ 完全隔离:独创虚拟屏技术,焦点 100% 隔离,主屏幕零干扰
- ⚡ 性能领先:响应时间 1.8s,成功率 94%,比同类产品快 44%
- 🔓 完全开源:代码透明,可自由定制和扩展
- 🔌 模型灵活:兼容 OpenAI 接口,支持 20+ 种大模型
典型应用:自动化订票、餐厅预订、批量操作、应用测试、数据采集
Aries AI 采用业界领先的虚拟屏隔离方案,实现真正的后台自动化:
| 特性 | 说明 |
|---|---|
| 焦点完全隔离 | 100ms 高频强制执行,物理按键永不误触虚拟屏 |
| OpenGL 分发 | 同时支持截图和预览,无需切换 Surface |
| 智能截图 | 自动等待非黑帧,避免截取空白画面 |
| IME 隔离 | 防止键盘焦点死锁,更稳定可靠 |
💡 技术优势:相比同类产品 A 的"周期性检查"(2秒),Aries AI 的焦点恢复速度快 20 倍,实现真正的完全隔离。
| 指标 | 优化前 | 优化后 | 提升 |
|---|---|---|---|
| 响应时间 | 3.2s | 1.8s | 44% ↑ |
| 截图大小 | 250KB | 85KB | 66% ↓ |
| 成功率 | 82% | 94% | 12% ↑ |
优化技术:
- 智能截图压缩(85% 质量,16 像素对齐)
- 流式早停机制(识别到动作立即执行)
- 并行状态采集(截图和 UI 树同时获取)
- 异步输入注入(通过 displayId 定向注入)
兼容所有 OpenAI 接口标准的视觉语言模型,包括但不限于:
- 国内模型:智谱 GLM、DeepSeek、Qwen、MiniMax、百川、零一万物等
- 国际模型:OpenAI GPT-4V、Claude、Gemini 等
- 开源模型:LLaVA、CogVLM、Qwen-VL 等
- API 聚合平台:硅基流动、API2D、OpenRouter 等
- 自部署模型:任何兼容 OpenAI 接口的自部署服务
系统要求:Android 11+ 设备
-
下载安装
- Releases 下载最新 APK
- 或加入 QQ 群 746439473 获取
-
配置环境
-
开始使用
- 语音或文本输入任务指令
- 选择预设任务快速开始
- 开启虚拟屏幕后台运行
# 克隆仓库
git clone https://github.com/ZG0704666/Aries-AI.git
cd Aries-AI
# 构建项目
./gradlew assembleDebug
# 安装到设备
adb install app/build/outputs/apk/debug/app-debug.apk环境要求:JDK 17+、Android SDK 36、Gradle 8.13
详细构建指南请查看 BUILDING.md
1. 主界面对话
"帮我在携程订一张明天北京到上海的机票,经济舱"
"在美团上找一家评分4.5以上的川菜馆,预订今晚7点,3个人"
2. 预设任务
- 餐厅预订
- 火车票预订
- 机票预订
- 自定义任务
3. 虚拟屏幕模式(推荐)
- 点击"虚拟屏幕"按钮启动
- 实时预览窗口显示执行过程
- 主屏幕可继续使用其他应用
- 物理按键永不误触虚拟屏
// 创建 Agent 实例
val agent = UiAutomationAgent(
config = AgentConfiguration(
maxSteps = 100,
screenshotCompressionQuality = 85,
enableScreenshotCache = true,
useStreamingWithEarlyStop = true
)
)
// 执行任务
val result = agent.run(
apiKey = "your-api-key",
model = "glm-4v-plus", // 或其他兼容 OpenAI 接口的模型
task = "在携程订一张明天北京到上海的机票",
service = accessibilityService
)┌─────────────────────────────────────────────────────────┐
│ Aries AI │
├─────────────────────────────────────────────────────────┤
│ UI 层 → 控制层 → 核心引擎层 → 模型接入层 │
│ │
│ 虚拟屏隔离层(核心技术): │
│ ├─ VirtualDisplayController(统一入口) │
│ ├─ ShizukuVirtualDisplayEngine(核心引擎) │
│ ├─ VdGlFrameDispatcher(OpenGL 分发) │
│ └─ InputHelper(输入注入) │
│ │
│ 系统服务层:无障碍服务 + Shizuku 权限管理 │
└─────────────────────────────────────────────────────────┘
核心技术:
- 完全隔离的焦点管理(100ms 高频强制执行)
- OpenGL 分发架构(同时支持截图和预览)
- 智能截图策略(自动等待非黑帧)
- IME 完全隔离(防止焦点死锁)
- 多重降级兼容(支持各版本 Android 和 ROM)
📚 详细技术文档:TECHNICAL_OVERVIEW.md
Aries-AI/
├── app/src/main/java/com/ai/phoneagent/
│ ├── core/ # 核心 Agent 逻辑
│ ├── vdiso/ # 虚拟屏隔离层 ⭐
│ ├── input/ # 输入注入
│ ├── VirtualDisplayController.kt
│ └── UiAutomationAgent.kt
├── Aries-site/
│ └── docs/ # 唯一文档目录(分类文档 + 兼容入口)
├── Aries AI 开发文档.md # 主开发文档与当前状态
└── README.md
| 文档 | 说明 |
|---|---|
| Aries AI 开发文档.md | 主开发文档、近期提交审查、当前开发状态、验证记录 |
| BUILDING.md | 环境配置、依赖安装、编译运行 |
| CODING_STANDARDS.md | 代码规范、命名规则、注释要求 |
| GIT_WORKFLOW.md | Git 使用规范、分支管理、提交规范 |
| TECHNICAL_OVERVIEW.md | 核心技术实现与优势 ⭐ |
- 语言:Kotlin 2.2.x
- 构建:Gradle 8.13 + AGP 8.13.x
- 异步:Kotlin Coroutines
- 权限管理:Shizuku(系统级权限)
- 界面:Jetpack Compose + Material 3
- 图形处理:OpenGL ES 3.0+
- 虚拟屏:VirtualDisplay + SurfaceTexture
我们欢迎所有形式的贡献!
- Fork 项目到你的 GitHub 账号
- 创建分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'feat: Add some AmazingFeature') - 推送分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
- 🐛 Bug 修复
- ✨ 新功能
- 📝 文档改进
- ⚡ 性能优化
- 🧪 测试用例
详细规范请查看 GIT_WORKFLOW.md
本项目采用 AGPL-3.0 协议开源。
简单来说:
- ✅ 可以自由使用、修改和分发
- ✅ 可用于商业和非商业用途
⚠️ 修改后分发必须保持相同协议⚠️ 作为网络服务提供时必须公开源代码
- 💬 QQ 群:746439473
- 🐛 问题反馈:GitHub Issues
- 💡 功能建议:GitHub Discussions
- 📧 邮件联系:zhangyongqi@njit.edu.cn
💡 更多问题请查看 完整 FAQ 文档