如何用 UI-TARS 让电脑自己干活:GUI Agent 本地部署与动作解析完整指南
【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS
UI-TARS 是一个开源的 GUI agent:给它一张屏幕截图和一句自然语言任务,它会输出点击、输入等操作,让电脑自主操作软件。本文带你从安装走到跑通第一条动作解析,并覆盖部署参数、坐标校准和常见踩坑。
🚀 第一次跑通:UI-TARS 安装并执行第一条动作解析
环境要求不高:Python 3 + pip(或更快的 uv)。模型权重托管在 Hugging Face 平台,这一节先让官方后处理包跑起来,这部分纯离线即可执行。
git clone https://gitcode.com/GitHub_Trending/ui/UI-TARS cd UI-TARS/codes uv pip install ui-tarsui-tars 包的核心是动作解析器:模型输出形如Thought: ... Action: click(...)的文本,需要由它转成代码可执行的结构。
from ui_tars.action_parser import parse_action_to_structure_output out = parse_action_to_structure_output( "Thought: Click the button\nAction: click(start_box='(100,200)')", factor=1000, origin_resized_height=1080, origin_resized_width=1920, model_type="qwen25vl") print(out)输出是包含动作类型与换算回原始分辨率坐标的字典,再交给parsing_response_to_pyautogui_code就能生成直接控制鼠标键盘的 pyautogui 代码。仓库data/test_messages.json里有一份完整的多轮请求样例,可以对照着写自己的调用。
🖥️ 能力拆解:从桌面到手机,三套提示模板与实测成绩
codes/ui_tars/prompt.py提供了三套提示模板,对应三类场景:
- COMPUTER_USE:Windows、macOS、Linux 桌面,覆盖单击、双击、右键、拖拽、快捷键、文本输入和滚动,适合浏览器与办公软件操作;
- MOBILE_USE:安卓真机或模拟器,额外包含
long_press、open_app、press_back、press_home等移动端专属动作; - GROUNDING:只输出
Action不输出Thought,用于定位能力评测或轻量集成。
成绩方面,官方报告显示 UI-TARS-1.5 在 OSWorld 电脑操作基准上取得 42.5,在 ScreenSpot-V2 元素定位上取得 94.2,均超过此前 SOTA 模型;下图是各项基准相对旧 SOTA 的提升幅度:
实际场景中它也能承担写作、资料整理这类长流程任务,官方给出的演示效果如下:
☁️ 如何配置 GPU 参数完成 Hugging Face Endpoint 云端部署
不想本地维护 GPU 的话,可以用 Hugging Face 平台的 Inference Endpoints 部署 UI-TARS-1.5-7B。官方 README_deploy.md 给出的推荐配置:
- GPU 实例:7B 模型选
GPU L40S 1GPU 48G,Nvidia L4 或 A100 也可; - 容器参数:
Max Input Length、Max Batch Prefill Tokens设为 65536,Max Number of Tokens设为 65537; - 两个环境变量:
CUDA_GRAPHS=0避免部署失败,PAYLOAD_LIMIT=8000000防止截图过大被请求层拒绝; - 部署完成后把容器镜像更新为 text-generation-inference:3.2.1。
端点起来后,用标准 OpenAI 客户端接口调用(base_url 指向端点地址、temperature 取 0),拿到的就是同样的 Thought + Action 文本,再走上面那套解析即可。
🔍 UI-TARS 工作原理:从一张截图到一次点击
简单说:模型像一个见过海量屏幕截图的“读者”,它看完当前截图和任务描述后,先写几句推理(Thought),再写一行操作指令(Action);后处理层把指令里的坐标从“模型看到的图”换算回“你的真实屏幕”,最后交给 pyautogui 执行点击。训练与推理的整体流程如下图:
留意中间的“坐标换算”:视觉模型在输入前会把图像 resize,模型输出的坐标是基于缩放后尺寸的,不是原始分辨率。这是新手最容易踩的坑。
⚠️ 新手常见踩坑三个问题:坐标、部署与算力
为什么 UI-TARS 的点击坐标总是偏移?
qwen25vl 输出的是绝对坐标,而图像输入前会经过 smart_resize(边长需对齐到 28 的倍数)。如果解析时直接按原始分辨率换算,点击点必然偏移。务必把真实屏幕分辨率传入解析器的origin_resized_height/width参数,并按 README_coordinates.md 的可视化教程核对红点落位:
端点部署失败或请求报错怎么办?
优先补上两个环境变量:缺CUDA_GRAPHS=0是部署失败的高频原因,缺PAYLOAD_LIMIT会导致大截图被拒;再检查最大长度参数是否设到 65536,GUI 多轮对话的 token 增长很快,默认值容易不够。
本地机器跑不动 7B 模型怎么办?
官方给 7B 的推荐配置是 48G 显存(L40S)。普通本地机器建议直接用云端端点;如果只是研究流程,仓库codes/tests/下有现成的推理与解析自测脚本,可以先验证整条链路再谈算力。
UI-TARS 适合想自动化桌面、浏览器与手机操作的同学,也适合同做多模态 agent 研究的开发者:权重、后处理代码和坐标教程全部开源可用。下一步可以很小:clone 仓库后,用一张 1080p 截图跑一遍上面 5 行解析代码,输出坐标与真实按钮位置对上了,就可以开始接自己的任务循环了。
【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考