一、摘要
MAI-UI 是 Tongyi-MAI(通义实验室)开源的通用 GUI 智能体基座与配套代码,面向“看屏幕—理解指令—操作界面”的自动化任务。项目强调真实部署所需的三类能力:与用户的主动澄清交互(ask_user)、通过 MCP 调用外部工具(mcp_call)、以及端云协同的执行架构(在隐私与成本约束下动态选择本地/云端推理)。官方同步发布技术报告,并开源 MAI-UI-2B 与 MAI-UI-8B 权重,便于开发者以告诉知式的 OpenAI-Compatible API 方式接入。
二、核心特性
1、GUI Grounding(界面元素定位):将自然语言指令映射到屏幕目标控件坐标,用于“点哪里/找哪个按钮”的底座能力。
2、移动端 GUI 导航:支持 click、long_press、type、swipe、drag、system_button、wait、terminate、answer 等动作空间,覆盖多步任务执行。
3、原生用户交互:当指令缺信息或存在歧义时,智能体可主动发问补全关键约束(如对象、时间、账号、确认权限)。
4、MCP 工具增强:在“纯 UI 操作”之外,引入工具/API 能力降低步骤长度与脆弱性(例如地图、搜索、系统能力等)。
5、端云协同与隐私:通过任务状态与敏感信息判断,在本地与云端之间路由执行,兼顾性能、成本与隐私风险。
三、安装
1、克隆代码:git clone https://github.com/Tongyi-MAI/MAI-UI.git && cd MAI-UI
2、启动模型服务(推荐 vLLM):安装 vllm>=0.11.0、transformers>=4.57.0,用 OpenAI-Compatible API 方式起服务(示例见仓库 README)。
3、安装项目依赖:pip install -r requirements.txt
4、运行 Notebook:进入 cookbook/,使用 grounding.ipynb(定位示例)与 run_agent.ipynb(导航智能体示例),把 llm_base_url 指向你的 vLLM 服务地址。
四、典型用例
1、跨 App 事务自动化:如“查票—发群—改日程—@同事确认”这类长链路、多应用协同任务。
2、移动端助手:在安卓环境执行“设置、搜索、填写、提交”等多步骤流程。
3、产品与运营质检:对 App 关键路径做自动回归与可操作性检测(按钮可达、路径是否断裂)。
4、工具增强型任务:UI 与工具混合(例如导航/POI/日程等),减少纯点按带来的累计误差。
5、端侧优先场景:弱网/高隐私任务先本地执行,必要时再切换云端处理复杂步骤。
五、生态与竞品
1、生态基准:MAI-UI 的评测与讨论常与 ScreenSpot-Pro、OSWorld、AndroidWorld 等基准关联;其团队也开源了更偏真实评测的 MobileWorld(包含跨 App、用户交互与 MCP 增强任务)。
2、相邻方向:UI-TARS、UI-Ins、GUI-Actor、OS-Atlas 等研究同样聚焦 GUI 定位与操作,但在“交互澄清、工具调用、端云协同”这些落地要素上的集成方式各不相同。选型建议以你的环境(移动/桌面/网页)、可用工具体系、隐私合规与成本预算为准。
六、局限与注意事项
1、SOTA/指标来源:公开成绩通常来自论文/报告设定的评测与配置,迁移到你的 App/流程时仍需验证。
2、长链路误差累积:UI 任务步数越长越脆弱,建议优先引入工具调用、约束澄清与“关键步骤确认”。
3、环境依赖:不同分辨率、主题、语言、动效与弹窗会显著影响定位与执行稳定性。
4、权限与合规:涉及账号、支付、隐私数据的操作应加入显式授权与审计日志,避免自动化越权。
5、算力与延迟:2B/8B 更适合开发与边缘推理;更大规格(如报告提及的更大模型)通常需要更强算力与更复杂部署。
七、项目地址
https://github.com/Tongyi-MAI/MAI-UI
八、常见问题
Q:MAI-UI-2B 与 MAI-UI-8B 该怎么选?
A:2B 更偏轻量与快速验证;8B 通常在复杂指令理解与多步任务上更稳,实际以你的设备与任务成功率测试为准。
Q:MAI-UI 如何用 vLLM 部署成 OpenAI-Compatible 接口?
A:按仓库 README 启动 vllm.entrypoints.openai.api_server,设置 --model、--served-model-name、端口与并行参数,然后在 Notebook/应用里把 llm_base_url 指向该地址。
Q:MAI-UI 是否支持 MCP 工具调用(mcp_call)?
A:项目将 MCP 作为扩展动作的一部分;你需要按自己的工具栈部署/配置 MCP Server,并在智能体运行时启用对应能力。
Q:MAI-UI 为什么需要 ask_user(主动提问澄清)?
A:真实指令常缺少关键约束(对象、范围、确认步骤),主动澄清能减少误操作并提升任务完成率。
Q:MAI-UI 能否离线使用与端侧运行?
A:可以在本地起推理服务并离线运行,但端侧能力受模型大小、设备算力与任务复杂度影响;涉及敏感信息时建议优先端侧执行并加入权限控制。