UI-TARS-desktop开源项目开发环境搭建教程
【免费下载链接】UI-TARS-desktopA GUI Agent application based on UI-TARS(Vision-Lanuage Model) that allows you to control your computer using natural language.项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop
作为一款基于视觉语言模型的GUI智能助手,UI-TARS-desktop允许你通过自然语言控制计算机。本教程将带你从零开始,完成开源项目UI-TARS-desktop的开发环境配置,包括依赖安装、源码获取、调试运行及问题解决等关键步骤,让你快速投身于这个创新项目的开发。
准备开发工具箱:安装必备依赖
目标
在本地计算机上配置好UI-TARS-desktop开发所需的基础工具链。
前置条件
- 具备基本的命令行操作能力
- 网络连接正常
实施步骤
安装Node.js 前往Node.js官网下载并安装v20.x版本。这是因为项目依赖于该版本的特性,确保兼容性。
安装pnpm 打开终端,执行以下命令安装pnpm:
npm install -g pnpm # 全局安装pnpm包管理工具安装Git 根据你的操作系统,从Git官网下载并安装Git版本控制工具。
验证方法
- [ ] 运行 `node -v` 命令,输出应为v20.x.x - [ ] 运行 `pnpm -v` 命令,输出应为9.10.0或更高版本 - [ ] 运行 `git --version` 命令,能正常显示Git版本信息💡技巧提示:如果你使用的是Linux或macOS系统,可以考虑使用nvm(Node Version Manager)来管理Node.js版本,方便在不同项目间切换。
获取项目源码:克隆仓库到本地
目标
将UI-TARS-desktop项目的源代码下载到本地开发环境。
前置条件
- 已安装Git工具
- 具备基本的Git操作知识
实施步骤
打开终端,导航到你想要存放项目的目录。
执行克隆命令:
git clone https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop.git # 克隆项目仓库 cd UI-TARS-desktop # 进入项目目录
验证方法
- [ ] 项目目录下存在apps、docs、packages等文件夹 - [ ] 执行 `git status` 命令,显示当前分支信息攻克依赖难题:三招解决安装失败
目标
安装项目所需的所有依赖包,为后续开发和构建做准备。
前置条件
- 已完成项目源码克隆
- 网络连接正常
实施步骤
配置国内镜像(可选但推荐)
pnpm config set registry https://registry.npmmirror.com # 设置npm镜像 pnpm config set electron_mirror https://npmmirror.com/mirrors/electron/ # 设置Electron镜像安装项目依赖
pnpm install # 安装所有项目依赖预构建依赖包
pnpm run build:deps # 预构建依赖,加速后续构建过程
验证方法
- [ ] 项目根目录下生成node_modules文件夹 - [ ] 执行 `pnpm list` 命令,能正常显示已安装的依赖包列表 - [ ] 没有错误提示出现在依赖安装过程中⚠️注意事项:如果依赖安装过程中出现错误,请检查Node.js版本是否符合要求,网络连接是否正常,或尝试删除node_modules文件夹后重新安装。
启动开发环境:实时预览与调试
目标
以开发模式启动UI-TARS-desktop应用,实现代码修改的实时预览。
前置条件
- 已成功安装项目依赖
- 了解基本的Electron应用开发概念
实施步骤
进入主应用目录
cd apps/ui-tars # 切换到主应用目录启动开发服务器
pnpm run dev # 启动开发模式,支持热重载 # 或者使用调试模式(带源码映射) # pnpm run debug
验证方法
- [ ] 应用窗口自动打开,显示UI-TARS-desktop的欢迎界面 - [ ] 修改源代码后,应用界面能自动更新 - [ ] 开发控制台没有报错信息成功启动后,你将看到UI-TARS-desktop的欢迎界面,提供了"Computer Operator"和"Browser Operator"两种模式供选择。
构建可执行文件:打包发布版本
目标
将项目构建为可执行文件,以便在不同操作系统上安装使用。
前置条件
- 已完成开发并测试通过
- 了解不同操作系统的应用打包概念
实施步骤
返回项目根目录
cd ../.. # 从apps/ui-tars目录返回项目根目录执行构建命令
pnpm run build # 执行全量构建,包括清理、类型检查、编译和打包
验证方法
- [ ] 项目根目录下生成out文件夹 - [ ] out文件夹中包含对应操作系统的安装包 - [ ] 安装包能够正常安装和运行💡技巧提示:构建过程可能需要较长时间,具体取决于你的计算机性能和网络状况。请耐心等待构建完成。
配置运行权限:解决系统安全限制
目标
正确配置应用运行所需的系统权限,确保UI-TARS-desktop能正常工作。
前置条件
- 已成功构建应用安装包
- 具备基本的系统设置操作能力
实施步骤
macOS系统
安装应用 将构建好的UI TARS应用拖入Applications文件夹:
配置权限 打开系统设置→隐私与安全性,为UI-TARS授予必要权限:
- 辅助功能:允许控制鼠标键盘
- 屏幕录制:支持界面视觉分析
Windows系统
安装应用 双击安装包,在出现安全提示时点击"仍要运行":
按照安装向导完成安装过程
验证方法
- [ ] 应用能够正常启动 - [ ] 应用能够接收并响应鼠标和键盘输入 - [ ] 应用能够进行屏幕截图和分析⚠️注意事项:如果在macOS上遇到"无法打开因为无法验证开发者"的提示,可以按住Control键并点击应用图标,然后选择"打开"来绕过安全限制。
诊断常见问题:症状、病因与处方
依赖安装失败
- 症状:
ERROR: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local) - 病因:Apple Silicon芯片上的Homebrew路径问题
- 处方:安装Rosetta 2
softwareupdate --install-rosetta
编译报错node-gyp相关
- 症状:
gyp: No Xcode or CLT version detected! - 病因:缺少Xcode命令行工具
- 处方:安装Xcode命令行工具
xcode-select --install
应用启动白屏
- 症状:应用启动后只显示白屏,没有内容
- 病因:Electron入口配置错误
- 处方:检查electron.vite.config.ts中入口配置是否正确,确保
main.entry指向src/main/index.ts
权限不足导致操作失败
- 症状:应用无法执行某些操作,如控制鼠标或截图
- 病因:系统权限未正确配置
- 处方:参考权限配置章节,确保所有必要的隐私权限已开启
镜像拉取缓慢
- 症状:依赖包或Electron下载速度缓慢
- 病因:默认镜像服务器在国内访问速度受限
- 处方:配置国内镜像
pnpm config set electron_mirror https://npmmirror.com/mirrors/electron/
开发资源导航
官方文档
- 快速入门指南:docs/quick-start.md
- 部署指南:docs/deployment.md
- 设置说明:docs/setting.md
社区支持
- 贡献指南:CONTRIBUTING.md
- 代码规范:CODE_OF_CONDUCT.md
- 安全政策:SECURITY.md
扩展工具
- 代码格式化:
pnpm run format(基于Prettier配置) - 类型检查:
pnpm run typecheck(全项目TS校验) - 单元测试:
pnpm run test(Vitest测试框架) - E2E测试:
pnpm run test:e2e(Playwright自动化测试)
下一步行动清单
- 探索项目结构:深入了解apps/ui-tars/src/main和src/renderer目录下的代码组织
- 添加新功能:尝试为应用添加一个简单的自定义命令
- 优化性能:分析并改进应用的启动时间或内存占用
- 完善文档:为你熟悉的功能模块添加更详细的注释或使用示例
- 参与社区:提交一个issue或PR,为项目贡献力量
通过完成这些任务,你将逐步深入了解UI-TARS-desktop项目,并提升自己的开发技能。祝你在开源项目的开发旅程中收获满满!
【免费下载链接】UI-TARS-desktopA GUI Agent application based on UI-TARS(Vision-Lanuage Model) that allows you to control your computer using natural language.项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考