Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

at89s52rc/roubao

Open more actions menu
 
 

Repository files navigation

肉包 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 tapscreencap 等系统命令

传统方案需要连接电脑执行 ADB 命令。而 Shizuku 是一个优雅的解决方案:

  1. 通过无线调试或电脑 ADB 启动一次 Shizuku 服务
  2. 之后普通 App 就可以获得 ADB 级别的权限
  3. 无需 Root,无需每次都连接电脑

这让肉包可以直接在手机上执行截图、点击、输入等操作,真正实现「一个 App 搞定一切」。

类 Claude Code 的 Tools/Skills 双层架构

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 服务商:阿里云、OpenAI、OpenRouter 一键切换
  • 从 API 动态获取可用模型列表,支持模糊搜索
  • 可配置自定义 API 端点,支持本地模型(Ollama、vLLM 等)

🔐 安全保护

  • API Key 使用 AES-256-GCM 加密存储
  • 检测到支付、密码等敏感页面自动停止
  • 任务执行全程可视,悬浮窗显示进度
  • 随时可以手动停止任务
  • 可选的云端崩溃上报(可在设置中关闭)

🔓 Root 模式支持

当 Shizuku 以 Root 权限运行时,肉包可以启用 Root 模式:

  • Root 模式:解锁更多系统级操作能力
  • su 命令:允许执行 su -c 命令(需谨慎使用)
  • 自动检测:自动检测 Shizuku 权限等级(ADB/Root),非 Root 环境下该选项为灰色不可用

快速开始

前置要求

  1. Android 8.0 (API 26) 或更高版本
  2. WiFi 网络 - Shizuku 无线调试依赖 WiFi 连接,确保手机已连接 WiFi
  3. Shizuku - 用于获取系统级控制权限
  4. VLM API Key - 需要视觉语言模型的 API 密钥(如阿里云通义千问)

安装步骤

1. 安装并启动 Shizuku

Shizuku 是一个开源工具,可以让普通应用获得 ADB 权限,无需 Root。

启动方式(二选一):

无线调试(推荐,需 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 页面下载最新 APK 安装。

3. 授权与配置

  1. 打开肉包 App
  2. 在 Shizuku 中授权肉包
  3. ⚠️ 重要:进入设置页面,配置你的 API Key

获取 API Key

阿里云通义千问(推荐国内用户)

  1. 访问 阿里云百炼平台
  2. 开通 DashScope 服务
  3. 在 API-KEY 管理中创建密钥

OpenAI(需要代理)

  1. 访问 OpenAI Platform
  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 配置文件

路线图

已完成 (v1.x)

  • 原生 Android 实现 - Kotlin 重写 MobileAgent,摆脱 Python 依赖
  • Tools 层 - 原子能力封装(search_apps、deep_link、clipboard 等)
  • Skills 层 - 用户意图映射,支持 Delegation 和 GUI 自动化两种模式
  • 智能应用搜索 - 拼音、语义、分类多维度匹配
  • 快速路径 - 高置信度 Skill 直接 DeepLink 跳转

🚀 v2.0 开发中

正在开发的重大更新,目前在 roubao2.0+AccessibilityService 分支

  • 无障碍服务混合模式 - 集成 AccessibilityService,实现更精准的 UI 操作

    • 优先使用元素索引点击(不受屏幕变化影响)
    • 智能回退:索引模式失败时自动切换到坐标模式
    • 无需 Root,进一步降低使用门槛
  • UI 树感知 - Agent 能够获取完整的 UI 结构

    • 识别可点击元素、输入框、滚动区域
    • 为 LLM 提供结构化 UI 上下文
    • 减少纯视觉误判
  • 宏脚本系统 - 录制、存储、回放操作序列

    • 将执行过程录制为可重复播放的脚本
    • 支持循环播放、延时控制
    • 脚本管理界面(新增"脚本"导航页)
  • 设置增强

    • 无障碍服务开关与引导
    • 混合模式状态展示

近期计划

  • MCP (Model Context Protocol) - 接入更多能力扩展,如日历、邮件、文件管理等
  • 执行录屏 - 保存任务执行过程视频,方便回顾和调试
  • 更多 Skills - 扩充内置 Skills,支持用户自定义

中期计划

  • 更多设备支持 - 适配更多 Android 设备和定制系统(MIUI、ColorOS、HarmonyOS 等)
  • 本地模型 - 支持在设备端运行小型 VLM,实现离线使用
  • 任务模板 - 保存和分享常用任务

长期愿景

  • 多应用协作 - 跨 App 联动完成复杂工作流
  • 智能学习 - 从用户操作习惯中学习,优化执行策略
  • 语音控制 - 语音唤醒和语音指令

开发

环境要求

  • Android Studio Hedgehog 或更高版本
  • JDK 17
  • Android SDK 34

构建

# 克隆仓库
git clone https://github.com/yourusername/roubao.git
cd roubao

# 构建 Debug 版本
./gradlew assembleDebug

# 安装到设备
./gradlew installDebug

问题反馈

遇到崩溃或 Bug?请通过以下方式反馈:

导出日志

  1. 打开肉包 App → 设置
  2. 找到「反馈与调试」分组
  3. 点击「导出日志」
  4. 选择分享方式(微信、邮件等)发送给开发者

日志包含的信息

  • 设备型号和 Android 版本
  • 应用版本号
  • 崩溃堆栈信息(如有)
  • 操作日志

💡 日志文件不包含您的 API Key 或个人隐私信息

提交 Issue

请在 GitHub Issues 提交问题,附上:

  • 问题描述
  • 复现步骤
  • 导出的日志文件

贡献

欢迎提交 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 文件。


致谢

  • MobileAgent - 阿里达摩院 X-PLUG 团队开源的移动端 Agent 框架,为本项目提供了重要的技术参考
  • Shizuku - 优秀的 Android 权限管理框架

Made with ❤️ by Roubao Team

About

Android Automation Tool Based on Vision-Language Models

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Kotlin 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.