UI-TARS-desktop

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

技术基础

  • Backbone : 基于 Qwen-2.5Qwen2-VL 架构
  • Training Method: SFT(Supervised Fine-Tuning,监督微调)+ 大规模 GUI 数据集
  • HuggingFace : ByteDance-Seed/UI-TARS-1.5-7B

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 安装:

  1. UI TARS 应用拖入 Applications 文件夹
  2. 启用系统权限:
    • 系统设置 → 隐私与安全 → 辅助功能
    • 系统设置 → 隐私与安全 → 屏幕录制

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(开源推荐)
  1. 访问 HuggingFace Endpoints
  2. 选择模型 UI-TARS-1.5-7B
  3. 硬件配置:GPU L40S 1GPU 48G(推荐 Nvidia L4/A100)
  4. 容器参数:
    • Max Input Length: 65536
    • Max Batch Prefill Tokens: 65536
  5. 环境变量:CUDA_GRAPHS=0PAYLOAD_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
  1. 访问 VolcEngine 控制台
  2. 获取 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 消耗、提升响应速度

使用示例

桌面应用使用流程

  1. 完成模型配置后,点击 "Check Model Availability" 验证
  2. 选择使用场景:Computer OperatorBrowser Operator
  3. 输入自然语言指令,例如:"在 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日停止,需自建部署或使用火山引擎

参考资源

官方资源

资源 链接
GitHub 仓库 https://github.com/bytedance/UI-TARS-desktop
模型仓库 https://github.com/bytedance/UI-TARS
HuggingFace 模型 https://huggingface.co/ByteDance-Seed/UI-TARS-1.5-7B
Agent TARS 官网 https://agent-tars.com
ModelScope 集合 https://www.modelscope.cn/collections/UI-TARS-bccb56fa1ef640

文档与论文

资源 链接
学术论文 https://arxiv.org/abs/2501.12326
快速开始指南 https://github.com/bytedance/UI-TARS-desktop/blob/main/docs/quick-start.md
设置配置详解 https://github.com/bytedance/UI-TARS-desktop/blob/main/docs/setting.md
SDK 使用指南 https://github.com/bytedance/UI-TARS-desktop/blob/main/docs/sdk.md
部署指南 https://github.com/bytedance/UI-TARS/blob/main/README_deploy.md

Demo 视频

资源 链接
GUI 操作演示 https://huggingface.co/datasets/JjjFangg/Demo_video/resolve/main/GUI_demo.mp4
游戏演示 https://huggingface.co/datasets/JjjFangg/Demo_video/resolve/main/Game_demo.mp4
预订酒店演示 https://github.com/user-attachments/assets/c9489936-afdc-4d12-adda-d4b90d2a869d

快速开始推荐

普通用户

  1. 下载桌面应用 → https://github.com/bytedance/UI-TARS-desktop/releases/latest
  2. 获取火山引擎 API Key → https://console.volcengine.com/ark
  3. 配置应用设置,验证模型可用性
  4. 从简单任务开始测试(如打开应用、搜索网页)

开发者

  1. 阅读论文 → https://arxiv.org/abs/2501.12326
  2. Clone 仓库 → git clone https://github.com/bytedance/UI-TARS-desktop.git
  3. 使用 CLI 或 SDK 进行深度定制开发
  4. 在 HuggingFace 部署本地模型(如需完全本地化)
相关推荐
扬帆破浪1 小时前
免费开源AI软件.桌面单机版,可移动的AI知识库,察元 AI桌面版:本地离线知识库的真完全离线 内网无外网装察元AI的拼装步骤
人工智能·windows·开源·电脑·知识图谱
想你依然心痛2 小时前
DeepSeek V4 开源生态实战:从 LangChain 集成到私有化部署的完整指南
langchain·开源
北冥有羽Victoria2 小时前
Django中间件实战:FBV/CBV日志全兼容
数据库·vscode·后端·python·django·sqlite·开源
星栈3 小时前
事件写进去了但查不到?CQRS 投影层的坑我都替你踩了
开源·设计
开开心心_Every3 小时前
进程启动瞬间暂停工具,适合调试多开
运维·服务器·gitee·pdf·开源·电脑·excel
xmdy58664 小时前
Flutter + 开源鸿蒙实战|城市智慧停车管理系统 Day1 项目初始化+架构搭建+全局依赖集成+多端适配基座
flutter·开源·harmonyos
XD7429716364 小时前
科技早报晚报|2026年5月11日:轻量可观测、可回放产品演示与离线维护工具,今天更值得做成产品的 3 个开源机会
科技·开源·开源项目·科技新闻·开发者工具
Bnews5 小时前
开源AIoT平台如何重塑扫地机器人开发格局
机器人·开源
API开发平台5 小时前
开源 API 开发平台 4.5.0 发布
低代码·开源