资讯动态

UI-TARS-desktop 如何从源码构建 Mac 与 Windows 平台的应用发布包

发布时间:2026/9/10 6:05:45 来源:尧图企业网站定制
UI-TARS-desktop 如何从源码构建 Mac 与 Windows 平台的应用发布包【免费下载链接】UI-TARS-desktopThe Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop如果你已经拿到 UI-TARS-desktop 源码想要自己产出可分发的安装包macOS 的.dmg/.zipWindows 的 Squirrel 安装器而不是从发布页下载预构建包入口是 apps/ui-tars/package.json 中定义的一组 pnpm 脚本build在当前系统上生成安装包并输出到out/目录publish:*系列脚本则会在构建完成后把产物上传到 GitHub 仓库的 draft release。本文按“安装依赖 → 在 macOS 或 Windows 上构建 → 核对产物”的顺序说明操作路径并给出维护者走官方 CI 发布时的步骤。以下路径均来自 CONTRIBUTING.md 的 Building 章节、apps/ui-tars/package.json 的脚本定义、apps/ui-tars/forge.config.ts 的打包配置以及 .github/workflows/release-ui-tars.yml 的发布流水线。环境要求与依赖安装CONTRIBUTING.md 的前置条件为Node.js 20apps/ui-tars/package.json 的engines同样要求node 20.xpnpm 9仓库packageManager字段固定为pnpm9.10.0官方 CI 统一安装pnpm9并使用 node-version 20克隆仓库并安装依赖git clone https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop.git cd ui-tars-desktop pnpm install在 macOS 上构建 Mac 平台发布包构建命令x64 与 arm64 通用架构由当前机器决定cd apps/ui-tars pnpm run buildbuild脚本的完整链路是npm run clean npm run typecheck cross-env NODE_ENVproduction electron-vite build electron-forge make --enable-logging即先清理dist/out再执行 typecheck随后用 electron-vite 打出生产产物最后由electron-forge make调用 forge.config.ts 中为 darwin 平台注册的 maker 生成安装包MakerDMGUDZO格式的.dmg背景图使用static/dmg-background.pngMakerZIPdarwin 平台的.zip分发包macOS 生成 DMG 依赖appdmg命令行工具。官方发布流水线在 macOS runner 上执行构建前先运行了以下两步注意副作用brew install与npm install -g会修改本机全局环境brew install python-setuptools npm install -g appdmg本地构建 DMG 前需保证appdmg已可用。macOS 签名与公证可选forge.config.ts 中只有当环境变量APPLE_ID、APPLE_PASSWORD、APPLE_TEAM_ID三者都设置时才会启用osxSign与osxNotarize签名使用KEYCHAIN_PATH指向的 keychain 与build/entitlements.mac.plist权限文件。CI 的 mac 任务会先把 base64 证书导入临时 keychain再注入这些变量后执行构建不设置这些变量时产物为未签名包。在 Windows 上构建 Windows 平台发布包在 Windows 系统上执行同一条命令cd apps/ui-tars pnpm run buildforge.config.ts 中 Windows 平台注册的是MakerSquirrel配置的安装器名称为UiTars、图标为resources/icon.ico。官方 Windows 发布任务windows-latestrunner执行的即是对应的 x64 脚本cd apps/ui-tars pnpm run publish:win32注意publish:win32等价于npm run build electron-forge publish --archx64 --platformwin32比build多一步上传见下文“publish 脚本的副作用”。本地只要产物时用pnpm run build即可。架构脚本对应关系定义在 apps/ui-tars/package.json脚本命令内容publish:win32npm run build electron-forge publish --archx64 --platformwin32publish:win32-arm64npm run build electron-forge publish --archarm64 --platformwin32publish:mac-x64npm run build electron-forge publish --archx64 --platformdarwinpublish:mac-arm64npm run build electron-forge publish --archarm64 --platformdarwin一个容易踩的坑CONTRIBUTING.md 把pnpm run build和pnpm run publish:mac-x64写在仓库说明里未强调执行目录但这些脚本实际定义在apps/ui-tars子包中发布流水线的实际执行方式也是先cd apps/ui-tars再运行pnpm run publish:mac-arm64/pnpm run publish:win32。因此所有构建命令都应在apps/ui-tars目录下执行。核对构建产物CONTRIBUTING.md 说明构建结果输出到out/*目录对应apps/ui-tars/out/。发布流水线给出了 Mac 侧明确的文件存在性检查两个 mac 任务分别以apps/ui-tars/out/latest-mac-arm64.yml和apps/ui-tars/out/latest-mac-x64.yml作为构建产物上传并设置if-no-files-found: error——即这两个自动更新清单文件生成才视为该架构的 Mac 构建成功。本地构建后可以直接在apps/ui-tars/out/下核对对应的latest-mac-*.yml清单以及.dmg/.zip安装包Windows 侧则核对 Squirrel 安装器文件。文档未给出 Windows 侧的文件名断言以实际目录内容为准。publish 脚本的副作用上传到 GitHub draft releasepublish:*脚本在electron-forge make之后还会执行electron-forge publish。forge.config.ts 中配置的 publisher 为electron-forge/publisher-github目标仓库是bytedance/ui-tars-desktop且draft: true、force: true并自动生成 release notes。这意味着在本地执行pnpm run publish:mac-x64等命令会把本次构建的产物推送为该仓库的 draft releaseforce: true允许覆盖已有内容并且需要注入GITHUB_TOKEN官方 CI 中使用secrets.GITHUB_TOKEN与 Apple 相关 secrets。因此只需要本地安装包的读者用pnpm run buildpublish:*仅适合维护者场景不要在无授权的机器上随手执行。维护者的正式发布流程CONTRIBUTING.md 的 Release 章节定义了应用发布流程发布工作流为 release-ui-tars.yml仅由维护者手动触发修改package.json中的version提交并推送到release/${version}分支向main发起标题为release(app): ${version}的 PRPR 合并后手动触发 release workflow。工作流的平台矩阵为macos-latestarm64、macos-13x64、windows-latestx64。两个 mac 任务各自执行pnpm run publish:mac-arm64/pnpm run publish:mac-x64后由后续的merge-latest-mac任务通过 scripts/merge-yml/merge-yml.ts 合并两份latest-mac-*.yml清单并以v${version}标签上传 release。文档声明该发布工作流当前支持的平台为MacOS x64、MacOS arm64、Windows x64——publish:win32-arm64脚本虽然存在但不在该工作流的支持列表内。边界说明各平台的 maker 与其依赖工具macOS 的appdmg、Squirrel 安装器绑定在对应操作系统上官方流水线把每条publish:*命令放在对应 OS 的 runner 上执行本地构建同理在哪个系统上跑就产出该平台的包。Mac 产物是否签名取决于APPLE_ID/APPLE_PASSWORD/APPLE_TEAM_ID是否注入未注入时构建出的包未经签名与公证这一点在分发前需自行确认。源码中src目录位于仓库顶层而非apps之内是 Electron Forge 早期不支持 pnpm hoisting 机制的历史原因见 CONTRIBUTING.md 说明阅读构建配置时不要因目录结构预期而找错文件。【免费下载链接】UI-TARS-desktopThe Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价