# roubao **Repository Path**: masx200/roubao ## Basic Information - **Project Name**: roubao - **Description**: https://github.com/Turbo1123/roubao - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-12-09 - **Last Updated**: 2025-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

肉包 Roubao - AI Android Automation

肉包 Roubao

首款无需电脑的开源 AI 手机自动化助手 | AI Phone Automation Assistant

基于视觉语言模型 (VLM) · 原生 Android Kotlin · 多 Agent 协作架构

English | 简体中文

Platform Min SDK License Language

演示

首页 能力 执行记录 设置

--- ## 项目背景 2025 年 12 月,字节跳动联合中兴发布了「豆包手机助手」,一款能够自动操作手机完成复杂任务的 AI 助手。它能帮你比价下单、批量投简历、刷视频,甚至代打游戏。 首批 3 万台工程机定价 3499 元,上线当天即告售罄,二手市场一度炒到 5000+。 **买不到?那就自己做一个。** 于是有了肉包——一个完全开源的 AI 手机自动化助手。 为什么叫「肉包」?因为作者不爱吃素。🥟 --- ## 与同类项目的对比 | 特性 | 肉包 | 豆包手机 | 其他开源方案 | |------|------|----------|--------------| | 需要电脑 | ❌ 不需要 | ❌ 不需要 | ✅ 大多需要 | | 需要购买硬件 | ❌ 不需要 | ✅ 需要 3499+ | ❌ 不需要 | | 原生 Android 实现 | ✅ Kotlin | ✅ 原生 | ❌ Python | | 开源 | ✅ MIT | ❌ 闭源 | ✅ 开源 | | Skills/Tools 架构 | ✅ 完整 | ❓ 未知 | ❌ 无 | | UI 设计 | ⭐⭐⭐½ | ⭐⭐⭐⭐ | ⭐⭐ | | 自定义模型 | ✅ 支持 | ❌ 仅豆包 | ✅ 部分支持 | ### 我们解决了什么问题? **传统的手机自动化方案痛点:** - 必须连接电脑运行 ADB 命令 - 需要部署 Python 环境和各种依赖 - 只能在电脑端操作,手机必须通过数据线连接 - 技术门槛高,普通用户难以使用 **肉包的解决方案:** 一个 App,装上就能用。无需电脑、无需数据线、无需任何技术背景。 打开 App → 配置 API Key → 说出你想做的事 → 完成。 --- ## 为什么选择肉包? ### 原生 Android 实现,不是 Python 脚本的封装 市面上几乎所有手机自动化开源项目(包括阿里的 MobileAgent)都是 **Python 实现**,需要: - 在电脑上运行 Python 脚本 - 手机通过 USB/WiFi ADB 连接电脑 - 截图通过 ADB 传输到电脑,处理后再把操作指令传回手机 **肉包完全不同。** 我们用 **Kotlin 重写了整个 MobileAgent 框架**,原生运行在 Android 设备上: - 截图、分析、执行全部在手机本地完成 - 无需电脑中转,延迟更低 - 利用 Shizuku 获得系统级权限,而非繁琐的 ADB 命令 ### 为什么需要 Shizuku? Android 系统出于安全考虑,普通 App 无法: - 模拟用户点击、滑动屏幕 - 读取其他 App 的界面内容 - 执行 `input tap`、`screencap` 等系统命令 传统方案需要连接电脑执行 ADB 命令。而 **Shizuku** 是一个优雅的解决方案: 1. 通过无线调试或电脑 ADB **启动一次** Shizuku 服务 2. 之后普通 App 就可以获得 ADB 级别的权限 3. **无需 Root**,无需每次都连接电脑 这让肉包可以直接在手机上执行截图、点击、输入等操作,真正实现「一个 App 搞定一切」。 ### 类 Claude Code 的 Tools/Skills 双层架构 受 [Claude Code](https://claude.ai/claude-code) 架构启发,肉包实现了 **Tools + Skills 双层 Agent 框架**: ``` 用户: "帮我点份外卖" │ ▼ ┌─────────────┐ │ SkillManager │ ← 意图识别 └─────────────┘ │ ┌────┴────┐ │ │ ▼ ▼ 🚀 快速路径 🤖 标准路径 (Delegation) (GUI 自动化) │ │ ▼ ▼ 直接 DeepLink Agent 循环 打开小美 AI 操作美团 App ``` **Tools 层(原子能力)** 底层工具集,每个 Tool 完成一个独立操作: | Tool | 功能 | |------|------| | `search_apps` | 智能搜索已安装应用(支持拼音、语义) | | `open_app` | 打开应用 | | `deep_link` | 通过 DeepLink 跳转到 App 特定页面 | | `clipboard` | 读写剪贴板 | | `shell` | 执行 Shell 命令 | | `http` | HTTP 请求(调用外部 API) | **Skills 层(用户意图)** 面向用户的任务层,将自然语言映射到具体操作: | Skill | 类型 | 描述 | |-------|------|------| | 点外卖(小美) | Delegation | 直接打开小美 AI 让它帮你点 | | 点外卖(美团) | GUI 自动化 | 在美团 App 上一步步操作 | | 导航(高德) | Delegation | DeepLink 直达高德搜索 | | 生成图片(即梦) | Delegation | 打开即梦 AI 生成图片 | | 发微信 | GUI 自动化 | 自动操作微信发消息 | **两种执行模式:** 1. **Delegation(委托)**:高置信度匹配时,直接通过 DeepLink 打开有 AI 能力的 App(如小美、豆包、即梦),让它们完成任务。**快速、一步到位。** 2. **GUI 自动化**:没有 AI 能力的 App(如美团、微信),通过传统的截图-分析-操作循环完成。Skill 会提供操作步骤指导,提高成功率。 --- ## 核心特性 ### 🤖 智能 AI Agent - 基于先进的视觉语言模型(VLM),能够"看懂"屏幕内容 - 自然语言指令,说人话就能操作手机 - 智能决策,根据屏幕状态自动规划下一步操作 ### 🎨 精心设计的 UI **这可能是所有手机自动化开源项目中 UI 做得最好看的。** - 现代化 Material 3 设计语言 - 流畅的动画效果 - 深色/浅色主题自适应 - 精心设计的首次使用引导 - 完整的中英文双语支持 ### 🔒 安全保护 - 检测到支付、密码等敏感页面自动停止 - 任务执行全程可视,悬浮窗显示进度 - 随时可以手动停止任务 ### 🔧 高度可定制 - 支持多种 VLM:阿里云通义千问、OpenAI GPT-4V、Claude 等 - 可配置自定义 API 端点 - 可添加自定义模型 --- ## 快速开始 ### 前置要求 1. **Android 8.0 (API 26)** 或更高版本 2. **WiFi 网络** - Shizuku 无线调试依赖 WiFi 连接,确保手机已连接 WiFi 3. **Shizuku** - 用于获取系统级控制权限 4. **VLM API Key** - 需要视觉语言模型的 API 密钥(如阿里云通义千问) ### 安装步骤 #### 1. 安装并启动 Shizuku Shizuku 是一个开源工具,可以让普通应用获得 ADB 权限,无需 Root。 - [Google Play](https://play.google.com/store/apps/details?id=moe.shizuku.privileged.api) - [GitHub Releases](https://github.com/RikkaApps/Shizuku/releases) **启动方式(二选一):** **无线调试(推荐,需 Android 11+)** 1. 进入 `设置 > 开发者选项 > 无线调试` 2. 开启无线调试 3. 在 Shizuku App 中选择"无线调试"方式启动 **电脑 ADB** 1. 手机连接电脑,开启 USB 调试 2. 执行:`adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh` #### 2. 安装肉包 从 [Releases](../../releases) 页面下载最新 APK 安装。 #### 3. 授权与配置 1. 打开肉包 App 2. 在 Shizuku 中授权肉包 3. **⚠️ 重要:进入设置页面,配置你的 API Key** ### 获取 API Key **阿里云通义千问(推荐国内用户)** 1. 访问 [阿里云百炼平台](https://bailian.console.aliyun.com/) 2. 开通 DashScope 服务 3. 在 API-KEY 管理中创建密钥 **OpenAI(需要代理)** 1. 访问 [OpenAI Platform](https://platform.openai.com/) 2. 创建 API Key --- ## 使用示例 ``` 帮我点个附近好吃的汉堡 打开网易云音乐播放每日推荐 帮我把最后一张照片发送到微博 帮我在美团点一份猪脚饭 打开B站看热门视频 ``` --- ## 技术架构 ``` ┌──────────────────────────────────────────────────────────────┐ │ 肉包 App │ ├──────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ UI 层 (Compose) │ │ │ │ HomeScreen / Settings / History │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ │ ┌────────────────────────▼────────────────────────────┐ │ │ │ Skills 层 │ │ │ │ SkillManager → 意图识别 → 快速路径/标准路径 │ │ │ │ ┌─────────────────────────────────────────────┐ │ │ │ │ │ 点外卖 │ 导航 │ 打车 │ 发微信 │ AI画图 │ ... │ │ │ │ │ └─────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ │ ┌────────────────────────▼────────────────────────────┐ │ │ │ Tools 层 │ │ │ │ ToolManager → 原子能力封装 │ │ │ │ ┌─────────────────────────────────────────────┐ │ │ │ │ │ search_apps │ open_app │ deep_link │ clipboard │ │ │ │ │ shell │ http │ screenshot │ tap │ swipe │ type │ │ │ │ └─────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ │ ┌────────────────────────▼────────────────────────────┐ │ │ │ Agent 层 │ │ │ │ MobileAgent (移植自 MobileAgent-v3) │ │ │ │ ┌───────────┬───────────┬───────────┬──────────┐ │ │ │ │ │ Manager │ Executor │ Reflector │ Notetaker│ │ │ │ │ │ (规划) │ (执行) │ (反思) │ (记录) │ │ │ │ │ └───────────┴───────────┴───────────┴──────────┘ │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ │ ┌────────────────────────▼────────────────────────────┐ │ │ │ VLM Client │ │ │ │ Qwen-VL / GPT-4V / Claude │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ ├────────────────────────────┼────────────────────────────────┤ │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Shizuku │ │ │ │ System-level Control │ │ │ │ screencap │ input tap │ input swipe │ am start │ │ │ └─────────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────┘ ``` ### 工作流程 ``` 用户输入指令 │ ▼ ┌─────────────────┐ │ Skills 匹配 │ ← 检查是否有对应的 Skill └─────────────────┘ │ ├── 高置信度 Delegation Skill ──▶ 直接 DeepLink 跳转 ──▶ 完成 │ ▼ ┌─────────────────┐ │ 标准 Agent 循环 │ └─────────────────┘ │ ▼ ┌──────────────────────────────────────────────┐ │ 1. 截图 - Shizuku screencap │ │ 2. Manager 规划 - VLM 分析当前状态 │ │ 3. Executor 决策 - 确定下一步操作 │ │ 4. 执行动作 - tap/swipe/type/open_app │ │ 5. Reflector 反思 - 评估操作效果 │ │ 6. 循环直到完成或安全限制 │ └──────────────────────────────────────────────┘ ``` ### 项目结构 ``` app/src/main/java/com/roubao/autopilot/ ├── agent/ # AI Agent 核心 (移植自 MobileAgent-v3) │ ├── MobileAgent.kt # Agent 主循环 │ ├── Manager.kt # 规划 Agent │ ├── Executor.kt # 执行 Agent │ ├── ActionReflector.kt # 反思 Agent │ ├── Notetaker.kt # 笔记 Agent │ └── InfoPool.kt # 状态池 │ ├── tools/ # Tools 层 - 原子能力 │ ├── Tool.kt # Tool 接口定义 │ ├── ToolManager.kt # 工具管理器 │ ├── SearchAppsTool.kt # 应用搜索 │ ├── OpenAppTool.kt # 打开应用 │ ├── DeepLinkTool.kt # DeepLink 跳转 │ ├── ClipboardTool.kt # 剪贴板操作 │ ├── ShellTool.kt # Shell 命令 │ └── HttpTool.kt # HTTP 请求 │ ├── skills/ # Skills 层 - 用户意图 │ ├── Skill.kt # Skill 接口定义 │ ├── SkillRegistry.kt # Skill 注册表 │ └── SkillManager.kt # Skill 管理器 │ ├── controller/ # 设备控制 │ ├── DeviceController.kt # Shizuku 控制器 │ └── AppScanner.kt # 应用扫描 (拼音/语义搜索) │ ├── vlm/ # VLM 客户端 │ └── VLMClient.kt # API 调用封装 │ ├── ui/ # 用户界面 │ ├── screens/ # 各个页面 │ ├── theme/ # 主题定义 │ └── OverlayService.kt # 悬浮窗服务 │ ├── data/ # 数据层 │ └── SettingsManager.kt # 设置管理 │ └── App.kt # Application 入口 app/src/main/assets/ └── skills.json # Skills 配置文件 ``` --- ## 路线图 ### 已完成 - [x] **原生 Android 实现** - Kotlin 重写 MobileAgent,摆脱 Python 依赖 - [x] **Tools 层** - 原子能力封装(search_apps、deep_link、clipboard 等) - [x] **Skills 层** - 用户意图映射,支持 Delegation 和 GUI 自动化两种模式 - [x] **智能应用搜索** - 拼音、语义、分类多维度匹配 - [x] **快速路径** - 高置信度 Skill 直接 DeepLink 跳转 ### 近期计划 - [ ] **MCP (Model Context Protocol)** - 接入更多能力扩展,如日历、邮件、文件管理等 - [ ] **执行录屏** - 保存任务执行过程视频,方便回顾和调试 - [ ] **更多 Skills** - 扩充内置 Skills,支持用户自定义 ### 中期计划 - [ ] **无障碍模式** - 无需 Shizuku,通过 Android 无障碍服务控制,进一步降低使用门槛 - [ ] **更多设备支持** - 适配更多 Android 设备和定制系统(MIUI、ColorOS、HarmonyOS 等) - [ ] **本地模型** - 支持在设备端运行小型 VLM,实现离线使用 - [ ] **任务模板** - 保存和分享常用任务 ### 长期愿景 - [ ] **多应用协作** - 跨 App 联动完成复杂工作流 - [ ] **智能学习** - 从用户操作习惯中学习,优化执行策略 - [ ] **语音控制** - 语音唤醒和语音指令 --- ## 开发 ### 环境要求 - Android Studio Hedgehog 或更高版本 - JDK 17 - Android SDK 34 ### 构建 ```bash # 克隆仓库 git clone https://github.com/yourusername/roubao.git cd roubao # 构建 Debug 版本 ./gradlew assembleDebug # 安装到设备 ./gradlew installDebug ``` --- ## 贡献 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 开启 Pull Request --- ## 许可证 本项目基于 MIT 许可证开源。详见 [LICENSE](LICENSE) 文件。 --- ## 致谢 - [MobileAgent](https://github.com/X-PLUG/MobileAgent) - 阿里达摩院 X-PLUG 团队开源的移动端 Agent 框架,为本项目提供了重要的技术参考 - [Shizuku](https://github.com/RikkaApps/Shizuku) - 优秀的 Android 权限管理框架 ---

Made with ❤️ by Roubao Team