UI-TARS 本地部署与推理实战:从截图到脚本一次跑通

发布时间:2026/9/15 18:10:04
UI-TARS 本地部署与推理实战:从截图到脚本一次跑通 UI-TARS 本地部署与推理实战从截图到脚本一次跑通【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS云端推理服务排队时一次 GUI 操作指令往往要等好几秒。UI-TARS 本地部署把视觉语言模型的截图理解与脚本生成搬回本机UI-TARS 本地推理从此不依赖外网。本文基于仓库codes/目录走通环境搭建、权重准备、坐标转换到 pyautogui 脚本生成的完整链路全程以最小可运行示例为主。上图给出 UI-TARS 的闭环模型观察截图输出 Thought 与 Action再由执行端落回界面。下面按先跑通、再讲清的顺序拆成四步。三分钟跑通环境克隆与依赖安装先确认硬件与软件基线。CPU 侧建议 8GB 内存起步接了支持 CUDA 的 NVIDIA 显卡能明显缩短单轮推理时间软件侧需要 Python 3.10、Git以及 pip 或 uv 任一。git clone https://gitcode.com/GitHub_Trending/ui/UI-TARS cd UI-TARS/codes pip install . uv run python -m unittest discover tests最后一条是仓库自带的解析单元测试专门验证 codes/ui_tars/action_parser.py 里坐标解析与代码生成这两条链路是否可用。实践小贴士先让这条测试绿了再去接真实模型输出。环境有问题时测试脚本能比主流程更快把原因暴露出来。模型权重准备与首次本地推理验证模型权重不在仓库里需自行从模型平台下载放到一个本地目录例如codes/models/该目录需手动创建。这里仓库只读权重与截图都放在工作区不动仓库内文件。验证能不能跑不必等真实模型。仓库data/下有一张现成的桌面截图配合一条写死的模型输出就能走完一次本地推理的解析侧uv run python codes/tests/inference_test.py该脚本会打印缩放前后的尺寸并画出一张带红点的结果图。红点落在哪里代表模型坐标还原后真正会点的位置。坐标偏移的 3 个排查点与缩放原理坐标偏移几乎都出在这三处先记住再动手一是原图尺寸拿错了二是喂给模型的缩放后尺寸origin_resized_height/width与实际不一致三是factor与模型训练时的取值对不上。原理上smart_resize会把图像缩到两边都是 28 的整数倍、且总像素落在100*28*28到16384*28*28区间的尺寸返回(新高, 新宽)。模型是在这张缩放图上出坐标的所以要还原就必须知道这张图的尺寸。from PIL import Image from ui_tars.action_parser import smart_resize, parse_action_to_structure_output shot Image.open(data/coordinate_process_image.png) orig_w, orig_h shot.size new_h, new_w smart_resize(orig_h, orig_w) # 对齐 28 的倍数 resp Thought: 点击设置\nAction: click(start_box(197,525)) out parse_action_to_structure_output( resp, factor1000, origin_resized_heightnew_h, origin_resized_widthnew_w, model_typeqwen25vl) print(out[0][action_inputs][start_box]) # 得到 0~1 相对坐标model_typeqwen25vl时模型给的是缩放图上的绝对像素函数内部用它除以new_h/new_w归一到 0~1换成qwen2vl这类相对坐标模型则改用factor常取 1000去缩放。两条路径最终都收敛到同一份 0~1 的相对坐标这是后面任意分辨率都能复用的关键。把模型输出转成 pyautogui 可执行代码拿到 0~1 坐标后parsing_response_to_pyautogui_code负责乘回当前截图的image_width/image_height并映射成click、type、drag、hotkey等具体调用from ui_tars.action_parser import parsing_response_to_pyautogui_code script parsing_response_to_pyautogui_code( responsesout, image_heightorig_h, image_widthorig_w, ) print(script) # 输出形如 # pyautogui.click(x..., y..., buttonleft)把打印结果另存为.py文件即可执行。点击、输入、拖拽、快捷键这些分支都已内置想确认边界行为时可对照 codes/tests/action_parser_test.py 里的三个用例它分别覆盖parse_action、结构化解析与代码生成。常见坑位Windows 缩放与依赖冲突坐标偏移核对原图尺寸、origin_resized_*是否等于真实喂入尺寸、factor是否匹配模型。三者只要有一处对不上红点就会整体偏移。依赖冲突uv 重装一次通常能解决大部分版本打架问题。Windows 显示缩放缩放比例不是 100% 时pyautogui 的物理像素与截图坐标会差一个倍数建议先统一到 100% 再排查其他项。uv pip install --force-reinstall .实践小贴士怀疑缩放问题时先用系统显示设置把比例调回 100% 复测一次比反复改解析参数更省事。跑通这条链路后下一步可以接上真实的截图—推理—执行循环让模型自主读回结果图或在换一张不同分辨率的截图上复跑验证相对坐标的通用性也可把每次生成的脚本纳入批量测试形成可回归的 GUI 自动化用例集。【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考