UI-TARS-desktop:字节跳动开源的多模态AI智能体,一站式GUI智能任务自动化桌面工具
一、UI-TARS-desktop是什么
UI-TARS-desktop是字节跳动面向开发者和企业级用户开源的多模态AI智能体桌面应用项目,核心围绕“GUI智能体”这一核心方向,结合UI-TARS模型的视觉理解、GUI交互解析能力,以及Agent TARS通用多模态AI智能体栈的工具集成能力,打造覆盖终端、计算机、浏览器等多场景的智能任务处理体系。
简单来说,UI-TARS-desktop本质是“AI驱动的GUI自动化工具”——它能像人类一样理解计算机桌面、浏览器页面的视觉元素,执行点击、输入、拖拽、窗口切换等操作,同时融合自然语言理解、多工具调用能力,实现端到端的智能任务完成。与传统的RPA(机器人流程自动化)工具不同,UI-TARS-desktop基于大模型的多模态能力,无需手动配置固定流程,可通过自然语言指令动态完成复杂任务,是AI Agent技术在桌面端的落地实现。
该项目采用Apache-2.0开源协议,支持商用和二次开发,整体架构为monorepo(单仓库多包)模式,兼顾易用性(开箱即用的桌面应用)和扩展性(可自定义的算子、SDK),是字节跳动在多模态AI智能体领域的核心开源成果。
二、功能特色
UI-TARS-desktop的核心优势在于“多模态融合+跨场景适配+工程化完善”,具体功能特色可分为以下几类:
2.1 核心能力:多模态GUI智能操作
| 能力模块 | 具体功能 | 应用场景示例 |
|---|---|---|
| 计算机算子 | 本地/远程控制计算机GUI,支持窗口识别、鼠标点击/拖拽、键盘输入、文件操作、系统指令执行 | 自动整理桌面文件、批量修改文档内容、远程协助完成系统配置 |
| 浏览器算子 | 本地/远程控制浏览器,支持页面元素识别、标签页管理、表单填写、按钮点击、数据爬取 | 自动登录网页填写表单、批量下载网页图片、智能浏览并提取信息 |
| 多模态理解 | 融合视觉识别、自然语言理解,支持图片/截图解析、界面元素语义理解 | 解析截图中的表格数据、理解“点击红色按钮旁边的输入框”等模糊指令 |
2.2 交互形式:多端适配,灵活易用
桌面应用(UI-TARS Desktop):基于Electron开发的原生GUI界面,支持Windows/macOS等系统,可视化配置算子、发送自然语言指令,适合非技术用户快速使用;
CLI命令行工具:提供命令行交互方式,支持多工具流式调用、运行时统计、数据流追踪调试,适合开发者集成到脚本或自动化流程中;
Web UI:网页端交互界面,无需安装客户端,通过浏览器即可调用智能体能力,支持多人协作和远程访问。
2.3 安全与可靠性:隔离与可控
Sandbox沙箱环境:Agent TARS内置AIO agent Sandbox隔离式工具执行环境,所有算子操作在沙箱内完成,避免误操作影响主机系统,支持操作权限精细化控制;
运行时监控:实时统计算子执行状态、资源占用、指令执行进度,支持断点续传、操作回滚,降低任务执行风险;
权限管理:针对远程算子,提供身份认证、访问密钥管理,确保远程计算机/浏览器操作的安全性。
2.4 扩展性:灵活的生态扩展能力
自定义算子开发:提供算子开发SDK,支持开发者基于业务需求新增自定义算子(如办公软件算子、专业软件算子);
MCP多工具集成协议:兼容多工具集成协议,可无缝对接Shell、Python脚本、数据库、第三方API等工具,实现“AI指令→工具调用→结果返回”的端到端流程;
存储适配:支持内存、本地文件、SQLite、MongoDB等多种存储方式,适配不同数据规模和隐私要求的场景(如私有化部署可选择本地存储)。
2.5 工程化:开箱即用的开发体系
完善的工程化配置:内置ESLint/Prettier/Commitlint代码规范、Husky Git钩子,确保代码质量;
自动化CI/CD:GitHub工作流集成密钥扫描、自动化构建、版本发布,降低开发和部署成本;
版本管理:基于Changesets实现monorepo多包版本管理,清晰记录版本迭代(已发布v0.1.0/v0.2.0/v0.3.0等版本),便于维护和升级。

三、技术细节
3.1 整体架构
UI-TARS-desktop采用分层架构设计,从底层到上层可分为4层:
graph TD A[基础设施层] --> B[核心能力层] B --> C[应用层] C --> D[交互层] A[基础设施层] --> A1[存储模块<br/>内存/文件/SQLite/MongoDB] A --> A2[工程化工具<br/>PNPM/Turbo/GitHub CI] A --> A3[安全模块<br/>沙箱/权限/认证] B[核心能力层] --> B1[Agent TARS智能体栈<br/>多模态理解/工具调用] B --> B2[算子核心<br/>计算机/浏览器算子] B --> B3[IPC通信模块<br/>主进程/渲染进程通信] C[应用层] --> C1[UI-TARS Desktop<br/>Electron桌面应用] C --> C2[CLI工具<br/>命令行交互] C --> C3[Web UI<br/>网页端应用] D[交互层] --> D1[自然语言指令] D --> D2[可视化配置] D --> D3[API调用]
3.2 核心目录结构(monorepo)
项目采用monorepo架构,所有代码和资源集中在一个仓库,核心目录分工清晰,便于维护和扩展:
| 目录名 | 核心作用 | 关键子模块 |
|---|---|---|
| apps/ | 应用层代码 | ui-tars:桌面应用主进程/渲染进程代码;web:Web UI代码;cli:命令行工具代码 |
| packages/ | 核心包集合 | agent-infra:智能体基础设施(浏览器/搜索/日志/MCP客户端);common:通用配置;ui-tars:核心算子/SDK |
| multimodal/ | 多模态相关 | GUI智能体模型适配、benchmark(性能测试)、TARKO智能体框架 |
| infra/ | 工程化工具 | Git/GitHub工具、发布流程、日志系统 |
| docs/ | 官方文档 | 快速开始、预设管理、部署教程、贡献指南 |
| examples/ | 示例代码 | 算子使用示例、浏览器集成示例、搜索示例 |
| .github/ | GitHub工作流 | 密钥扫描、CI/CD脚本、Issue/PR模板 |
3.3 关键技术栈
UI-TARS-desktop的技术选型兼顾成熟度和前沿性,核心技术栈如下:
| 技术类别 | 具体技术/工具 | 应用场景 |
|---|---|---|
| 前端/桌面开发 | Electron、React、TypeScript | 桌面应用的主进程/渲染进程开发,Web UI界面开发 |
| 包管理/构建 | PNPM、Turbo | monorepo多包管理,快速构建和热更新 |
| AI能力集成 | UI-TARS模型、MCP协议 | 多模态理解、工具调用、智能体核心逻辑 |
| 工程化 | ESLint、Prettier、Husky、Changesets | 代码规范、提交校验、版本管理 |
| 自动化/CI/CD | GitHub Actions | 自动化构建、测试、发布、密钥扫描 |
| 存储 | SQLite、MongoDB、本地文件 | 智能体配置、任务日志、算子执行数据存储 |
| 通信 | IPC、HTTP/HTTPS | 桌面应用进程间通信、远程算子调用 |
3.4 核心流程:自然语言指令到GUI操作
以“让AI自动打开浏览器,访问百度并搜索‘UI-TARS-desktop’”为例,核心执行流程如下:
指令解析:自然语言指令经UI-TARS模型解析,转化为结构化的操作步骤(打开浏览器→输入网址→点击搜索框→输入关键词→点击搜索按钮);
算子匹配:智能体栈匹配“浏览器算子”,确认执行环境(本地/远程);
沙箱初始化:创建浏览器沙箱环境,加载算子所需依赖;
操作执行:算子按步骤执行GUI操作,实时返回执行状态;
结果返回:将操作结果(搜索页面截图、文本内容)整理后返回给用户;
日志记录:记录整个流程的执行日志、资源占用,便于调试和追溯。
四、应用场景
UI-TARS-desktop的能力覆盖个人、企业、开发者等多类用户,典型应用场景如下:
4.1 个人办公自动化
重复GUI操作自动化:批量整理桌面文件、自动填写网页表单、定时备份浏览器书签;
信息提取与整理:从网页/截图中提取表格数据并导出为Excel、智能浏览文档并总结核心内容;
远程协助:通过远程算子帮助家人/同事完成简单的电脑操作(如安装软件、配置网络)。
4.2 企业级流程自动化
客服辅助:自动打开CRM系统,根据客户咨询内容填写工单、查询订单信息;
数据采集与分析:批量爬取行业网页数据、自动生成数据报表;
跨系统操作:联动多个桌面软件(如Excel、微信、企业微信),完成“数据录入→消息推送→报表生成”的全流程。
4.3 开发者场景
AI Agent原型开发:基于项目提供的SDK、算子,快速开发自定义多模态智能体;
自动化测试:模拟用户操作,对桌面应用、网页进行自动化测试;
脚本集成:将CLI工具集成到Python/Shell脚本中,增强脚本的智能决策能力。
4.4 特殊场景:远程运维与管控
服务器桌面管控:通过远程算子控制服务器桌面,完成可视化配置;
多设备统一管理:集中管控多台计算机/浏览器,批量执行系统更新、软件安装等操作。

五、使用方法
5.1 环境准备
前置依赖
操作系统:Windows 10+/macOS 12+;
运行环境:Node.js 18.x+(推荐18.18.0 LTS);
包管理器:PNPM 8.x+(项目推荐的包管理工具);
可选依赖:Git(用于克隆仓库)、Docker(用于沙箱环境部署)。
依赖安装(以macOS为例)
# 安装Node.js(推荐使用nvm) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash nvm install 18.18.0 nvm use 18.18.0 # 安装PNPM npm install -g pnpm@8.15.0
5.2 快速开始:桌面应用使用
步骤1:克隆仓库
git clone https://github.com/bytedance/UI-TARS-desktop.git cd UI-TARS-desktop
步骤2:安装项目依赖
# 安装所有包的依赖 pnpm install # 构建核心包 pnpm build
步骤3:启动桌面应用
# 进入apps/ui-tars目录 cd apps/ui-tars # 启动开发版桌面应用 pnpm dev
步骤4:使用桌面应用完成第一个任务
应用启动后,进入主界面,选择“本地计算机算子”;
在指令输入框中输入自然语言指令,例如:“打开Chrome浏览器,访问https://www.baidu.com,搜索UI-TARS-desktop并截图保存到桌面”;
点击“执行”按钮,等待智能体完成操作;
在“执行日志”面板查看操作进度,执行完成后可在桌面查看截图文件。
5.3 CLI工具使用(开发者场景)
步骤1:安装CLI工具
# 从项目根目录安装CLI pnpm install -g ./packages/cli
步骤2:执行简单指令
# 查看CLI帮助 ui-tars --help # 执行浏览器算子指令 ui-tars browser --command "打开百度,搜索AI Agent" --local
步骤3:流式调用与调试
# 开启流式输出,查看实时执行日志 ui-tars computer --command "整理桌面文件,按类型分类到不同文件夹" --stream --debug
5.4 自定义算子开发(进阶)
步骤1:创建算子模板
# 从examples目录复制算子模板 cp -r examples/operator-template packages/agent-infra/src/operators/my-custom-operator
步骤2:编写算子逻辑(以TypeScript为例)
// packages/agent-infra/src/operators/my-custom-operator/index.ts
import { BaseOperator } from '../base';
export class MyCustomOperator extends BaseOperator {
// 算子名称
name = 'my-custom-operator';
// 算子描述
description = '自定义算子:批量修改Word文档名称';
// 核心执行方法
async execute(params: { folderPath: string; prefix: string }) {
const { folderPath, prefix } = params;
// 1. 读取指定文件夹下的Word文档
// 2. 批量修改文件名(添加前缀)
// 3. 返回修改结果
return {
success: true,
modifiedFiles: ['文件1.docx', '文件2.docx'],
message: '批量重命名完成'
};
}
}步骤3:注册并使用自定义算子
// 在应用中注册算子
import { MyCustomOperator } from './operators/my-custom-operator';
import { AgentInfra } from '@ui-tars/agent-infra';
const agent = new AgentInfra();
agent.registerOperator(new MyCustomOperator());
// 执行自定义算子
const result = await agent.executeOperator('my-custom-operator', {
folderPath: '/Users/xxx/Desktop/docs',
prefix: '2024-'
});
console.log(result);5.5 私有化部署(企业场景)
项目支持私有化部署,核心步骤为:
部署UI-TARS模型(参考docs/model-deployment.md);
配置本地存储(如MongoDB),关闭远程调用;
构建桌面应用安装包:
cd apps/ui-tars pnpm build:production # 构建生产版安装包
分发安装包到企业内部设备,配置沙箱权限和算子白名单。

六、常见问题解答(FAQ)
Q1:UI-TARS-desktop与传统RPA工具的区别是什么?
A1:传统RPA工具需要手动配置固定的操作流程(如“点击坐标X,Y→输入文本→点击按钮Z”),适配性差,无法处理界面变化;而UI-TARS-desktop基于多模态大模型,能理解界面的语义和视觉元素,通过自然语言指令动态生成操作流程,即使界面元素位置变化,也能识别并执行操作,灵活性和智能性远高于传统RPA。此外,UI-TARS-desktop集成了AI的决策能力,可处理“模糊指令”(如“找到页面上的红色按钮并点击”),而RPA无法处理此类指令。
Q2:远程算子如何保证安全性?
A2:远程算子的安全性主要通过三层机制保障:
身份认证:远程调用需配置访问密钥(API Key),仅授权设备可连接;
沙箱隔离:远程操作在独立的沙箱环境中执行,无法访问主机的敏感目录/权限;
操作审计:所有远程操作都会生成详细日志,包括操作人、操作时间、执行内容,可追溯可审计。同时,项目支持配置操作白名单,仅允许执行指定类型的操作(如仅允许浏览器浏览,不允许文件修改)。
Q3:项目支持哪些操作系统?是否有移动端版本?
A3:当前UI-TARS-desktop的核心版本为桌面端,支持Windows 10及以上、macOS 12及以上系统;Linux系统可通过CLI工具和Web UI使用核心能力,但暂不支持原生桌面应用。项目目前暂无移动端(iOS/Android)版本,不过可通过移动端浏览器访问Web UI,调用远程算子完成操作。
Q4:运行时提示“算子加载失败”怎么办?
A4:算子加载失败的常见原因及解决方法:
依赖缺失:执行
pnpm install重新安装所有依赖,确保packages/agent-infra包构建成功;权限不足:以管理员/root权限运行应用,或检查算子所需的系统权限(如文件访问权限);
版本不兼容:确认Node.js版本为18.x+,PNPM版本为8.x+,可通过
node -v和pnpm -v检查;端口占用:部分算子(如远程浏览器)需要占用特定端口,可通过
lsof -i :端口号检查并释放端口。
Q5:是否可以离线使用UI-TARS-desktop?
A5:可以。项目支持离线模式:
提前下载并部署UI-TARS模型到本地;
配置算子为“本地模式”,关闭远程调用;
所有依赖包提前安装,无需联网即可执行本地GUI操作。但离线模式下,部分依赖网络的功能(如网页访问、在线工具调用)无法使用。
七、相关链接
八、总结
UI-TARS-desktop是字节跳动开源的多模态AI智能体桌面应用,以UI-TARS模型为核心,集成Agent TARS通用智能体栈,提供本地/远程计算机、浏览器的GUI智能操作能力,支持桌面应用、CLI、Web UI等多交互形式,具备沙箱隔离、多工具集成、工程化完善、可扩展等特性。该项目区别于传统RPA工具,基于多模态大模型实现了自然语言驱动的动态GUI操作,适配个人办公自动化、企业流程管控、开发者AI Agent开发等多场景,采用Apache-2.0协议开源,既适合非技术用户开箱即用,也支持开发者自定义算子和二次开发,是AI Agent技术在桌面端落地的优质开源方案。
版权及免责申明:本文由@AI工具箱原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-news/ui-tars-desktop.html

