资讯动态

pi-gui构建与发布指南:electron-builder跨平台打包与Homebrew更新流

发布时间:2026/10/14 18:32:24 来源:尧图企业网站定制
【免费下载链接】pi-guiElectron GUI app for the pi coding agent runtime项目地址https://gitcode.com/gh_mirrors/pi/pi-gui点击查看免费下载pi-gui 是 pi coding agent 的 Electron 桌面应用本指南带你走通它的构建与发布全流程从 pnpm 工作区本地构建到 electron-builder 一键产出 macOS、Linux、Windows 安装包再到 Homebrew cask 自动同步与客户端内更新检查。无需发布经验也能照做。pi-gui 是什么pi-gui 把 pi 编码代理做成了 Codex 风格的桌面壳左侧是线程列表中间是任务时间线右侧是 Changes 审查面板。它基于Electron 37 React 19通过 monorepo 组织apps/desktop/、packages/、examples/desktop-extensions/包管理统一使用 pnpm 10见根 package.json。本地构建三步出桌面应用在开始打包前先跑通构建。核心命令都在根目录执行git clone https://gitcode.com/gh_mirrors/pi/pi-gui cd pi-gui pnpm install pnpm --filter pi-gui/desktop run build # 构建共享包 通知 helper electron-vite pnpm dev # 开发模式运行build脚本会按顺序做三件事apps/desktop/package.jsonbuild:deps编译session-driver、pi-sdk-driver等共享包build:notification-helper编译 macOS 原生通知小工具electron-vite build产出 main/preload/renderer 到out/目录。electron-builder 跨平台打包一份配置覆盖三大平台打包配置集中在 apps/desktop/electron-builder.yml使用electron-builder 26.8.1。三大平台产物一览平台产物架构特色配置macOSdmg ziparm64hardenedRuntime、公证notarize、自定义 DMG 窗口LinuxAppImage debx64声明 GTK 等系统依赖Windowsnsis 安装包 portablex64可选签名portable 绿色版对应命令均在apps/desktop下pnpm run package # macOSbuild electron-builder --mac pnpm run package:linux # Linux经 run-electron-builder.mjs 包装执行 pnpm run package:win # Windows经 package-windows.mjs 处理产物统一输出到release/目录文件名遵循pi-gui-版本号-架构.扩展名的artifactName模板。两个容易踩的坑项目里已给出解法① pnpm 嵌套依赖不会被收集。electron-builder 的依赖收集器对 pnpm 的 hoist 布局可能漏掉部分传递依赖配置里用files显式映射了两处嵌套包proper-lockfile的retry、AWS SDK 的token-providers。打包后还会运行 apps/desktop/scripts/assert-packaged-runtime-deps.mjs 断言所有关键运行时依赖确实存在于产物中。② 原生模块必须解包。asarUnpack规则将*.node、*.wasm和node-pty排除在 asar 包外否则终端等原生功能会加载失败。Linux 打包通过 apps/desktop/scripts/run-electron-builder.mjs 增加了一层缓存与下载重试Windows 打包环境则修复了非 UTF-8 代码页下路径损坏的问题。发布流tag 触发产物先验证再上架发布由推送v*版本 tag 触发入口是 .github/workflows/release.ymlPreflight 校验先跑 scripts/verify-release-version.mjs确认 tag 与根package.json版本一致版本不合规则立即失败分平台构建macOS 校验签名与公证密钥后构建 dmg/zipLinux、Windows 各自独立 jobmacOS 公证收尾apps/desktop/scripts/finalize-macos-release.sh 完成notarytool提交、staple 装订并用codesign、spctl、lipo验证签名、Gatekeeper 与 arm64 架构Linux 产物验证apps/desktop/scripts/verify-linux-release.sh 在原生 Linux x86_64 上校验 deb 依赖与 AppImage产物清单与哈希apps/desktop/scripts/release-artifacts.mjs 的stage命令把产物复制到干净的发布暂存目录逐个计算 SHA-256/SHA-512 生成release-manifest-平台.json并反向核对latest*.yml更新清单的哈希任何不一致直接报错发布electron-builder 的publish配置将产物与更新清单上传到 GitHub Releases供客户端检查更新。CI 基线格式化、lint、架构边界检查、类型检查、基线测试见 docs/ci-baseline.md合并前必须全绿。Homebrew 更新流cask 三行改动自动化macOS 用户通过 Homebrew cask 安装 pi-gui。仓库内置了一套脚本让 tap 更新完全自动化scripts/homebrew-tap-utils.mjs渲染/改写 cask 文件仅精确替换version、sha256、url三行改不动就报错绝不做模糊替换scripts/release-homebrew-sync.mjs拉取发布资产的下载地址与哈希写回 cask 并以 GitHub Actions bot 身份git commitpush到 tap 仓库支持--dry-run预演scripts/verify-homebrew-flow.mjs端到端演练整条 Homebrew 流程在 CI 中保证脚本可用。对用户而言升级就是一句brew upgrade pi-gui客户端内的更新检查apps/desktop/electron/platform/update-checker.ts 实现了轻量更新检查启动 15 秒后首次检查之后每 4 小时轮询一次最新稳定版自动跳过 draft 与预发布用内置的 semver 比较器判定真的更新预发布版本不会误报发现新版后推送系统通知每个版本只通知一次点击直达发布页避免每轮询都打扰用户。常用命令速查目的命令开发运行pnpm dev类型检查pnpm typecheck全量本地校验pnpm check打包 macOSpnpm --filter pi-gui/desktop run package打包 Linuxpnpm --filter pi-gui/desktop run package:linux打包 Windowspnpm package:win校验发布产物node apps/desktop/scripts/release-artifacts.mjs verify --platform all --version v --commit sha --input dir同步 Homebrew tappnpm release:homebrew-sync小结pi-gui 的发布体系核心思路是一份 electron-builder 配置覆盖三平台 → 产物先哈希校验、再公证/签名验证 → 自动同步 Homebrew cask → 客户端内 4 小时轮询通知更新。每个环节都有独立脚本与 CI 护栏保证任何一次版本发布都是可验证、可回退的。照上面的命令清单操作你也可以为 pi-gui 发布属于自己的版本 赞分享【免费下载链接】pi-guiElectron GUI app for the pi coding agent runtime项目地址https://gitcode.com/gh_mirrors/pi/pi-gui点击查看免费下载相关推荐electron-builder 完全指南跨平台打包、签名、自动更新与发布electron builder 完全指南跨平台打包、签名、自动更新与发布 electron builder 是当前 electron builder 仓库构建工具桌面应用开发工具LiveAutoRecord打包发布Electron Builder多平台构建LiveAutoRecord打包发布Electron Builder多平台构建 前言为什么需要专业的打包方案 你还在为Electron应用的多平台打包而烦如何使用Electron-React-Boilerplate实现多平台应用打包electron-builder完整指南如何使用Electron React Boilerplate实现多平台应用打包electron builder完整指南 Electron React Boil示例工程前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

免费获取报价 →
↑