字节跳动UI-TARS:32k星的多模态AI Agent全栈,支持MCP和浏览器自动化
posts posts 2026-05-11T13:05:00+08:00深度解析bytedance/UI-TARS-desktop:字节跳动开源的多模态AI Agent全栈,包含Agent TARS CLI和UI-TARS Desktop两个产品,支持GUI Agent、浏览器自动化和MCP工具集成。技术笔记AI Agent, 多模态, GUI自动化, MCP, 浏览器自动化, 字节跳动, TypeScript如果你在找一个能在真实浏览器和桌面上执行任务的 AI Agent 框架,字节跳动的 UI-TARS 值得关注。
一句话定位
UI-TARS-desktop(简称 TARS)是字节跳动开源的多模态 AI Agent 技术栈,包含两个核心产品:
- Agent TARS:面向开发者的 CLI / Web UI 工具,通过 MCP 协议连接各种工具
- UI-TARS Desktop:面向终端用户的桌面应用,支持本地和远程计算机/浏览器控制
当前 GitHub ⭐ 32.5k,TypeScript 实现,Apache 2.0 许可证。
两个产品:Agent TARS vs UI-TARS Desktop
很多人被这个 repo 的两个名字搞混。实际上它们是同一个技术栈的两个交付形态:
Agent TARS(开发者版)
面向需要命令行和 API 集成的开发者:
# 一键启动 CLI
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
agent-tars --provider openai --model gpt-4o --apiKey your-api-key支持流式输出、多工具并行调用、运行时计时统计、Event Stream 调试视图。
UI-TARS Desktop(桌面版)
面向非技术用户的桌面应用,内置 UI-TARS-1.5 模型,可选本地或远程 Operator:
# 本地 Operator:使用本地 UI-TARS-1.5 模型
# 远程 Operator:一键连接远程计算机或浏览器,无需配置v0.2.0 引入了 Remote Computer Operator 和 Remote Browser Operator,号称"完全免费,无需配置,点击即用"。
核心架构:MCP 驱动的 Event Stream 协议
MCP(Model Context Protocol)
TARS 的内核构建在 MCP 之上。MCP 是 Anthropic 主导的 AI 工具集成协议,定义了 LLM 如何调用外部工具的标准化接口。
TARS 支持:
- 挂载第三方 MCP Servers(如文件系统、数据库、Web 搜索)
- 通过 MCP 连接真实世界的工具链
- 事件流协议(Event Stream)驱动上下文工程和 Agent UI
三种浏览器控制策略
TARS 的 Hybrid Browser Agent 支持三种控制模式:
| 模式 | 描述 | 适用场景 |
|---|---|---|
| Visual Grounding | 基于视觉模型理解页面元素 | 复杂 UI、视觉依赖页面 |
| DOM | 基于 HTML DOM 结构操作 | 结构化页面、精确点击 |
| Hybrid | 混合视觉 + DOM | 通用场景 |
GUI Agent 的核心能力
TARS 不仅能控制浏览器,还能控制真实桌面:
# 帮助用户预订机票
"Please help me book the earliest flight from San Jose to New York on September 1st and the last return flight on September 6th on Priceline"TARS 会自动操作浏览器完成:打开 Priceline → 填写出发地/目的地/日期 → 搜索 → 选择航班 → 填写乘客信息 → 付款。整个流程无需人工干预。
技术栈与实现
语言与依赖
- 语言:TypeScript(主语言)+ Python(部分工具)
- 核心框架:Node.js >= 22
- 模型:支持多种 VLM(Vision-Language Model),包括:
- 豆包 Doubao-1.5-Thinking-Vision-Pro
- Anthropic Claude 3.7 Sonnet
- OpenAI GPT-4o
- UI-TARS-1.5(自有模型)
MCP 工具生态
TARS 通过 MCP 协议连接的工具类别包括:
- Shell 命令:在终端执行系统命令
- 文件系统:读写本地文件
- 浏览器:Playwright/Puppeteer 级别的浏览器自动化
- Web 搜索:获取实时信息
- 自定义 MCP Server:用户可自建工具
部署方式
# Cloud Deployment(云端部署)
# 支持 ModelScope 平台部署
# 详见 docs/deployment.md快速开始
Agent TARS CLI
# 方式1:npx 一键运行
npx @agent-tars/cli@latest
# 方式2:全局安装
npm install @agent-tars/cli@latest -g
# 方式3:从源码编译
git clone https://github.com/bytedance/UI-TARS-desktop
cd UI-TARS-desktop
npm install
npm run buildUI-TARS Desktop
- 下载 releases 中的
.dmg或.exe安装包 - 安装后启动,选择"本地 Operator"或"远程 Operator"
- 输入任务描述,Agent 自动执行
Web UI(无头模式)
# 启动 Web UI 服务器
agent-tars web-ui
# 访问 http://localhost:18792与同类工具的比较
| 工具 | 定位 | 控制范围 | MCP 支持 | 模型 |
|---|---|---|---|---|
| TARS | 多模态 Agent 全栈 | 浏览器 + 桌面 | ✅ | 多种 VLM |
| Playwright | 浏览器自动化 | 仅浏览器 | ❌ | 无 |
| AgentQL | AI 驱动的 Web 抓取 | 仅浏览器 | 部分 | 需要 LLM |
| Claude Computer Use | Anthropic 官方 GUI Agent | 浏览器 + 桌面 | ❌ | 仅 Claude |
| OpenAI Operator | OpenAI 官方 | 浏览器 | ❌ | 仅 GPT |
TARS 的优势在于:支持多种 VLM 而非绑定单一模型,支持 MCP 工具生态,支持远程操控(这对技术支持场景很有价值)。
适用场景
✅ 强项场景:
- 自动化测试(Web 应用 UI 测试)
- 自动化任务(RPA 场景:预订、数据录入)
- 技术支持(远程操作用户桌面)
- 爬虫(需要理解页面语义而非纯结构)
- 浏览器操作的工作流自动化
❌ 局限:
- 极度依赖视觉理解,页面渲染失败会影响体验
- 远程 Operator 需要网络连接和权限配置
- 桌面控制功能仍在完善中
版本历史亮点
| 版本 | 时间 | 关键更新 |
|---|---|---|
| v0.3.0 | 2025-11 | Agent TARS CLI v0.3.0:流式工具输出、运行时计时统计、Event Stream Viewer、AIO Agent Sandbox |
| v0.2.0 | 2025-06 | Remote Computer Operator + Remote Browser Operator 完全免费 |
| v0.1.0 | 2025-04 | 重设计 Agent UI、支持 UI-TARS-1.5 模型、浏览器操作功能 |
| 初始版 | 2025-01 | Agent TARS Beta 发布 |
总结
TARS 是字节跳动在 AI Agent 领域的一次有分量的开源尝试。它的核心价值:
- 多模型支持:不绑定单一 LLM,提供商可以用自己的 API key
- MCP 生态:站在 Anthropic 推动的 MCP 协议上,工具扩展性强
- 远程操控:Remote Operator 解决了"帮用户操作电脑"的实际需求
- 全栈覆盖:从 CLI 到桌面 App,从浏览器到桌面,覆盖完整
如果你的工作涉及浏览器自动化、RPA 或需要 AI 帮你操作 GUI,TARS 值得加入工具箱。
项目信息
- GitHub:bytedance/UI-TARS-desktop ⭐ 32.5k
- 语言:TypeScript(CLI)+ Python(部分工具)
- 许可证:Apache 2.0
- 官方文档:agent-tars.com
- 社区:Discord