MobiAgent:开源可定制移动智能体框架,实现多任务自动化与跨应用协同
一、MobiAgent是什么?
MobiAgent是由IPADS-SAI团队(成员包括Cheng Zhang、Erhu Feng等研究者)开源的一套功能完整、高度可定制的移动智能体系统,其核心目标是解决移动端多任务自动化、跨应用协同执行等痛点,为开发者提供从模型选型、任务执行到效果评测的端到端解决方案。
该项目基于Apache License 2.0开源协议,支持商业与非商业场景的自由使用、修改与二次开发,代码仓库包含完整的模型部署脚本、设备控制工具、数据处理模块及评测基准,无需额外依赖封闭生态组件。MobiAgent的核心定位是“可定制化移动智能体基础设施”——它不仅提供预训练的代理模型(MobiMind系列),还支持开发者根据具体需求替换模型、扩展工具链或定制任务流程,打破了传统移动自动化工具“功能固定、适配性差”的局限。
从整体架构来看,MobiAgent由三大核心组件构成闭环:
MobiMind:代理模型家族,包含不同参数量(0.6B、3B、4B、7B)的专项模型,分别负责任务规划、决策执行、界面元素映射等核心环节,支持视觉-语言交互与多轮状态评估;
AgentRR:代理加速框架,通过“任务记录-重放”机制复用历史执行经验,大幅提升同类任务的二次执行效率,降低设备资源消耗;
MobiFlow:专业评测基准,基于里程碑DAG(有向无环图)设计,涵盖“简单(EASY)”和“困难(HARD)”两个难度等级,适配小红书、高德地图、饿了么、携程等7类主流移动应用,可量化评估智能体的任务完成能力。
此外,项目还提供Android端应用(MobiAgent App)、ADB设备控制模块、数据收集标注工具等配套组件,形成“模型-执行-评测-迭代”的完整开发流程,适用于从个人用户日常自动化到企业级移动应用测试的全场景需求。

二、功能特色
MobiAgent的核心优势在于“全链路可定制、多场景适配、高效执行”,其功能特色可概括为以下8点,覆盖从技术底层到用户体验的全维度需求:
1. 多任务自动化,支持跨应用复杂流程
MobiAgent突破了传统移动自动化工具“单应用、单步骤”的限制,能够解析用户的复杂任务指令(如“在小红书找一款热门防晒霜,复制商品名称到淘宝搜索,对比3家店铺的价格并截图保存”),通过Planner模块进行多任务拆分、App映射与步骤规划,自动调用多个应用完成协同执行。
在MobiFlow基准测试中,该框架在“简单任务集(EASY)”中对7类主流应用的平均完成率达83%,在“困难任务集(HARD)”中平均完成率达71%,其中对小红书、高德地图、饿了么等高频应用的适配度接近100%,可稳定处理“界面元素识别、跨应用数据传递、多步骤状态回溯”等复杂场景。
2. 可定制化模型家族,适配不同资源场景
MobiMind模型家族提供多参数量选型,开发者可根据设备性能(手机、平板、服务器)和任务复杂度灵活搭配,无需强制依赖高性能硬件:
轻量化模型(0.6B Decider模型):适用于移动端本地部署,负责简单的任务状态评估与动作决策,资源占用低(内存消耗<2GB);
中端模型(3B Grounder模型、4B Planner模型):平衡性能与资源,3B模型专注于“抽象动作→UI元素”的精准映射(如将“点击下单按钮”转化为具体的屏幕坐标与控件ID),4B模型负责多任务规划与自然语言理解;
高性能模型(7B Decider模型):适用于服务器端部署,支持复杂任务的深度推理与多轮反思,在“跨应用数据关联、模糊指令解析”等场景中表现更优。
此外,框架支持替换第三方模型(如Gemini-2.5-pro、GPT-5、Qwen3-4B-Instruct),只需通过配置文件修改模型接口地址,即可快速集成不同生态的预训练模型,降低技术选型成本。
3. AgentRR加速框架,提升任务复用效率
针对同类任务重复执行的场景,AgentRR模块通过“记录-重放”机制优化执行效率:首次执行任务时,框架会记录任务轨迹(包括界面截图、控件操作、状态变化等)并存储为“经验数据”;后续遇到同类任务时,可直接重放历史轨迹,或仅对差异部分进行微调,无需重新进行全流程推理。
在测试中,AgentRR对“社交、购物、地图”类高频任务的重放率达60.2%-85.2%,平均可减少70%的模型推理次数,任务执行时间缩短40%以上,同时降低设备功耗(尤其适用于移动端本地部署场景)。
4. 专业评测基准,量化评估执行效果
MobiFlow是专为移动智能体设计的评测基准,基于“里程碑DAG”思想构建——每个任务被拆解为多个关键里程碑(如“打开应用→搜索关键词→点击目标元素→完成操作”),框架会自动验证每个里程碑的完成状态,生成量化评分(准确率、完成率、执行时间)。
该基准覆盖7类主流应用场景(社交、地图、外卖、旅游、购物、视频、音乐),提供“EASY/HARD”两个难度等级,可帮助开发者快速定位模型的薄弱环节(如“复杂界面元素识别”“跨应用数据传递”),无需手动编写测试用例。
5. 设备兼容性强,支持主流Android设备
MobiAgent通过ADB(Android Debug Bridge)与无障碍服务实现设备控制,兼容Android 8.0及以上版本的手机、平板等设备,无需Root权限:
连接方式灵活:支持USB有线连接、Wi-Fi无线连接两种模式,满足“本地调试”“远程控制”等不同场景;
控件识别精准:集成OmniParser图标检测模型、PaddlePaddle OCR工具,可识别原生应用、混合开发应用(React Native、Flutter)的界面元素,支持中文、英文等多语言场景;
操作无侵入性:通过无障碍服务模拟人工操作(点击、滑动、输入、截图),不会修改应用源码或干扰应用正常运行,符合应用商店的安全规范。
6. 轻量化与全功能双部署选项
项目提供两种部署方案,适配不同用户需求:
轻量化部署:仅安装
requirements_simple.txt中的依赖(无PyTorch、CUDA等重型库),可快速启动Agent Runner模块,适用于“仅需执行任务、无需模型训练”的场景,部署时间<5分钟;全功能部署:安装
requirements.txt中的完整依赖,支持模型训练、数据标注、评测基准运行等全流程功能,适用于开发者和研究者构建自定义移动智能体。
7. 完善的数据处理工具链
collect/目录提供一套完整的数据处理工具,支持从设备采集任务数据、人工标注关键信息、格式转换与导出,帮助开发者构建自定义数据集:
数据采集:支持多设备并行采集,自动记录任务执行轨迹、界面XML结构、截图等数据;
标注工具:提供可视化标注界面,支持标注控件类型、任务里程碑、错误原因等信息;
数据导出:支持导出JSON、CSV等格式,可直接用于模型微调(如优化Grounder模块的UI元素识别精度)。
8. 用户交互友好,降低使用门槛
MobiAgent提供两种使用方式,兼顾普通用户与技术开发者:
移动端App:无需编程基础,下载安装后可通过自然语言输入任务指令,App自动调用设备权限完成执行,适用于个人用户的日常自动化需求(如自动打卡、订单查询);
Python脚本:支持开发者编写自定义任务配置文件(
task.json),通过命令行参数控制模型端口、设备连接方式等,可集成到自动化测试、批量操作等场景中。

三、技术细节
MobiAgent的技术架构围绕“任务流程自动化”设计,形成“用户指令→规划→决策→界面映射→执行→评估”的闭环,核心技术细节如下:
1. 系统整体架构
MobiAgent的架构分为5个核心层级,各层级分工明确、可独立替换,具体模块分工如下表所示:
| 层级 | 核心模块 | 功能描述 | 依赖组件/模型 |
|---|---|---|---|
| 输入层 | User Task | 接收用户任务指令(自然语言)、任务模板、历史执行记录 | 无(支持文本输入、文件导入) |
| 规划层 | Planner | 多任务拆分、App映射、步骤规划、任务重写,处理模糊指令(如“找热门商品”) | 4B模型(默认Qwen3-4B-Instruct) |
| 决策层 | Decider | 执行“Reason-Action-Reflection”循环:分析当前状态→生成操作→评估执行结果 | 0.6B/7B模型(MobiMind-Decider) |
| 界面映射层 | GUI Grounder | 将抽象动作(如“点击支付”)映射为具体UI元素(坐标、控件ID、XML路径) | 3B模型(MobiMind-Grounder) |
| 执行层 | Low-level Tools | 通过ADB、无障碍服务执行操作,包括点击、滑动、输入、截图、数据读取 | ADB、ADBKeyboard、OmniParser |
| 辅助模块 | AgentRR | 任务轨迹记录与重放,经验复用与加速 | 本地文件存储、数据库(可选) |
| 评测模块 | MobiFlow | 任务完成率、准确率、执行时间量化评估 | DAG验证引擎、评分算法 |
2. 核心技术流程
以“在饿了么订购牛肉饭”为例,MobiAgent的技术执行流程如下:
任务输入与解析:用户输入指令“Order a beef rice”,Planner模块(4B模型)解析指令为中文“在饿了么订购牛肉饭”,并映射目标应用为“饿了么”;
多步骤规划:Planner生成执行步骤:①打开饿了么App→②搜索“牛肉饭”→③筛选销量排序→④选择第一个商品→⑤点击“去结算”→⑥提交订单;
状态分析与动作生成:Decider模块(7B模型)接收当前界面截图、XML结构,分析当前处于“搜索结果页”,生成下一步动作“点击销量排序按钮”;
UI元素映射:GUI Grounder(3B模型)将“点击销量排序按钮”映射为具体控件:屏幕坐标(x=500,y=300)、控件ID“sort_sales”,并通过OmniParser验证控件有效性;
执行与反馈:Low-level Tools通过ADB执行点击操作,截取新界面并返回给Decider;Decider评估执行结果(是否成功进入销量排序页),若成功则进入下一步,若失败则反思调整(如重新识别控件);
任务完成与记录:完成订单提交后,AgentRR记录整个任务轨迹,若用户后续再次订购同类商品,可直接重放轨迹加速执行。
3. 模型部署与优化
MobiAgent采用vLLM作为模型推理框架,支持高并发、低延迟的模型服务部署,核心优化点包括:
模型并行推理:支持将不同模块(Planner、Decider、Grounder)的模型部署在不同端口,独立扩展资源,避免单一模型占用过多算力;
动态批处理:vLLM的动态批处理机制可提升模型推理吞吐量,尤其适用于多任务并行执行场景;
权重共享:相同参数量的模型可共享基础权重,降低存储开销(如MobiMind-Decider-7B与MobiMind-Grounder-3B可共用部分预训练权重);
GPU加速适配:支持CUDA 11.8及以上版本,通过PaddlePaddle-GPU优化OCR等视觉任务的执行速度,比CPU推理快5-10倍。
4. 数据处理流程
collect/模块的数据处理流程分为3个阶段:
采集阶段:通过ADB控制设备执行任务,自动采集界面截图(png格式)、控件XML结构、操作日志(点击坐标、输入内容)、任务状态(成功/失败);
标注阶段:开发者通过可视化工具标注“里程碑完成状态”(如“是否成功搜索到商品”)、“控件类型”(按钮、输入框、列表)、“错误原因”(控件未识别、网络超时);
导出阶段:将标注后的数据转换为模型训练所需格式(如JSONL),支持按应用类型、任务难度分类导出,可直接用于MobiMind模型的微调。

四、应用场景
MobiAgent的灵活性与兼容性使其适用于多个场景,涵盖个人用户、开发者、企业等不同群体:
1. 个人日常任务自动化
适用于需要重复执行的日常操作,解放双手:
生活服务类:自动订外卖、预订酒店/机票、查询天气/路况、缴纳水电费;
内容消费类:自动下载喜欢的博主视频、整理社交媒体收藏、批量保存图片/文档;
工具类:自动打卡(办公软件、学习平台)、定时发送消息、批量处理照片(如裁剪、加水印)。
例如,上班族可设置“每天11:30自动打开饿了么,搜索‘附近快餐’,选择销量第一的店铺下单”,无需手动操作即可完成订餐;学生可设置“每周一至周五19:00自动打开学习平台,完成签到并查看课程提醒”。
2. 移动应用测试自动化
为移动应用开发者提供高效的测试工具,降低测试成本:
功能测试:自动执行应用的核心流程(如注册、登录、下单、支付),验证功能完整性;
兼容性测试:在不同品牌、不同系统版本的Android设备上并行执行测试用例,检测界面适配问题;
回归测试:应用迭代后,自动重放历史测试用例,快速验证旧功能是否正常工作;
性能测试:记录任务执行时间、CPU/内存占用,评估应用的性能瓶颈(如搜索功能响应速度)。
例如,电商App开发者可通过MobiFlow基准快速验证新版本的“商品搜索→下单→支付”流程是否正常,支持7类主流应用的测试用例自动生成,无需手动编写复杂的测试脚本。
3. 移动开发辅助
帮助开发者提升开发效率,简化重复性工作:
自动化脚本生成:根据任务需求自动生成ADB操作脚本,用于批量测试或演示;
界面元素提取:自动提取应用的控件XML结构,生成界面文档,方便团队协作;
多设备同步操作:通过Wi-Fi连接多个设备,同步执行任务(如批量安装应用、设置系统参数)。
例如,Flutter开发者可使用MobiAgent自动在10台不同分辨率的Android设备上测试应用界面,快速定位布局错乱问题;测试工程师可批量生成“不同场景下的下单测试脚本”,覆盖正常下单、异常支付、退款等多种情况。
4. 个性化服务开发
开发者可基于MobiAgent构建个性化移动服务,适配特定人群需求:
老年人群体:简化操作流程,支持语音指令(如“给子女发微信消息”“查看体检报告”),自动完成复杂步骤;
办公场景:跨应用数据整合(如“从Excel导入客户信息到CRM系统”“将会议记录同步到石墨文档”);
教育场景:自动整理学习资料(如“从网课平台下载课件并分类保存”“记录错题并生成复习清单”)。
例如,开发者可基于MobiAgent开发“老年人智能助手App”,支持语音指令“打开微信→找到儿子→发送‘我已安全到家’”,自动完成所有操作,无需老人手动点击屏幕。
5. 移动智能体研究与学术实验
为研究者提供标准化的实验平台,推动移动智能体技术发展:
模型对比测试:通过MobiFlow基准对比不同预训练模型(如GPT-5、Gemini-2.5-pro)在移动任务中的表现;
算法优化验证:快速验证新的任务规划算法、UI元素识别方法,无需从零构建实验环境;
数据集构建:使用
collect/模块采集自定义数据集,用于训练专属的移动智能体模型。
例如,高校研究者可基于MobiAgent对比不同参数量模型(3B vs 7B)在“跨应用数据传递”任务中的准确率与执行效率,为模型选型提供实证支持;企业研究团队可构建行业专属数据集(如医疗App、金融App),训练适配特定领域的移动智能体。

五、使用方法
MobiAgent提供两种核心使用方式,分别适用于普通用户和技术开发者,以下是详细步骤:
1. 方式一:直接使用MobiAgent App(适合普通用户)
无需编程基础,通过移动端App即可快速体验任务自动化:
下载App:访问项目GitHub Releases页面(或仓库中提供的Download Link),下载MobiAgent Android应用安装包(APK格式);
安装与授权:在Android设备上安装APK,打开App后授予“无障碍服务”“存储权限”“悬浮窗权限”(核心权限用于控制应用操作与保存数据);
输入任务指令:在App首页的输入框中输入自然语言指令(如“打开高德地图,查询从家到公司的路线”);
执行与查看结果:点击“开始执行”,App自动启动目标应用并完成任务,执行过程中可通过悬浮窗查看进度,完成后生成结果报告(如路线截图、执行日志)。
2. 方式二:使用Python脚本控制(适合开发者/研究者)
通过ADB连接设备,使用Python脚本执行自定义任务,支持更灵活的配置与扩展:
(1)环境搭建
① 虚拟环境创建
使用conda创建独立虚拟环境(推荐Python 3.10):
conda create -n MobiMind python=3.10 conda activate MobiMind
② 依赖安装
根据需求选择轻量化或全功能依赖:
轻量化依赖(仅运行Agent Runner,无重型库):
pip install -r requirements_simple.txt
全功能依赖(支持模型训练、评测基准等):
pip install -r requirements.txt
③ 模型权重下载
下载OmniParser图标检测模型权重(用于UI元素识别):
for f in icon_detect/{train_args.yaml,model.pt,model.yaml} ; do
huggingface-cli download microsoft/OmniParser-v2.0 "$f" --local-dir weights
done④ GPU加速配置(可选)
若需要OCR任务的GPU加速,根据CUDA版本安装PaddlePaddle-GPU(以CUDA 11.8为例):
python -m pip install paddlepaddle-gpu==3.1.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
详细安装指南参考:PaddlePaddle官方文档
(2)移动设备设置
安装ADBKeyboard:在Android设备上安装ADBKeyboard输入法(用于自动输入文本);
启用开发者选项:进入设备“设置→关于手机”,连续点击“版本号”7次,开启开发者选项;
允许USB调试:进入“设置→系统和更新→开发者选项”,开启“USB调试”和“USB安装”;
设备连接:使用USB数据线连接手机与电脑,在手机上授权“允许USB调试”(首次连接需确认)。
(3)模型部署
通过vLLM部署Planner、Decider、Grounder三个核心模型(需提前下载模型权重):
# 部署Decider模型(默认端口8000) vllm serve IPADS-SAI/MobiMind-Decider-7B --port 8000 # 部署Grounder模型(默认端口8001) vllm serve IPADS-SAI/MobiMind-Grounder-3B --port 8001 # 部署Planner模型(默认端口8002) vllm serve Qwen/Qwen3-4B-Instruct --port 8002
注:模型权重需从Hugging Face下载,确保网络通畅;若本地资源有限,可只部署核心模型(如仅部署Planner和Grounder)。
(4)任务配置与启动
编写任务文件:在
runner/mobiagent/task.json中定义需要测试的任务,示例格式:[ { "task_id": "1", "task_desc": "打开饿了么,搜索牛肉饭,选择销量第一的商品并截图" }, { "task_id": "2", "task_desc": "打开小红书,搜索热门防晒霜,复制商品名称" } ]启动Agent Runner:
python -m runner.mobiagent.mobiagent \ --service_ip localhost \ --decider_port 8000 \ --grounder_port 8001 \ --planner_port 8002
(5)核心参数说明
| 参数名 | 功能描述 | 默认值 | 可选值范围 |
|---|---|---|---|
| --service_ip | 模型服务IP地址 | localhost | 局域网IP/公网IP |
| --decider_port | Decider模型服务端口 | 8000 | 1024-65535 |
| --grounder_port | Grounder模型服务端口 | 8001 | 1024-65535 |
| --planner_port | Planner模型服务端口 | 8002 | 1024-65535 |
3. 子模块单独使用
若只需使用某一特定子模块(如MobiFlow评测、AgentRR加速),可参考各子模块目录下的README.md:
MobiFlow评测:进入
MobiFlow/目录,运行python run_benchmark.py,支持自定义测试应用与任务难度;AgentRR加速:进入
agent_rr/目录,运行python record.py记录任务轨迹,运行python replay.py重放轨迹;数据收集:进入
collect/目录,运行python collect_data.py启动数据采集,支持配置采集设备数量与任务类型。

六、常见问题解答(FAQ)
1. ADB连接失败怎么办?
检查设备是否开启USB调试:进入开发者选项确认“USB调试”已开启,若未找到开发者选项,需先通过“关于手机”开启;
检查数据线是否正常:更换原装数据线,确保连接稳定(部分非原装线仅支持充电,不支持数据传输);
安装ADB驱动:Windows系统需安装手机品牌对应的ADB驱动(如华为、小米官网提供的驱动工具);
验证ADB连接:在命令行输入
adb devices,若显示设备序列号则连接成功,否则重启设备重试。
2. 模型部署时提示“端口被占用”?
查看端口占用情况:Windows系统运行
netstat -ano | findstr 8000,Linux/Mac系统运行lsof -i:8000,找到占用端口的进程并关闭;修改端口参数:在启动模型服务时指定未被占用的端口,如
vllm serve IPADS-SAI/MobiMind-Decider-7B --port 8003,同时在启动Agent Runner时同步修改对应端口参数。
3. 任务执行时提示“UI元素未识别”?
检查应用是否为最新版本:部分应用更新后界面结构会变化,导致模型无法识别控件,可暂时回退到测试通过的应用版本;
重新下载OmniParser模型权重:确保
weights/目录下的模型文件完整,若缺失可重新执行权重下载命令;开启OCR增强:在
utils/config.py中设置OCR_ENHANCE=True,提升文本类控件的识别精度。
4. 依赖安装时出现“版本冲突”?
使用指定Python版本:确保Python版本为3.10(项目推荐版本),避免使用3.11及以上版本(部分依赖暂不兼容);
手动指定依赖版本:若
requirements.txt中的依赖版本冲突,可根据错误提示修改版本号(如将torch==2.1.0改为torch==2.2.0);清理缓存:运行
pip cache purge清理pip缓存,再重新安装依赖。
5. GPU加速不生效怎么办?
检查CUDA版本:确保CUDA版本与PaddlePaddle-GPU版本匹配(如CUDA 11.8对应PaddlePaddle-GPU 3.1.0);
验证GPU可用性:运行
python -c "import paddle; print(paddle.device.get_device())",若输出“gpu:0”则GPU加速生效;关闭CPU优先:在
utils/config.py中设置GPU_ENABLE=True,强制使用GPU执行OCR等任务。
6. 任务执行超时或中途停止?
延长超时时间:在
runner/mobiagent/config.py中修改TASK_TIMEOUT参数(默认300秒),复杂任务可设置为600秒;检查网络状态:跨应用数据传递(如淘宝搜索)需要网络连接,确保设备网络稳定;
减少并行任务数:若同时执行多个任务,可减少
task.json中的任务数量,避免设备资源不足。
七、相关链接
GitHub仓库地址:https://github.com/IPADS-SAI/MobiAgent
Hugging Face模型库:https://huggingface.co/IPADS-SAI(MobiMind系列模型)
Hugging Face OmniParser模型:https://huggingface.co/microsoft/OmniParser-v2.0
PaddlePaddle安装文档:https://www.paddlepaddle.org.cn/install/quick
八、总结
MobiAgent作为IPADS-SAI开源的可定制移动智能体框架,通过“MobiMind模型家族+AgentRR加速框架+MobiFlow评测基准”的核心组合,构建了从任务解析、模型推理到设备执行、效果评估的完整工具链,其多任务自动化、跨应用协同、轻量化部署等特色,既满足普通用户的日常自动化需求,也为开发者和研究者提供了灵活的二次开发与实验平台。该框架兼容主流Android设备,支持模型替换与功能扩展,在个人服务、应用测试、开发辅助、学术研究等多个场景中具备实用价值,且基于Apache License 2.0协议开源,降低了技术使用与推广的门槛。无论是需要解放双手的普通用户,还是追求高效开发的企业团队,或是专注于移动智能体技术的研究者,都能从MobiAgent中获得适配自身需求的解决方案,其完整的生态支持与清晰的技术文档,也为项目的后续迭代与社区共建奠定了良好基础。
版权及免责申明:本文由@dotaai原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-news/mobiagent.html

