UI-TARS-desktop:原生多模态 GUI Agent 开源应用
项目概述
什么是 UI-TARS?
UI-TARS (User Interface - Task Automation through Reasoning and Self-play,用户界面 - 通过推理与自博弈实现任务自动化)是字节跳动(ByteDance)研究团队开发的开源 GUI Agent (图形用户界面智能代理)应用栈。它基于原生多模态大语言模型(Native Multimodal LLM),能够通过自然语言指令自主控制计算机,实现桌面交互自动化。
UI-TARS-desktop 是该项目的桌面应用实现,包含两个核心组件:
组件
说明
Agent TARS
通用多模态 AI Agent CLI/Web UI 框架,支持 MCP(Model Context Protocol)集成
UI-TARS Desktop
基于 UI-TARS 模型的桌面 GUI Agent 应用,支持自然语言控制
项目定位
目标用户
用户群体
应用场景
AI 研究人员
GUI Agent 学术研究、模型定制开发
自动化工程师
RPA 工作流开发、企业自动化集成
QA 测试人员
应用自动化测试、UI 验证
企业用户
跨应用工作流自动化、数据录入自动化
核心架构设计
四大模块统一集成
UI-TARS-desktop 采用 Unified Architecture (统一架构),将感知、推理、动作、记忆四大模块集成到单一原生多模态 LLM 中:
复制代码
┌─────────────────────────────────────────────────────────┐
│ UI-TARS Native Multimodal LLM │
├─────────────┬─────────────┬─────────────┬───────────────┤
│ Perception │ Reasoning │ Action │ Memory │
│ (感知) │ (推理) │ (动作) │ (记忆) │
└─────────────┴─────────────┴─────────────┴───────────────┘
模块详解
模块
功能描述
技术实现
Perception Module(感知模块)
处理桌面截图和视觉输入;识别 UI 元素、文本、图标和布局
Vision Encoder 直接处理原始截图,无需 OCR 或 Accessibility Tree
Reasoning Module(推理模块)
任务理解与分解;多步骤规划与 Chain-of-Thought(思维链)推理;状态分析与决策
System-2 Reasoning 深度推理,支持 Task Decomposition、Reflection Thinking
Action Module(动作模块)
生成鼠标键盘动作;支持 click、type、scroll、hotkey、drag 等操作
Unified Action Modeling 跨平台统一动作空间
Memory Module(记忆模块)
维护对话历史和任务上下文;支持 Long-horizon Task(长周期任务)
反思与自纠正机制,迭代训练优化
核心架构优势
特性
说明
Native Multimodal LLM
四大模块集成于一体,无需独立专用模型,端到端训练
No OCR Dependency
直接处理原始截图,不依赖 OCR 或 Accessibility API,跨应用更稳健
Cross-Platform
支持 Windows、macOS、Linux 及 Android 移动平台
Iterative Training
自动收集、过滤、refining 交互轨迹,从错误中学习
模型规格
模型变体
模型名称
参数规模
适用场景
UI-TARS-2B-SFT
2B(20亿)
轻量级版本,适合 Edge Deployment(边缘部署)
UI-TARS-7B-SFT
7B(70亿)
标准桌面代理,通用 GUI 任务
UI-TARS-72B-SFT
72B(720亿)
最强版本,处理复杂多步骤任务
UI-TARS-1.5-7B
7B
当前开源版本,性能优于 72B-DPO
技术基础
Benchmark 性能表现
基准测试结果
UI-TARS 在 10+ GUI Agent benchmarks 上实现 SOTA (State-of-the-Art)性能:
Model
OSWorld (50 steps)
OSWorld (15 steps)
AndroidWorld
UI-TARS-72B-SFT
24.6%
22.7%
46.6%
Claude Computer Use
22.0%
14.9%
-
GPT-4o
9.1%
-
34.5%
Human Baseline
~36.7%
-
-
基准说明
Benchmark
说明
OSWorld
评估 GUI Agent 在真实计算机任务上的表现(文件操作、应用使用、多步骤工作流、跨应用任务)
AndroidWorld
评估 Android 平台 GUI 自动化能力
WindowsAgentArena
Windows 平台 GUI 任务基准
注:当前所有模型仍远低于人类基线(~36.7%),GUI Agent 技术处于快速发展阶段。
技术栈与项目结构
技术栈概览
类别
详情
Primary Language
TypeScript (87%)
Secondary Languages
MDX、JavaScript、CSS、Less、HTML、Shell
Package Manager
pnpm (Monorepo workspaces)
Runtime
Node.js >= 22
License
Apache 2.0
Monorepo 结构
复制代码
UI-TARS-desktop/
├── packages/
│ ├── agent-infra/ # Agent 基础设施层
│ ├── common/ # 公共组件与工具
│ └── ui-tars/ # UI-TARS 核心包(Agent 逻辑与模型交互)
├── docs/ # 文档目录
└── applications/ # 桌面应用入口
Agent TARS 核心特性
特性
说明
Hybrid Browser Agent
支持 GUI Agent (Visual Grounding)、DOM 或混合策略控制浏览器
Event Stream
Protocol-driven 机制驱动 Context Engineering 与 Agent UI
MCP Integration
内核基于 MCP 构建,支持挂载 MCP Servers 连接真实工具
One-Click CLI
支持 headful Web UI 与 headless server execution
安装与配置
系统要求
项目
要求
操作系统
macOS / Windows(Linux 支持有限)
显示器
单显示器配置(多显示器可能导致任务失败)
Node.js (CLI)
>= 22
GPU (本地模型)
Nvidia L40S/L4/A100(推荐 48GB 显存)
安装方式
方式一:下载桌面应用(推荐普通用户)
下载地址 : GitHub Releases
MacOS 安装 :
将 UI TARS 应用拖入 Applications 文件夹
启用系统权限:
系统设置 → 隐私与安全 → 辅助功能
系统设置 → 隐私与安全 → 屏幕录制
Homebrew 安装 :
bash
复制代码
brew install --cask ui-tars
Windows 安装 :
直接运行下载的安装程序。
方式二:Agent TARS CLI(开发者)
bash
复制代码
# 使用 npx 直接运行
npx @agent-tars/cli@latest
# 或全局安装
npm install @agent-tars/cli@latest -g
# 启动时指定模型
agent-tars --provider volcengine \
--model doubao-1-5-thinking-vision-pro-250428 \
--apiKey your-api-key
agent-tars --provider anthropic \
--model claude-3-7-sonnet-latest \
--apiKey your-api-key
方式三:SDK 编程方式
Python SDK :
bash
复制代码
pip install ui-tars
TypeScript SDK :
bash
复制代码
npx @ui-tars/cli start
模型配置
选项 A:HuggingFace Inference Endpoints(开源推荐)
访问 HuggingFace Endpoints
选择模型 UI-TARS-1.5-7B
硬件配置:GPU L40S 1GPU 48G(推荐 Nvidia L4/A100)
容器参数:
Max Input Length: 65536
Max Batch Prefill Tokens: 65536
环境变量:CUDA_GRAPHS=0、PAYLOAD_LIMIT=8000000
配置示例 :
yaml
复制代码
Language: en
VLM Provider: Hugging Face for UI-TARS-1.5
VLM Base URL: https://xxx/v1/ # 需以 /v1/ 结尾
VLM API KEY: hf_xxx
VLM Model Name: tgi
选项 B:火山引擎 Doubao-1.5-UI-TARS
访问 VolcEngine 控制台
获取 API Key 和 Base URL
配置示例 :
yaml
复制代码
Language: cn
VLM Provider: VolcEngine Ark for Doubao-1.5-UI-TARS
VLM Base URL: https://ark.cn-beijing.volces.com/api/v3
VLM API KEY: YOUR_API_KEY
VLM Model Name: doubao-1.5-ui-tars-250328
配置项说明
配置项
默认值
说明
VLM Provider
必填
选择正确 Provider 以确保 Action 解析
VLM Base URL
必填
OpenAI 兼容 API 端点
VLM API Key
必填
API 密钥
VLM Model Name
必填
模型名称
Language
en
控制 VLM 输出语言(不影响 App 界面)
Max Loop
100
每轮对话最大步数(范围 25-200)
Loop Wait Time
1000
每次循环等待时间(范围 0-3000)
Browser Search Engine
Google
本地浏览器搜索引擎
Use Responses API
false
启用后减少 token 消耗、提升响应速度
使用示例
桌面应用使用流程
完成模型配置后,点击 "Check Model Availability" 验证
选择使用场景:Computer Operator 或 Browser Operator
输入自然语言指令,例如:"在 booking.com 上预订洛杉矶的酒店"
Python SDK 示例
python
复制代码
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)')"
original_image_width, original_image_height = 1920, 1080
parsed_dict = parse_action_to_structure_output(
response,
factor=1000,
origin_resized_height=original_image_height,
origin_resized_width=original_image_width,
model_type="qwen25vl"
)
parsed_pyautogui_code = parsing_response_to_pyautogui_code(
responses=parsed_dict,
image_height=original_image_height,
image_width=original_image_width
)
TypeScript SDK 示例
typescript
复制代码
import { GUIAgent } from '@ui-tars/sdk';
import { NutJSOperator } from '@ui-tars/operator-nut-js';
const guiAgent = new GUIAgent({
model: {
baseURL: config.baseURL,
apiKey: config.apiKey,
model: config.model,
},
operator: new NutJSOperator(),
onData: ({ data }) => console.log(data),
onError: ({ data, error }) => console.error(error, data),
});
await guiAgent.run('send "hello world" to x.com');
Prompt 模板选择
模板
适用场景
特点
COMPUTER_USE
Windows/Linux/MacOS 桌面
支持鼠标点击、拖拽、键盘快捷键、滚动
MOBILE_USE
Android 移动设备/模拟器
支持 long_press、open_app、press_home、press_back
GROUNDING
轻量级任务/训练评估
仅输出 Action,无 Thought 推理
与类似项目对比
对比维度
UI-TARS-desktop
OpenAI Operator
Claude Computer Use
开发者
ByteDance Research
OpenAI
Anthropic
类型
开源 (Open-source)
商业/ChatGPT集成
API付费访问
部署方式
Native Desktop Application
Web-based
API-based
主要优势
开源灵活性、跨平台、研究定制
消费者友好
强推理能力
适用场景
研究项目、自定义集成
日常用户Web自动化
开发者构建自动化工具
UI-TARS 核心优势
优势
说明
开源可控
模型权重开源,可本地部署,适合研究和定制
Native Vision
原生视觉处理,不依赖 OCR 或 Accessibility API
Cross-Platform
支持多操作系统和移动平台
Benchmark 领先
OSWorld、AndroidWorld 等基准达到 SOTA
隐私安全
全本地处理,数据不出域
版本演进
关键版本
版本
发布时间
主要特性
Agent TARS CLI v0.3.0
2025-11
streaming support、Event Stream Viewer、AIO agent Sandbox
UI-TARS Desktop v0.2.0
2025-06
Remote Computer/Browser Operator
UI-TARS Desktop v0.1.0
2025-04
redesigned Agent UI、UI-TARS-1.5 模型支持
UI-TARS-2
2025-09
GUI、Game、Code、Tool Use 全能模式(暂未开源)
重要时间节点
论文发布 : 2025年1月21日 --- arXiv:2501.12326
Remote Operator 服务 : 2025年8月20日停止,需自建部署或使用火山引擎
参考资源
官方资源
文档与论文
Demo 视频
快速开始推荐
普通用户
下载桌面应用 → https://github.com/bytedance/UI-TARS-desktop/releases/latest
获取火山引擎 API Key → https://console.volcengine.com/ark
配置应用设置,验证模型可用性
从简单任务开始测试(如打开应用、搜索网页)
开发者
阅读论文 → https://arxiv.org/abs/2501.12326
Clone 仓库 → git clone https://github.com/bytedance/UI-TARS-desktop.git
使用 CLI 或 SDK 进行深度定制开发
在 HuggingFace 部署本地模型(如需完全本地化)