UI-TARS Desktop 完整指南:视觉大模型驱动 GUI 自动化,5 步跑通本地部署
【免费下载链接】UI-TARS-desktopThe Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop
UI-TARS Desktop 是一个基于 UI-TARS 视觉大模型(VLM,能看懂截图并给出操作建议的大模型)的 GUI 自动化桌面应用。你输入一句人话,它替你截屏、识别、点击、回看结果。省掉写脚本和记坐标两件事,软件界面改版后,任务照样能跑。
它是什么,凭什么不一样
先看一张对照表,把"传统做法"和"它的做法"摆在一起:
| 维度 | 传统 GUI 自动化脚本 | UI-TARS Desktop |
|---|---|---|
| 定位元素 | 写死坐标或用选择器,改版即失效 | 看截图找元素,改版后能重新识别 |
| 描述任务 | 先学框架,再写代码 | 直接打一句话 |
| 跨平台 | 每个系统一套 API | 同一份指令跑 Windows 和 macOS |
| 出错排查 | 翻日志猜 | 每一步有截图和动作记录,可回放 |
核心能力一共 4 条,每条给一个具体例子:
- 视觉理解:VLM 直接读截图定位控件。比如你说"点右下角那个蓝色按钮",它不靠坐标,靠看图。
- 自然语言驱动:一句话就是一个任务。比如"打开计算器,算 37×41",全程不用写代码。
- 双操作器:Computer Operator 管键鼠,Browser Operator 管网页。后者支持 Chrome、Edge、Firefox,适合填表单、抓信息。
- 任务闭环:每执行一步就回看结果,模型自己判断做完了没有,多步任务不用你盯着。
5 分钟跑起来
安装前的 4 项环境检查
| 项目 | 要求 | 是否必须 |
|---|---|---|
| Node.js | 20.x 及以上 | 是 |
| pnpm | 9.x(仓库已锁定 packageManager) | 是 |
| Chrome / Edge / Firefox | 任意一个 | 仅 Browser Operator 需要 |
| 显示器 | 单显示器(多屏可能导致部分任务失败) | 是 |
5 条命令完成构建与启动
先确认 Node 版本,然后克隆、装依赖、以开发模式启动,一条不多一条不少:
node -v git clone https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop cd UI-TARS-desktop pnpm install pnpm run dev:ui-tars如果你没有 pnpm,先执行corepack enable,Node 20 自带 corepack 会帮你装对版本。想打正式安装包,再跑pnpm run build。
macOS 权限配置:2 项必开
macOS 上要手动开两个权限,Windows 目前无需额外授权。
- 辅助功能:不开,鼠标键盘模拟不了,它只能看不能动。
- 屏幕录制:不开,截屏是黑的,VLM 等于闭着眼睛工作。
入口都在 系统设置 → 隐私与安全性,给完权限后重启应用。安装包拖进 Applications 的过程长这样:
它是怎么工作的
1 张图看懂 5 步执行链路
主链路一句话:指令进来 → 截屏 → VLM 看图给出动作(如click(x, y))→ 操作器执行 → 再截屏确认,循环到模型判定完成。整条链路由 UTIO(通用任务输入输出框架)串起来,核心环节和源码位置如下:
| 步骤 | 说明 | 源码位置 |
|---|---|---|
| 1. 接收指令 | 解析自然语言任务 | apps/ui-tars/src/main/agent/ |
| 2. 截屏送模型 | 抓屏截图发给 VLM | apps/ui-tars/src/main/utils/ |
| 3. 解析动作 | 模型输出转成点击、输入等动作 | packages/ui-tars/action-parser/ |
| 4. 执行 | 操作器模拟键鼠或驱动浏览器 | packages/ui-tars/operators/ |
| 5. 回看结果 | 再截屏,模型判断是否完成 | packages/ui-tars/utio/ |
桌面端主进程的代码结构(3 层以内):
apps/ui-tars/src/ ├── main/ │ ├── agent/ # 模型调用与动作解析 │ ├── services/ # UTIO 任务、截屏、窗口服务 │ └── ipcRoutes/ # 主进程与界面的通信 └── renderer/src/ # React 界面进阶玩法
模型配置方法:换提供商只填 4 个字段
场景:你从 Hugging Face 切到火山方舟,或者想换更新的 UI-TARS-1.5。做法:打开设置页,只填 4 项。注意 Base URL 必须以/v1/结尾,Provider 要选和模型版本匹配的那一档。
VLM Provider: Hugging Face for UI-TARS-1.5 VLM Base URL: https://xxx/v1/ VLM API KEY: your_api_key VLM Model Name: uitars-1.5-7b收益:模型循环完全不用改,换个后端一处生效。字段细节见 设置配置指南。
接入自定义操作器:实现 2 个方法
场景:想控制内置键鼠、浏览器之外的目标,比如用 ADB 接安卓设备。做法:用 SDK 的GUIAgent,操作器只需实现screenshot()和execute()两个方法。
import { GUIAgent } from '@ui-tars/sdk'; import { NutJSOperator } from '@ui-tars/operator-nut-js'; const agent = new GUIAgent({ model: { baseURL: 'https://xxx/v1', apiKey: 'sk-xxx', model: 'uitars-1.5-7b' }, operator: new NutJSOperator(), onData: ({ data }) => console.log(data.status), }); await agent.run('在记事本里新建文件并输入 hello');收益:同一条"截屏—识别—执行"循环直接复用,换执行端就行。接口定义在 SDK 文档 和 packages/ui-tars/sdk/。
2 类任务先跑起来
场景:刚装好,不知道从哪下手。做法:先用 Computer Operator 跑本地重复操作,比如开软件、移动文件、填桌面表单;再用 Browser Operator 跑网页任务,填表单、核对信息,前提是装了 Chrome、Edge 或 Firefox。收益:两类任务覆盖大多数日常,练熟后再上批量场景。
避坑手册
截屏失败:屏幕录制权限没开
- 症状:任务一启动就拿不到画面,或点了没反应。
- 原因:macOS 上"屏幕录制"或"辅助功能"没给。
- 最短解决:系统设置 → 隐私与安全性,两项都勾选 UI TARS,重启应用。
模型请求报错:Base URL 少了 /v1
- 症状:设置页保存后,发指令直接报错。
- 原因:Base URL 结尾漏了
/v1/,或 Provider 和模型版本不匹配。 - 最短解决:把 Base URL 改成
/v1/结尾,Provider 选对应 UI-TARS-1.5 的选项。
多显示器下任务失败
- 症状:双屏时部分任务定位错乱。
- 原因:当前版本只支持单显示器配置。
- 最短解决:把要操作的窗口全部挪到主屏。
浏览器操作器不可用
- 症状:选了 Browser Operator 却启动不了。
- 原因:系统里没装 Chrome、Edge 或 Firefox。
- 最短解决:装三者任意一个。
接下来这样做
node -v确认版本 ≥ 20。git clone https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop && cd UI-TARS-desktoppnpm install && pnpm run dev:ui-tars- macOS 打开辅助功能和屏幕录制权限。
- 在设置页填 4 个 VLM 字段,发出第一条指令。
仓库把 SDK、操作器和 快速上手文档 都开源在同一处,同一条模型循环以后可以直接在 Node.js 脚本里调用,桌面端只是它的其中一个出口。
【免费下载链接】UI-TARS-desktopThe Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考