UI-TARS 桌面自动化实战:从视觉识别到精准点击 📅 发布时间:2026/9/15 17:21:27 👁 浏览次数: UI-TARS 桌面自动化实战从视觉识别到精准点击【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARSUI-TARS 是一套 GUI 桌面自动化管线多模态模型看懂截图并输出 ThoughtAction配套 ui-tars 包将动作指令解析为可执行的 pyautogui 脚本。本文覆盖部署、动作解析与坐标校准面向需要自动化桌面或移动 GUI 操作的开发者。一、项目定位与适用场景仓库由两部分组成模型侧的部署与推理指南HuggingFace Inference Endpoints 部署加首次推理以及 ui-tars 解析包Python ≥3.10无强制第三方依赖。三个典型场景可以帮你判断是否适用桌面任务闭环执行让模型驱动虚拟机或真实桌面完成打开文档 → 输入文字 → 保存这类多步操作对应 OSWorld 一类评测环境。把现成 VLM 输出转成 GUI 动作已有视觉语言模型但输出格式混乱时可复用本仓库的 action_parser 与 prompt 模板 统一动作空间。移动端 / Android 模拟器自动化MOBILE_USE 提示词扩展了 long_press、open_app、press_home、press_back 等动作。与通用 LLM Agent 相比它的差异点在统一动作空间点击 / 快捷键 / 输入 / 滚动 / 拖拽全覆盖和内置 Thought 推理链推理能力经强化学习增强。官方 benchmark引自 README.md 数据表OSWorld100 步UI-TARS-1.5 得 42.5 分OpenAI CUA 36.4Claude 3.7 28GUI 定位 ScreenSpot-V2 94.2、ScreenSpotPro 61.6上代 SOTA 为 91.6 与 43.6。二、核心能力拆解GUI 感知与统一动作空间模型侧负责看懂屏幕从截图中理解元素、组织推理链最后给出标准 Action。动作空间由 prompt.py 里三套模板定义COMPUTER_USE桌面环境Windows / Linux / macOS支持 click、left_double、right_single、drag、hotkey、type、scroll、wait、finishedMOBILE_USE移动端与 Android 模拟器额外支持 long_press、open_app、press_home、press_backGROUNDING只输出 Action 不输出 Thought用于定位能力评测与模型训练动作解析与 pyautogui 脚本生成解析侧入口是 parse_action_to_structure_output把模型原始输出Thought: ...\nAction: click(start_box(100,200))格式解析为含 action_type、action_inputs 等字段的字典支持同一次响应中按)\n\n分隔的多个动作。parsing_response_to_pyautogui_code 再把结构化结果转成 pyautogui 代码几个细节值得注意快捷键与方向键名自动映射arrowleft → left、space → 空格type 默认走剪贴板 CtrlV粘贴避免逐字符按键的慢速输入动作是 finished 时直接输出 DONE作为任务结束标记坐标映射与校准方法点击准不准取决于坐标换算Qwen2.5-VL 系模型输出绝对像素坐标放大后图像中的像素值解析器用 smart_resize对齐因子 28反推回原图分辨率旧版 Qwen2-VL 输出 0–999 相对坐标用 factor1000 处理。README_coordinates.md 给出完整校准流程把解析出的坐标画回截图肉眼确认落点。三、快速上手安装解析包并跑通首个示例环境要求Python ≥3.10见 pyproject.toml若要在本地执行生成的脚本需另装 pyautogui 与 pyperclip。git clone https://gitcode.com/GitHub_Trending/ui/UI-TARS cd UI-TARS pip install ui-tars最小示例以一条点击指令为输入传入截图分辨率输出 pyautogui 代码from ui_tars.action_parser import parse_action_to_structure_output, parsing_response_to_pyautogui_code response Thought: Click the button\nAction: click(start_box(100,200)) width, height 1920, 1080 parsed parse_action_to_structure_output( response, factor1000, origin_resized_widthwidth, origin_resized_heightheight, model_typeqwen25vl, ) code parsing_response_to_pyautogui_code(parsed, image_heightheight, image_widthwidth) print(code)完整部署与推理流程见 README_deploy.md请求 messages 可直接用 data/test_messages.json 作为起点。四、典型工作流演示场景一云端部署 7B 模型并完成首次推理想以 API 形式运行 UI-TARS-1.5-7B 并让它执行第一个 GUI 任务。在 HuggingFace Inference Endpoints 导入 7B 模型硬件选 GPU L40S 48GNvidia L4 / A100 亦可设置 Max Input Length、Max Batch Prefill Tokens 为 65536Max Number of Tokens 为 65537添加环境变量CUDA_GRAPHS0避免部署失败、PAYLOAD_LIMIT8000000防止大图请求失败创建容器后把 Container URI 改为 text-generation-inference:3.2.1 并更新按 README_deploy.md 示例调用OpenAI 兼容接口temperature0.0streamTrue实际效果给定截图与任务指令模型返回推理链和标准动作例如Thought: Preferences 窗口已打开我需要在左侧列表中找到 Color Management 选项。 Action: click(start_box(177,549))场景二桌面任务闭环执行截图 → 动作 → 执行以架构图中打开文档、输入文字、保存的例子走通整个循环。对桌面截图如 1920x1080用 COMPUTER_USE 提示词构造 messages调用端点获得 Thought/Action遇到 wait() 则睡眠 5 秒后重新截图确认状态变化用 parse_action_to_structure_outputmodel_typeqwen25vl把坐标映射回原始分辨率由 parsing_response_to_pyautogui_code 生成 pyautogui 代码并执行或交给模拟器执行执行后把新截图追加进历史循环直到模型输出 finished实际效果多步跨窗口的操作可闭环运行每步都有 Thought 记录可供回溯审计。五、性能与精度调优参数清单model_typeQwen2.5-VL 系模型用 qwen25vl内部走 smart_resize 反推旧版 Qwen2-VL 用相对坐标factor 保持 1000。两者混用会产生系统性点击偏移origin_resized_width / origin_resized_height必须与送入模型的截图实际分辨率一致这是最常见的精度损失来源max_pixels / min_pixels解析器默认 16384×28×28 与 100×28×28若部署时改过模型缩放策略需同步传入推理参数temperature0.0、max_tokens400 为仓库示例采用的配置保证动作格式稳定服务端截图较大时把 PAYLOAD_LIMIT 调到 8000000避免请求被截断失败六、常见坑与排查现象点击位置系统性偏移可能原因model_type 与实际模型不符qwen25vl 输出绝对坐标旧模型输出 0–999 相对坐标映射方式用错会整体错位或 origin_resized 分辨率与实际截图不一致。 解法按 README_coordinates.md 流程把解析坐标画回截图确认落点再逐项核对 model_type 与分辨率参数。现象端点部署失败可能原因CUDA graphs 与模型不兼容。 解法设置环境变量 CUDA_GRAPHS0 后重新部署。现象大图请求失败可能原因截图 payload 超过默认上限。 解法设置 PAYLOAD_LIMIT8000000或发送前压缩截图尺寸。现象解析抛出 Action cant parse可能原因模型输出的 Action 行格式不完整括号未闭合或 type(content...) 内含未转义引号。 解法走 action_parser.py 的 escape_single_quotes 处理引号确认输出包含完整的 Action: 行codes/tests/action_parser_test.py 中有对应用例可对照输入格式。现象smart_resize 抛出 ValueError: absolute aspect ratio must be smaller than 200可能原因截图长宽比极端超长条状窗口。 解法发送前裁剪或补齐截图使最长边与最短边之比小于 200。七、进阶方向与生态两个值得投入的扩展方向一是把生成 pyautogui 代码这一步替换为自己的执行器或接入 OSWorld 一类真实操作系统模拟器README 提到可用 OSWorld 官方推理脚本复现结果二是面向游戏与工具调用场景扩展动作空间官方后续版本 UI-TARS-2 已在该方向整合 GUI、游戏、代码与工具调用能力。仓库内资源入口部署指南、坐标处理指南、单元测试目录、论文 PDF。相关配套项目UI-TARS-desktop运行在本地个人设备上的桌面 Agent与 Midscene浏览器自动化方向与本仓库分别覆盖桌面、本机与浏览器三类场景。UI-TARS 的核心价值在于把模型看懂屏幕与代码执行动作解耦模型侧只负责输出标准 Thought/Action解析、坐标映射与脚本生成交给 ui-tars 包完成。动手前建议先通读 README_deploy.md 与 README_coordinates.md它们分别覆盖部署与校准这两个最容易踩坑的环节。【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考