如何用 Qwen2.5-VL 智能体驱动电脑与手机:GUI 自动化实操教程

如何用 Qwen2.5-VL 智能体驱动电脑与手机:GUI 自动化实操教程 如何用 Qwen2.5-VL 智能体驱动电脑与手机GUI 自动化实操教程【免费下载链接】Qwen3-VLQwen3-VL is the multimodal large language model series developed by Qwen team, Alibaba Cloud.项目地址: https://gitcode.com/GitHub_Trending/qw/Qwen3-VL如果模型能看着你的屏幕帮你点鼠标、打字符重复性的界面操作就可以交给它完成。Qwen2.5-VL 智能体做到的就是这件事给它一张屏幕截图加一句自然语言它回一条点哪个坐标、输入什么文字的具体动作这就是 GUI 自动化的核心闭环。下面用仓库里自带的电脑端与手机端两个示例 notebook把 Qwen2.5-VL 智能体教程能覆盖的最小完整流程走一遍照着跑就能得到第一个可工作的 demo。三分钟看懂原理截图、识别、动作的闭环智能体机制本质是一个三步循环先截图输入把当前界面转成 base64 与任务描述一起发给模型再由模型做元素识别在视觉上定位按钮、输入框等可交互元素最后是动作指令生成输出一个 JSON 函数调用action指定动作类型coordinate和text等参数指定细节。入口在 cookbooks/utils/agent_function_call.py 文件里面定义了ComputerUse电脑和MobileUse手机两个工具类通过 qwen-agent 的函数调用机制把可用动作与参数格式声明给模型图像预处理可借助qwen-vl-utils/src/qwen_vl_utils/vision_process.py中的smart_resize函数控制送入模型前的分辨率。每执行一步就再截一张图重新识别如此循环直到任务完成。从零跑通第一个示例安装依赖与发起调用克隆仓库并安装依赖在 notebook 的 cookbooks 目录下运行示例。先拿到代码再装四个包git clone https://gitcode.com/GitHub_Trending/qw/Qwen2.5-VL cd Qwen2.5-VL/cookbooks pip install transformers qwen-vl-utils qwen-agent openai最短调用链路最短路径是走 OpenAI 兼容 API初始化ComputerUse用它自带的函数描述生成 system 提示再把截图 任务发给模型。from openai import OpenAI from utils.agent_function_call import ComputerUse from qwen_agent.llm.fncall_prompts.nous_fncall_prompt import ( NousFnCallPrompt, Message, ContentItem) computer_use ComputerUse( cfg{display_width_px: 1000, display_height_px: 1000}) system_msgs NousFnCallPrompt().preprocess_fncall_messages( messages[Message(rolesystem, content[ContentItem(textYou are a helpful assistant.)])], functions[computer_use.function]) client OpenAI(api_keysk-xxx, base_urlhttps://dashscope-intl.aliyuncs.com/compatible-mode/v1)随后把截图 base64 编码放进 user 消息任务描述写成一句话例如打开第三行条目调用client.chat.completions.create并把system_msgs[0].model_dump()作为 system 消息传入返回内容里就是模型给出的动作 JSON。仓库 notebook 同时保留了用 transformers 本地加载模型的分支有 GPU 可以自行替换。桌面 GUI 自动化落地从一张截图到一次点击仓库自带示例cookbooks/computer_use.ipynb 用的是一个 GitLab Issues 页面截图任务设为 open the third issue打开第三个 issue。页面上排着若干 issue 条目模型需要按顺序数出目标行再输出该行标题的点击坐标。模型会输出什么ComputerUse声明的动作覆盖桌面常见操作左键/双击/右键点击、key按键、type打字、scroll滚轮滚动、wait等待、terminate结束任务等。模型分析截图后的输出形如{action: left_click, coordinate: [x, y]}其中坐标位于 cfg 声明的 1000x1000 虚拟屏幕上执行前要换算成真实分辨率见下文常见坑。点击执行后重新截图校验界面按预期变化则任务完成否则带着新截图进入下一轮。移动设备控制落地完成一次应用内搜索可用的触控动作MobileUse面向触屏设计动作集与桌面有差异click、type之外还有long_press长按、swipe滑动coordinate到coordinate2、open打开应用、system_buttonBack / Home / Menu / Enter、wait、terminate参数 schema 同样定义在 cookbooks/utils/agent_function_call.py 中模型输出的每个动作都会按它校验。一次完整搜索流程cookbooks/mobile_agent.ipynb 演示了在 B 站应用里搜索 Qwen-VL 视频这个完整小任务先open打开应用click点击搜索框type输入关键词再click点击搜索按钮。关键是每一轮模型只接收两样东西——当前截图、已执行步骤的简短总结Task progress它生成下一个动作执行器跑完后截新图再进入下一轮直到terminate收尾。这个截图 进度 → 动作 JSON → 执行 → 新截图的循环就是 Qwen2.5-VL 手机自动化教程里最小的可复用单元。常见坑与调试技巧点击坐标怎么换算模型输出的坐标在虚拟网格上手机 999x999、电脑 1000x1000不是真实像素要分别按屏幕宽高缩放。mobile_agent.ipynb里已带现成工具def rescale_coordinates(point, width, height): return [round(point[0] / 999 * width), round(point[1] / 999 * height)]界面加载等待应用启动和页面跳转都有延迟旧截图上的坐标点下去可能已经错位。工具描述本身就提示wait and take successive screenshots拿不准就先用wait动作再截一张图确认。失败重试点击落空时从新截图重新确认元素位置把点击点瞄准元素中心而不是按钮边缘同一动作重试一两次通常即可命中。可视化调试用 notebook 里的draw_point函数在截图上给模型选的点画一个红圈和真实元素比对一眼看出坐标偏没偏。适用场景GUI 自动化测试在固定界面上回放一串操作验证新版本没有破坏交互流程数据录入与表单填写报表登记、邮件批处理这类规则明确的重复操作跨设备任务执行同一套截图 指令模式电脑端与手机端都能跑无障碍辅助代行动不便的用户完成界面点击与信息查找快速原型验证不写 UI 自动化脚本直接用自然语言描述任务快速验证想法以上代码均出自仓库 cookbooks 目录打开对应 notebook 即可按顺序执行整体使用方式可参考 README.md。【免费下载链接】Qwen3-VLQwen3-VL is the multimodal large language model series developed by Qwen team, Alibaba Cloud.项目地址: https://gitcode.com/GitHub_Trending/qw/Qwen3-VL创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考