Mano-P:纯视觉GUI智能体开源,本地部署实现跨平台自动化
1. 项目概述当AI拥有了一双“眼睛”和“手”今天我们正式开源了 Mano-P。这不是又一个依赖浏览器开发者工具或者需要你把屏幕截图上传到云端服务器的“AI助手”。Mano-P 是一个纯粹的视觉 GUI 智能体它通过“看”屏幕截图来理解界面并执行操作。想象一下你给一个刚入职的新人看你的电脑屏幕然后告诉他“帮我把这个文档保存到D盘的‘项目报告’文件夹里”。他需要理解屏幕上哪些是窗口、哪些是按钮、哪些是输入框然后移动鼠标、点击、输入。Mano-P 做的就是这样的事只不过它是一段代码一个模型。它的名字“Mano”在西班牙语里是“手”的意思而当前很多AI代理的操作方式在我看来就像龙虾的钳子——能用但笨拙。Mano-P 的目标就是给AI一双灵巧、通用的“手”。为什么这件事重要因为图形用户界面GUI是我们与计算机交互最主要的方式。现有的自动化方案各有各的“硬伤”传统的RPA工具如UiPath严重依赖屏幕坐标和图像模板UI稍有改动比如按钮挪了个位置或者换了主题脚本就失效了基于浏览器CDP协议的方案很多所谓的“AI浏览器助手”只能操作网页对桌面软件、专业工具如Photoshop、SolidWorks或游戏客户端束手无策而云端方案如一些闭源的云计算机服务则需要你将敏感的屏幕数据持续上传到远程服务器这在处理企业内部系统、财务软件或个人隐私数据时是完全不可接受的。Mano-P 选择了第四条路纯视觉。它不关心底层是Windows、macOS还是Linux不关心应用是Chrome、微信还是Blender。它只处理一件事——屏幕的像素阵列。通过一个强大的多模态视觉模型它直接“看懂”屏幕上有什么哪里可以交互然后模拟人类的鼠标和键盘操作去完成任务。这一切都可以在你的本地设备上完成数据不出你的电脑。今天我们将这套在OSWorld基准测试中排名第一的解决方案以Apache 2.0协议完全开源。2. 核心设计思路为什么是“纯视觉”2.1 打破协议与平台的枷锁在深入技术细节前我们必须先理解“纯视觉”这个选择的根本逻辑。GUI自动化的本质是“感知-决策-执行”循环。传统的感知手段是“间接”的通过CDP获取DOM树通过Accessibility API获取控件树。这些方法高效、精确但有一个致命前提——目标应用必须支持并暴露这些接口。这就把自动化范围限制在了一个个“信息孤岛”里。你能自动化Chrome但自动化不了你公司内部用Electron打包但没开调试模式的应用你能自动化系统原生控件但自动化不了游戏里自定义渲染的UI或者工业软件的操作面板。更现实的是很多老旧或封闭的软件根本不提供任何程序化接口。纯视觉方案则是一种“终极通用”的感知方式。屏幕像素是GUI的最终呈现形式是所有交互的“公分母”。只要是人类能通过屏幕看到并操作的理论上视觉模型也能“看到”并理解。这相当于为AI代理装上了一双和人眼功能类似的“眼睛”使其能够进入任何有图形界面的环境无论是桌面、移动端还是嵌入式设备的屏幕。2.2 从“理解”到“操作”的映射难题当然纯视觉路径并非没有挑战。最大的难点在于建立从像素到动作的准确映射。人类在看到“保存”按钮时能瞬间理解其含义、预测点击后的结果并规划出移动鼠标、点击这一系列动作。对模型而言这需要解决几个核心问题视觉 grounding视觉基础定位模型必须能从复杂的屏幕画面中精准定位出可交互的元素按钮、输入框、滑块等并理解其类型和状态如按钮是否可点击、复选框是否被勾选。意图-动作对齐用户的自然语言指令如“搜索苹果的价格”需要被转化为对特定UI元素的一系列原子操作如定位搜索框 - 点击 - 输入“苹果股价” - 点击搜索按钮。状态跟踪与验证执行一个动作后屏幕状态会发生变化。模型需要能判断动作是否成功执行例如点击“保存”后是出现了“保存成功”提示还是弹出了错误对话框并基于新状态规划下一步。Mano-P 没有走捷径去混合使用视觉和元数据而是选择正面攻克这些难题训练一个端到端的、从屏幕截图和指令直接输出动作的模型。这种“重感知、轻假设”的设计牺牲了一部分在受限环境如纯Web下的潜在精度换来了无与伦比的通用性和部署简便性。注意纯视觉方案对模型的世界知识和推理能力要求极高。它需要理解“文件菜单”、“地址栏”、“登录对话框”这些抽象概念并将其与千变万化的视觉表现形式关联起来。这正是多模态大模型MLLM近年来突破所带来的机会。3. 技术架构深度解析3.1 模型基石视觉编码与动作解码Mano-P 的核心是一个经过特殊训练的多模态大语言模型。其处理流程可以简化为屏幕截图 文本指令 - 视觉编码器 - 大语言模型核心 - 动作解码器 - 模拟操作。视觉编码器负责将高分辨率的屏幕截图例如 1920x1080转换成一系列视觉特征向量视觉token。这里没有使用简单的全局池化而是采用了高分辨率的处理策略以保留屏幕上细小UI元素如图标、小按钮的细节信息。这是实现精准定位的关键。大语言模型核心接收视觉token和文本指令token。模型在此进行真正的“思考”综合视觉信息和语言指令理解任务目标并推理出达成目标所需的操作步骤序列。这一步充分调用模型的常识、GUI知识和对任务流程的理解。动作解码器将模型“思考”的结果解码为具体的、可执行的原子动作。Mano-P 的动作空间设计得非常贴近真实人机交互通常包括CLICK(x, y, element)在屏幕坐标(x, y)处点击通常附带对目标元素的描述如“搜索按钮”。TYPE(text)输入文本。PRESS(key)按下某个键盘按键如Enter, Tab。SCROLL(direction, amount)滚动。WAIT(condition)等待某个视觉条件满足如某个窗口弹出。3.2 Mano-Action 双向自增强训练这是 Mano-P 训练方法中的一个创新点对于提升模型在未见过的UI上的泛化能力至关重要。受生成对抗网络GAN中“循环一致性”思想的启发团队设计了一个双向训练循环。传统的训练是单向的给定屏幕截图和指令模型预测出正确的动作序列文本 - 动作。Mano-Action 在此基础上增加了一个反向过程给定屏幕截图和已执行的动作序列模型需要能反推出最初的人类指令是什么动作 - 文本。为什么这样做有效这相当于给模型增加了一个“自我验证”的机制。如果模型能从一个动作序列准确还原出意图说明它对“动作如何影响界面状态并达成目标”有了更深层次的理解而不仅仅是记住了截图指令动作的数据对。这种双向约束迫使模型学习到更鲁棒、更可解释的视觉-动作映射关系在面对全新、风格迥异的UI时也能更好地进行类比和推理。3.3 三阶段训练管道从模仿到精通构建一个强大的GUI智能体不是一蹴而就的。Mano-P 采用了一个循序渐进的三阶段训练策略模拟了人类从学习到精通的过程监督微调SFT阶段“模仿学习”。使用大量人工标注或半自动生成的截图指令正确动作序列数据对进行训练。这个阶段的目标是让模型学会基本的“屏幕到动作”的映射规则掌握常见的交互模式。可以理解为教AI“看图说话”只不过“话”是操作指令。离线强化学习Offline RL阶段“反思学习”。在这个阶段我们不再只给模型看“正确答案”。我们会收集模型自身在模拟环境中探索产生的轨迹数据其中包含大量失败或次优的尝试。利用离线RL算法如Conservative Q-Learning模型从这些成功和失败的经验中学习理解哪些动作在什么状态下会带来更好的长期回报即更接近完成任务。这能让模型学会处理SFT数据中未覆盖的复杂或边缘情况。在线强化学习Online RL阶段“实践精进”。这是最高阶的阶段。让模型直接与真实的或高保真的模拟GUI环境进行交互。模型执行动作环境给出新的屏幕状态和奖励信号例如成功找到按钮得1分错误点击得-1分最终完成任务得100分。通过在线RL模型能持续优化其策略适应动态变化的环境并学会探索更高效的解决方案。这个阶段对计算资源和环境仿真的真实性要求最高。3.4 GSPruning让大模型在终端设备上“跑起来”的关键一个性能强大的视觉模型往往参数庞大计算量惊人。如何让这样的模型能在个人电脑甚至移动设备上实时运行Mano-P 采用了名为GSPruning引导式结构化剪枝的压缩技术。它的核心思想非常直观并非屏幕上的所有视觉信息都对当前任务同等重要。当你的指令是“点击保存按钮”时模型真正需要关注的是屏幕上所有可能是按钮的区域而背景壁纸、其他窗口的无关内容等信息的重要性就低得多。GSPruning 技术能在模型推理过程中动态地识别并“剪枝”掉那些与当前任务关联度低的视觉token。根据论文数据它能将需要处理的视觉token数量压缩到原来的25%左右。这意味着模型的前向传播计算量减少了约75%从而将推理速度提升了2到3倍而准确率的损失却微乎其微。实操心得这种动态剪枝技术与传统的静态模型压缩如量化、蒸馏是互补的。你可以先对模型进行GSPruning以减少计算量再对精简后的模型进行4-bit或8-bit量化进一步减少内存占用。两者结合是让数十亿参数的大模型在消费级硬件上实现可用性能的关键。4. 核心工作流程Think-Act-Verify 循环与许多“一步到位”的规划型智能体不同Mano-P 采用了一种更接近人类、也更稳健的交互范式Think-Act-Verify思考-执行-验证循环。它不会在开始时就直接生成一个长长的、不可更改的动作序列清单。它的工作流程是这样的Think思考模型接收当前屏幕截图和用户指令分析当前界面状态并规划出下一个最优的原子动作。例如“当前是一个文件管理器窗口目标是打开D盘。下一个动作应该是双击‘此电脑’图标。”Act执行系统执行上一步规划出的单个动作如模拟鼠标双击。Verify验证动作执行后系统捕获新的屏幕截图。模型快速验证结果动作是否成功执行界面是否按预期变化例如双击后是否弹出了新的窗口或者是否出现了错误提示Loop循环基于验证后的新状态模型再次进入“思考”阶段规划下一个动作。如此循环直至任务完成或无法继续。这种方式的巨大优势在于容错性和适应性应对意外如果点击后弹出了一个意料之外的确认对话框模型能在“验证”阶段立刻发现这个新状态并调整后续计划比如先去点击对话框的“确定”按钮而不是继续执行原来那个已经失效的“打开D盘”计划。处理延迟对于启动缓慢的软件模型可以在“验证”阶段通过等待或检测特定元素如进度条消失、主窗口出现来适应而不是在软件加载时就误判为失败。更符合实际人类操作电脑时也是边看边做而不是在脑子里预先写好所有鼠标移动的坐标。这种交互模式让智能体的行为更自然也更可靠。5. 性能表现与基准测试5.1 OSWorld 排行榜第一名实至名归衡量一个GUI智能体的能力不能只看演示视频必须看它在标准、公开的基准测试上的表现。OSWorld 是一个新兴但备受关注的综合性GUI智能体评估环境它包含了从桌面办公、网页浏览到专业软件操作等上百个真实任务。在OSWorld的最新评测中Mano-P 72B版本取得了58.2%的任务成功率。这个数字意味着什么它比第二名另一个基于72B参数模型的方案的45.0%高出整整13.2个百分点。在包含众多闭源商业模型如GPT-4V, Claude, Gemini的总榜单上Mano-P 72B 位列第五而排在前四的均是参数量超过1000亿的“巨无霸”通用模型。这个成绩清晰地表明专注于GUI领域的专用模型完全可以在其特定任务上超越参数规模大得多的通用模型。Mano-P 通过针对性的架构设计和训练将计算资源用在了刀刃上。5.2 多模态能力全面开花除了OSWorldMano-P 在一系列多模态基准测试中都取得了领先SOTA或接近领先的成绩这证明了其底层视觉理解能力的强大基准测试Mano-P 得分测试重点ScreenSpot-V293.5屏幕截图中的元素定位与描述MMBench87.5综合性多模态理解与推理UI-Vision46.6复杂UI界面的功能与交互理解Web Navigation41.7基于视觉的网页任务完成这些分数说明Mano-P 不仅会“操作”更具备了深度的“理解”能力。它能看懂图表、识别图标含义、理解界面布局逻辑这是它能稳健执行复杂任务的基础。5.3 本地部署性能实测对于本地部署方案性能至关重要。团队提供了量化后的4B参数版本w4a16量化。在 Apple M4 Pro 芯片的MacBook Pro上进行实测其性能数据如下预填充速度476 tokens/秒解码速度76 tokens/秒峰值内存占用4.3 GB这个性能意味着什么对于大多数交互任务模型能在1-3秒内完成一次“思考-执行”循环达到了基本可用的交互速度。而4.3GB的内存占用使得它可以在绝大多数配备16GB或以上内存的现代笔记本电脑上流畅运行无需独占顶级显卡。关键点在于这些操作完全在你的设备本地进行。屏幕截图、你的指令、中间的分析过程所有数据从未离开你的机器。这对于处理敏感信息、遵守数据合规要求如GDPR、HIPAA或仅仅是不希望数据外流的用户来说是核心优势而非锦上添花。6. 开源路线图与上手实践6.1 分阶段开源计划为了让社区能够逐步接入和使用Mano-P 的开源计划分为三个阶段第一阶段已完成Mano-CUA Skill。这是一个即插即用的“技能包”。如果你已经在使用其他AI Agent框架如LangChain, AutoGPT等你可以通过clawhub install mano-cua命令安装这个技能。安装后你的Agent在判断需要操作图形界面时会自动调用Mano-P的能力。你不需要手动触发Agent会自主决策。第二阶段进行中本地模型 Python SDK。这将提供完整的本地化解决方案。你将能直接下载模型权重并通过一个Python SDKmano-client在你的代码中直接集成Mano-P的视觉与操作能力实现零云端依赖的自动化脚本或应用。第三阶段规划中完整技术栈。包括详细的训练方法、GSPruning剪枝工具链、模型量化脚本等。目标是让整个社区不仅能“用”还能“改”和“训”可以根据自己的数据微调出更擅长特定领域如金融软件、设计工具的专属Mano-P版本。6.2 快速开始指南目前最快捷的体验方式是使用其命令行工具mano-cua。对于 macOS 用户使用 Homebrewbrew tap HanningWang/tap brew install mano-cua安装完成后你就可以在终端里直接向你的电脑发号施令了。例如尝试一个简单的任务mano-cua run 打开系统自带的记事本输入‘Hello Mano-P’然后保存到桌面文件名为 test.txt执行这行命令后你会看到鼠标指针开始自动移动打开“启动台”或“Spotlight”搜索“记事本”点击打开在窗口内输入文字点击菜单栏的“文件”-“保存”选择桌面位置输入文件名最后点击保存。整个过程完全由 Mano-P 通过视觉识别和模拟操作完成。对于其他系统或更深入的集成请密切关注项目的 GitHub 仓库。Python SDK 的发布将提供最大的灵活性允许你将 Mano-P 的能力嵌入到你自己的Python应用程序、自动化流程或智能体系统中。7. 应用场景与未来想象7.1 Mano-afk全自动应用构建这可能是最令人兴奋的应用方向之一。向 Mano-P 描述一个自然语言需求例如“创建一个简单的待办事项网页应用前端用React后端用Flask要有添加、删除、标记完成的功能并保存到SQLite数据库。”Mano-P 可以尝试接管整个开发流水线它分析需求 - 规划技术架构 - 编写前端React组件 - 编写后端Flask API - 创建数据库模型 - 运行测试 - 发现错误 - 定位问题 - 修改代码 - 再次验证。整个过程可能完全无需人工介入或者仅在关键决策点需要人类确认。这并非天方夜谭而是纯视觉智能体在访问代码编辑器、终端、浏览器等开发工具后逻辑上可以实现的“数字劳动力”。7.2 个人AI学习并适配你的习惯“Personal AI”中的“Personal”是 Mano-P 强调的另一层含义。当一个强大的GUI智能体常驻在你的本地设备上它能够持续观察你如何使用各种软件并学习你的个人习惯和偏好。一个有趣的例子是打麻将。你可以让 Mano-P 学习你打麻将的风格——是激进还是保守喜欢做哪种牌型在特定牌局下的决策逻辑。然后它可以基于你的风格来操作麻将游戏客户端而不是简单地执行一个“最优”但不符合你个性的策略。这只是一个比喻其核心在于Mano-P 可以成为你数字工作流的延伸一个真正懂你习惯的“数字分身”帮你处理那些重复、繁琐但你又希望保持特定方式的GUI操作。7.3 企业级自动化与无障碍辅助在企业环境中Mano-P 的本地部署和通用性优势巨大遗留系统自动化许多企业核心系统是基于老旧技术如VB, PowerBuilder开发的没有现代API。纯视觉的Mano-P 可以像人类员工一样操作这些系统实现数据迁移、报表生成等自动化。安全合规场景在金融、医疗、政府等领域操作敏感数据的系统严禁与外网联通。Mano-P 的本地处理能力使其成为内部流程自动化的唯一可行AI方案。软件测试自动进行跨平台、跨应用的GUI回归测试模拟用户操作发现界面Bug和交互问题。此外它也是一个强大的无障碍辅助工具原型。对于行动不便的用户可以通过语音指令让 Mano-P 操作电脑上的任何软件完成上网、办公、娱乐等所有操作真正实现“所想即所得”。8. 常见问题与实战排坑指南在实际测试和早期社区反馈中以下几个问题是大家最常遇到的Q1: Mano-P 和传统的RPA工具如UiPath, Automation Anywhere有什么区别A1:核心区别在于“感知”方式。传统RPA主要依赖图像模板匹配和屏幕坐标极其脆弱UI稍改即失效。Mano-P 基于视觉理解能像人一样“看懂”界面元素是什么按钮、输入框并理解其语义因此对UI变化的容忍度高得多。传统RPA是“死记硬背”Mano-P 是“理解执行”。Q2: 它真的能操作任何软件吗有没有什么限制A2:理论上任何有图形界面且能被屏幕捕获的软件都可以操作。但实际效果受限于模型见过的界面类型如果某个专业软件的界面风格极其独特训练数据中从未出现过模型可能需要更长时间适应或表现不佳。动态与3D界面对于频繁刷新、大量动画或全3D渲染的界面如一些游戏、CAD软件模型可能难以稳定定位元素。这时可能需要降低屏幕捕获帧率或结合其他辅助定位手段。系统权限它需要权限来模拟鼠标键盘和捕获屏幕。在某些安全策略严格的企业环境中可能需要IT部门授权。Q3: 本地运行对硬件要求高吗A3:对于量化后的4B版本如实测所示一台近几年的主流笔记本电脑16GB内存Apple Silicon M系列或Intel/AMD中端CPU即可运行。如果要运行更大的72B版本则需要更强的算力如高端显卡或云端GPU。团队优化的重点正是让核心能力在终端设备上可用。Q4: 如何提高任务执行的成功率A4:有几个实用技巧指令清晰具体避免模糊指令。对比“整理一下桌面”和“将桌面上的所有PDF文件移动到‘文档’文件夹内”后者成功率远高于前者。分步复杂任务对于非常复杂的多步骤任务可以将其拆分成几个子任务依次执行而不是试图用一个指令完成所有。确保界面稳定在执行任务时尽量减少其他窗口的弹出干扰保持目标应用在前台。模型处理的是实时截图突然的干扰会打断其计划。利用“验证”阶段Think-Act-Verify循环本身具备纠错能力。如果某一步失败了观察模型在下一步是否会尝试纠正比如点击错误后去关掉错误提示。给它一点“思考”和“重试”的时间。Q5: 它安全吗会不会乱操作我的电脑A5:这是一个非常重要的考量。Mano-P 作为工具其行为完全由输入的指令和其自身的策略决定。在开放环境下不应赋予其过高权限或执行高风险指令如“格式化硬盘”。建议的实践是沙盒环境测试先在虚拟机或备用电脑上测试新的自动化流程。权限最小化以普通用户权限运行避免使用管理员权限。人工监督模式在关键操作如文件删除、资金转账前可以设置为需要人工确认。指令审查对于来自不可信来源的自动化脚本或指令保持警惕。开源 Mano-P是向“通用个人AI”迈出的坚实一步。它把最关键的感知与操作能力以一种开放、可本地部署的方式交到了开发者手中。接下来的故事关于如何用它来构建真正理解并服务于个人的数字助手关于如何重塑我们与机器交互的方式将由整个开源社区共同书写。项目的 GitHub 仓库已经开放Apache 2.0 协议保证了最大的使用自由度。无论是想集成一个自动化功能还是想深入研究其算法现在都是一个绝佳的起点。