我花了9个月打造它:UpgradeLink – 开源一体化跨平台应用升级系统
Source: Dev.to
🚀 为什么我创建了 UpgradeLink
我想要一个 跨平台兼容、易于部署且可自定义 的升级系统。现有方案要么价格昂贵,要么只支持单一平台,或者对小团队和个人开发者来说过于复杂。于是我基于 Go Zero + simple‑admin 搭建了 UpgradeLink,并结合了自己在使用过程中的痛点经验。
✨ 我在 UpgradeLink 中实现的核心功能
1. 全平台覆盖 – 一套系统搞定所有终端
- Windows、macOS、Linux 原生应用。
- 跨框架应用(Tauri、Electron) – 兼容它们官方的升级 API,几乎不需要改动代码。
- Android 应用支持增量更新,节省带宽并加速升级。
将 UpgradeLink 集成到一个 Tauri 工具中仅用了 10 分钟。
2. 灵活的配置
- Canary 发布 – 在全面推送之前先向少量用户推出新版本。
- 定向升级 – 将包推送到特定设备或操作系统版本(例如,仅 macOS 14+ 用户)。
- 自定义存储 – 支持 S3 兼容的对象存储;兼容阿里云 OSS,并可接入 CDN 加速下载。
- 配置/文件升级 – 动态更新资源包和 JSON 配置,无需发布完整的应用版本。
3. 细节上的质量提升
- Docker 单机快速启动 – 只需一条命令即可在自己的服务器上运行。
- 多语言 SDK(Go、Java、Python、TypeScript 等) – 直接使用 SDK 完成集成,避免手写原始 HTTP 请求。
- Vue 3 + Vben 管理后台 – 直观的 UI 用于管理升级,免去翻日志的麻烦。
🛠️ 个人快速上手流程
完整的部署文档已放在仓库的 README 中,包含 Docker Compose 与集群部署方案。所有步骤均由我本人亲自验证。
🤔 小小的个人感想
UpgradeLink 并非臃肿的框架,而是针对我和许多开发者在升级过程中遇到的痛点而打造的聚焦解决方案。它已经在我的多个开源项目(如 note‑gen、MarkFlowy 以及其他 Tauri 工具)中平稳运行超过一个月。
🤝 一起让它更好
- 打开 Issue – 分享你的升级难题。
- 提交 PR – 帮助修复 bug、添加功能或完善文档。
如果 UpgradeLink 帮你摆脱了升级的头疼,请给仓库点个 ⭐️ Star,这对我持续维护是最大的动力。
GitHub Repo:
Gitee Repo:
让我们一起让应用升级变得更简单吧! 🚀