手把手上手 UI-TARS 桌面应用:用自然语言操控电脑,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 桌面应用,配置好视觉语言模型,然后用一句"打开设置并检查网络"这样的中文指令,让 AI 像人一样替你点鼠标、敲键盘。它基于视觉语言模型看懂屏幕、识别界面元素,是开源的多模态 AI Agent 栈里专为桌面 GUI 自动化打造的那一块。下面按"先懂结构 → 再跑起来 → 再拆功能"的顺序带你过一遍。
全局地图:它是什么、怎么干活
UI-TARS 桌面应用本体在 apps/ui-tars/,是一个 Electron 应用:界面负责对话和设置,后台的 Agent 循环负责真正干活。它的工作方式可以记成一个四步循环:
- 截图:抓取当前屏幕画面
- 思考:把最近几张截图 + 你的指令发给视觉语言模型(VLM),模型返回下一步动作,比如"点击 (27, 496)"
- 执行:本地的操作器(Operator)模拟鼠标键盘完成动作
- 再截图:回到第 1 步,直到任务完成或到达最大步数
围绕这个核心,仓库还拆出几个可复用的模块:packages/ui-tars/sdk/提供跨平台的 GUIAgent 框架,packages/ui-tars/operators/里是本地电脑、浏览器、ADB、Browserbase 等操作器实现,packages/ui-tars/action-parser/负责解析模型输出的动作格式。桌面应用只是把这套栈打包成了开箱即用的 GUI。
模型服务不是应用内置的,你需要准备一个兼容 OpenAI 协议的 VLM 接口(比如 Hugging Face 或火山引擎上的 UI-TARS-1.5 模型),在设置页填上地址和 Key 即可。
5 分钟跑起来
最短路径是直接从 Releases 下载对应平台的安装包(macOS 也可以用brew install --cask ui-tars)。如果想从源码构建,环境要求很简单:
- Node.js 20+(项目要求
node >= 20.x) - pnpm 9.x
- 想跑浏览器操作的话,装好 Chrome / Edge / Firefox 之一
- 注意:目前仅支持单显示器,多屏可能导致部分任务失败
源码构建命令如下:
git clone https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop cd UI-TARS-desktop pnpm install # 日常开发调试 pnpm --filter ui-tars-desktop dev # 或者打正式安装包 pnpm --filter ui-tars-desktop builddev会以开发模式拉起应用,build会走完类型检查并打出可分发的安装包。
macOS 用户装完后有两步必做:在"系统设置 → 隐私与安全性"里打开辅助功能(用来模拟键鼠)和屏幕录制(用来截图识别)权限,不然后面所有任务都会失败。
核心能力拆解
1. 自然语言驱动的任务执行 🖱️
这是它的核心价值:你不用写脚本、不用记坐标,输入指令就开始执行。点击界面上的"开始新对话"按钮,输入例如"帮我打开 VS Code 设置,把自动保存延迟调到 500 毫秒",应用会实时展示每一步的截图和模型决策,执行中也可以随时接管或终止。
2. 视觉语言模型配置:决定"眼睛"有多好
设置页(这个界面)是配置中心,VLM 相关有四个必填项:Provider、Base URL、API Key、Model Name。
两个最常被坑的细节:
- Base URL 必须以
/v1/结尾(Hugging Face 托管时),它必须是 OpenAI 兼容端点 - Provider 必须和你实际部署的模型匹配,比如 Hugging Face 上跑的 1.5 模型就选 "Hugging Face for UI-TARS-1.5",选错会导致动作解析失败
配置完可以点 "Check Model Availability" 先验证连通性,再开任务。
3. 循环参数:控制"手速"和耐心
Chat 设置里有两个真正影响体验的参数:
- Max Loop:单轮任务最大步数,范围 25~200,默认 100。任务复杂就调大,任务简单调小能省 token
- Loop Wait Time:每步截图前等待的毫秒数,默认 1000。如果动作后页面需要时间加载(比如提交表单后跳转),调大它能让截图抓到最终状态
4. 预设(Preset):团队配置一键同步
预设就是一个 YAML 设置文件,支持从本地文件导入,或从 URL 导入(URL 方式支持每次启动自动同步,适合团队统一配置)。一个最小示例:
name: UI TARS Desktop Example Preset language: en vlmProvider: Hugging Face for UI-TARS-1.5 vlmBaseUrl: https://your-endpoint.huggingface.cloud/v1 vlmApiKey: your_api_key vlmModelName: your_model_name更多可照抄的样例见 examples/presets/default.yaml,规则说明在 docs/preset.md。
5. 执行报告:过程可回看、可分享
每轮任务结束后,每一步的截图、指令、模型输出都会汇成一份 HTML 报告,点"导出为 HTML"即可下载,方便复盘失败步骤或分享给同事。如果你的团队有报告存储服务器,也可以在设置里填上地址,导出时直接上传拿到链接(接口规范见 docs/setting.md)。
进阶玩法
把 Agent 装进自己的代码:桌面应用底层用的 SDK 也开源了,几行代码就能在你的 Node.js 项目里跑一个 GUI Agent:
import { GUIAgent } from '@ui-tars/sdk'; import { NutJSOperator } from '@ui-tars/operator-nut-js'; const agent = new GUIAgent({ model: { baseURL, apiKey, model }, // 你的 VLM 服务 operator: new NutJSOperator(), // 本地电脑操作器 }); await agent.run('打开 Chrome 并访问 GitHub');自定义操作器只需实现screenshot()和execute()两个方法,比如接入手机(ADB)、远端浏览器(Browserbase)都可以,示例见 multimodal/gui-agent/agent-sdk/examples/,接口说明见 packages/ui-tars/sdk/README.md。
事件观测:应用还内置了 UTIO(UI-TARS Insights and Observation)机制,可把"应用启动 / 发送指令 / 分享报告"事件推到你自己的 HTTP 端点做埋点分析,配置项在 Report Settings 下的 UTIO Base URL,事件类型与协议见 docs/setting.md。
避坑速查
- macOS 任务无响应:90% 是辅助功能 / 屏幕录制权限没给,两者缺一不可
- 多显示器:当前仅支持单屏,先拔掉副屏再跑
- 模型连通失败:检查 Base URL 是否带
/v1/结尾、Key 是否复制完整,用设置页的 Check Model Availability 先自检 - 模型答非所问 / 动作解析失败:VLM Provider 没选对,必须与模型版本对应(1.0 和 1.5 是不同选项)
- 页面跳转后"点空了":调大 Loop Wait Time,给界面留出加载时间
- 任务中途走偏:直接点终止/接管按钮,把鼠标键盘抢回手里,这是设计好的逃生通道
资源与社区
- 快速上手:docs/quick-start.md(含 Hugging Face / 火山引擎两套完整配置步骤)
- 设置详解:docs/setting.md
- 预设管理:docs/preset.md
- 模型部署旧版参考:docs/deployment.md 与 docs/archive-1.0/
- 应用源码:apps/ui-tars/src/
- 核心 Agent 循环与操作器:apps/ui-tars/src/main/agent/
- 预设样例:examples/presets/
- 贡献指南:CONTRIBUTING.md
写在最后
UI-TARS 桌面应用把"视觉语言模型 + 桌面操作器"这条最完整的 GUI 自动化链路打包成了开箱即用的应用:装好、配好模型、一句话开工,下一步就是把它接到你的日常重复操作里试试。先去设置页填好 VLM 配置,然后输入你的第一条指令吧。
【免费下载链接】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),仅供参考