news 2026/9/15 13:58:19

UI-TARS 快速指南:把 GUI 模型的输出跑成自动化动作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
UI-TARS 快速指南:把 GUI 模型的输出跑成自动化动作

UI-TARS 快速指南:把 GUI 模型的输出跑成自动化动作

【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS

你让视觉模型看一张截图,它回你一行字:Thought: 点一下发送键 Action: click(start_box='(100,200)')。可这行字还只是"打算做什么",不是"做完了"。坐标是模型自己的坐标系,离真正在屏幕上落下鼠标还差一步。

UI-TARS 的解析库就补这一步:它把模型的 Thought/Action 输出解析成结构化动作,换算坐标后生成可直接执行的 pyautogui 脚本,是 GUI 自动化里"模型输出 → 真机操作"的桥梁。

UI-TARS 安装步骤:5 分钟跑通第一段代码

先装库:

pip install ui-tars

然后喂给解析器一段模型输出,两步拿到可执行的自动化代码:

from ui_tars.action_parser import ( parse_action_to_structure_output, parsing_response_to_pyautogui_code, ) response = "Thought: 点一下发送键\nAction: click(start_box='(100,200)')" parsed = parse_action_to_structure_output( response, factor=1000, origin_resized_height=1080, origin_resized_width=1920, model_type="doubao", ) print(parsing_response_to_pyautogui_code(parsed, 1080, 1920))

四个参数逐个说:

  • origin_resized_width / height:你传给模型的截图原始分辨率(例子里是 1920×1080);
  • factor:坐标缩放因子,doubao 体系下模型把坐标归一到 0~1000;
  • model_type:声明模型走哪套坐标体系,doubao 和 qwen25vl 各一套。

第一个函数把文本拆成action_typeaction_inputs等字段的结构化数据;第二个函数再把数据翻译成 pyautogui 脚本字符串。中间那步坐标换算,就是下面要讲的重点。

看懂模型输出:一个 Thought 加一个 Action

模型每次输出固定是两段。Thought是它先想一想再动手,Action才是要执行的动作。解析时这两段都会被保留:thought字段留作排查,action_type决定生成哪种 pyautogui 调用(点击、输入、拖拽、快捷键等)。

调试时盯着action_inputs里的start_box看:它是不是你想点的那个位置?不是的话,问题多半出在下一节说的分辨率换算上。

UI-TARS 坐标对齐:不同分辨率为什么还能点准

模型看到的不是原图,而是被 smart_resize 等比缩放过的一版。它输出的坐标是"缩小图坐标系"里的值,直接拿去动鼠标必然点偏。

UI-TARS 解析函数内置了这套换算:按 smart_resize 的缩放比例把坐标映射回原图。doubao 体系把坐标归一在 0~1000,Qwen2.5-VL 体系则直接输出绝对像素坐标,两套都靠"对齐缩放 → 反算原图"落地。

点的位置总差一点时,用仓库自带脚本把坐标画回截图:

from PIL import Image, ImageDraw img = Image.open("data/coordinate_process_image.png") start_box = parsed[0]["action_inputs"]["start_box"] x, y = eval(start_box) draw = ImageDraw.Draw(img) draw.ellipse((x - 5, y - 5, x + 5, y + 5), fill="red") img.show()

红点落在按钮上就说明对齐正确。仓库的 README_coordinates.md 里有完整推导,示例图见下:

UI-TARS 提示词选择:桌面、手机、只定位

三套提示词模板都放在 codes/ui_tars/prompt.py,区别在动作空间:

模板适用平台提供的动作
COMPUTER_USEWindows / Linux / macOS 桌面单击、双击、右键、拖拽、滚动、快捷键、文本输入
MOBILE_USE手机或安卓模拟器额外提供 long_press、open_app、press_home、press_back
GROUNDING模型训练与评估只输出 Action,不带 Thought

选模板就是选设备:操作电脑用第一套,做手机端自动化选第二套(长按、启动应用这类手机专属动作只在它里面),只想测"模型找得准不准"用第三套。

UI-TARS 1.5 基准成功率与局限

先看三个有代表性的数字:

评测集任务UI-TARS-1.5
OSWorld桌面任务成功率(100 步)42.5
ScreenSpot-V2界面元素定位准确率94.2
AndroidWorld手机任务成功率64.2

系统整体由感知、动作、推理、学习四块组成,其中"先想后做"的推理模块是 Thought 机制的来源,也直接贡献了上面的分数:

说清楚边界,免得期望错位:开源的 7B 版本侧重通用电脑操作,游戏场景与完整版 1.5 还有差距;长任务下计算开销不小;模型偶尔会认错元素、点偏位置。所以自动化流程里建议保留人工确认或校验步骤。

三步开始动手

  1. 装解析库,跑通上面两段代码,确认能从模型输出拿到 pyautogui 脚本;
  2. 用坐标可视化脚本核对截图上的红点,确认分辨率换算无误;
  3. 按目标平台选提示词模板,桌面选 COMPUTER_USE,手机选 MOBILE_USE。

细节都写在 README_deploy.md 里,部署模型和调用 API 的步骤也在那一篇。

【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 13:58:04

良品铺子网站规划和建设到底多少钱?域名服务器避坑指南

良品铺子网站规划和建设到底多少钱?域名服务器避坑指南 域名服务器搞不懂,报价单看两眼就头晕,这是很多项目经理在做【良品铺子网站规划和建设】时最头疼的事。别急,今天不聊虚的,直接拆解这笔账。很多人问【良品铺子网站规划和建设】多少钱,其实钱花在哪里,决定了你的网站是“能用”还是“好用”。…

作者头像 李华
网站建设 2026/9/15 13:57:03

文件上传漏洞从攻击到防御:绕过手法、代码审计与加固实践

做安全的这些年,如果说哪个漏洞让我觉得“看似不起眼、实际特别致命”,文件上传漏洞绝对排得上前三名。很多开发同学觉得上传功能不过就是“接收文件、存到服务器”,能有什么风险?可真出了问题,往往就是服务器直接被拿…

作者头像 李华
网站建设 2026/9/15 13:56:23

网页数据一键变可编辑Excel:Skill开发全流程拆解与避坑指南

最近整理了一个新的 Skill,名字很直白:把网页数据直接变成一张能编辑的表格。给 Claude Code、Codex 这类编程代理丢一个链接,它就能自动把页面里的数据抓下来,整理成 Excel 或 CSV,打开就能改。听起来就是“网页采集”…

作者头像 李华
网站建设 2026/9/15 13:56:15

iOS审核3.2(f)条款深度解析:Flutter与UniApp合规避坑指南

1. 项目概述:这不是一次“封号通知”,而是一次iOS生态规则的现场教学App Store 3.2(f)条款,过去三年里被开发者私下称为“沉默绞索”——它不发警告邮件,不显示具体违规代码行,不提供复审通道,只在审核通过…

作者头像 李华