PakePlus 本质是什么——Tauri2 + GitHub 云端的打包工具
一句话定义
PakePlus 是一个基于 Rust + Tauri2 的跨平台 GUI 打包工具。它接收一个网址、一段 HTML,或者 Vue/React/Cocos/Unity 项目编译后的 dist 目录,输出真正可安装的 Windows/macOS/Linux 桌面应用,以及 Android/iOS 手机应用。
它不是什么
先澄清几个常见的误解:
- 不是浏览器插件:它不运行在浏览器里,打包产物是独立的
.exe/.dmg/.deb/.apk/ iOS 安装包。 - 不是 PWA 生成器:PWA 依赖浏览器和服务 Worker,能力受限且体验接近网页。PakePlus 产物是原生应用,有独立进程和系统级权限。
- 不是传统 Electron 壳:Electron 每个应用都内嵌一份完整 Chromium(通常 150-250MB)。PakePlus 用系统 WebView(Windows 用 WebView2、macOS 用 WKWebView、Linux 用 WebKitGTK),体积直接砍到 5MB 左右。
- 不是 Tauri CLI 的简单包装:它确实基于 Tauri2,但额外提供了 GUI 界面、GitHub Actions 云端编译(让你不用本地装 Rust)、项目管理面板、以及 JS 注入等内置功能包。
两条运行路径
PakePlus 的使用方式分成两条路,这是理解它的关键:
- 云端打包(需要 GitHub Token):项目 fork 到你自己的 GitHub,通过 GitHub Actions 自动编译。一次点发布,多平台同时出包。
- 本地打包(无需 Token):直接在本地机器上打包,30 秒左右出一个单平台安装包。不需要本地装任何依赖环境。
两条路都是 PakePlus 客户端(那个 10MB 左右的 GUI 程序)驱动的。Token 填了就走云端,没填或填失败就走本地。
技术栈快照
| 层 | 技术 |
|---|---|
| GUI 客户端 | Tauri2 + Rust |
| 桌面端 Web 容器 | 各系统原生 WebView |
| 移动端打包 | Android/iOS 原生框架 |
| 云端编译 | GitHub Actions(fork 后的模板仓库) |
| 本地打包 | 内置编译器,无外部依赖 |
| 脚本注入 | 原生 JS,可勾选注入 JQuery |
体积数字从哪来
宣传语里说"比 Electron 小 20 倍、快 10 倍",背后的原理其实很简单:
- Electron 内嵌 Chromium → 每个应用 150-250MB
- Tauri 用系统 WebView → 应用本身只是一个薄壳(Rust 编译出来的二进制)+ 你的网页内容 → 加起来 5MB 上下
- 启动速度:Rust 编译出的二进制直接启动,不需要 Node.js 运行时初始化 → 冷启动快 10 倍是合理的
和 Pake 项目的关系
PakePlus 名字里带 "Pake",但它跟 tw93/Pake 是两个不同的项目。Pake 是 Tauri CLI 路线的命令行工具,需要本地装 Rust 环境。PakePlus 可以理解为 Pake 的 GUI + 云端编译 + 移动端打包的"增强版"或"简化版"——把命令行参数都做成了表单,把本地编译压力甩给了 GitHub Actions。
关于许可证
PakePlus 本身是开源的,但它明确声明:打包产物仅限个人使用,不得商用、不得传播。这是项目维护者设定的边界,使用者需要自行遵守。详情见 打包仅限个人使用。