没有 GitHub Token 也能用——本地打包模式的边界与用法
能做什么、不能做什么
PakePlus 明确支持"零 Token"使用——没有 GitHub 账号也不影响基本功能。本地打包模式的核心优势就是不依赖外部服务、不收集任何凭据、30 秒出包。
可以做
| 能力 | 说明 |
|---|---|
| 创建项目 | 本地创建临时项目(私密类型,不会 fork 到 GitHub) |
| 配置项目 | 所有配置项(APP 名称、网站地址、图标、窗口模式等)全部可用 |
| 预览 | 在预览窗口里查看效果 |
| 本地打包 | 一键为当前系统生成安装包,约 30 秒 |
| JS 注入 | 脚本文件、JQuery 注入、过滤元素等高级功能照常使用 |
| 静态文件打包 | Vue/React dist 目录本地打包不受影响 |
不能做
| 能力 | 说明 |
|---|---|
| 云端多平台同时编译 | 没有 GitHub Actions,无法一次出多平台包 |
| GitHub Pages 在线网站发布 | 依赖 GitHub 仓库 |
| 同步仓库 / 更新修复 | 这些功能都需要 token 才能操作 GitHub |
| 私密项目配额 / GitHub 额度面板 | 这些是 GitHub 账号关联的信息 |
| 项目记录持久化 | 本地项目记录存在 PakePlus 客户端数据库里,重装或清数据可能丢失 |
本地打包 vs 云端打包的原理差异
| 维度 | 本地打包 | 云端打包 |
|---|---|---|
| 编译位置 | 当前电脑 | GitHub Actions runner |
| 依赖 | 零依赖(PakePlus 内置编译器) | 需 fork 模板仓库 |
| 平台 | 当前系统一个平台 | 多平台并行 |
| 耗时 | 约 30 秒 | 约 3-10 分钟(取决于 GitHub runner 负载) |
| Token | 不需要 | 需要 classic token |
| 文件大小限制 | 无限制 | GitHub 单文件 100MB 软限制(PakePlus 文档建议 10MB 以内) |
| 项目持久化 | 本地 | GitHub 仓库 |
什么时候该用本地打包
以下场景下,本地打包反而是更好的选择:
快速原型 / 即时出包
写了一个小工具或需要给同事演示——不想等 GitHub Actions 跑完,点一下"本地打包"30 秒出一个安装包。
公司内网 / 无法访问 GitHub
很多公司内网屏蔽 GitHub、或 Git 访问需要走代理。本地打包完全绕开这个问题——全程在本地机器上完成,不访问任何外部服务器。
不想注册 GitHub 或不想给权限
不希望创建 GitHub 账号、或对"fork 仓库、token 授权"这种流程有心理负担——本地打包是最轻量的起步方式。
单一平台需求
只需要出当前系统的安装包(比如只给 Windows 同事用),没有跨平台需求——没必要走云端。
不想留下痕迹
本地打包不涉及任何 GitHub 仓库操作——项目配置、dist 文件、编译过程全部在本地完成。不留任何外部痕迹。
本地打包的实际体验
操作流程
- 打开 PakePlus(不登录,或登录但选择本地模式)
- 创建新项目 → 选择"定制"或"私密"类型
- 填写配置(APP 名称、网站地址、图标等)
- 点击"预览"确认效果
- 点击"发布" → 选择本地打包
- 等待约 30 秒,安装包生成在默认输出目录
零依赖的实现原理
PakePlus 文档明确说"本地打包不需要安装任何依赖环境"。这背后的实现大致是:
- 桌面端编译所需的 Rust toolchain、Tauri 构建器——PakePlus 可能内置了一个轻量的 Rust 编译环境,或者在首次使用时下载到本地缓存
- 不依赖系统已有的 rustc / cargo
- 编译过程由 PakePlus 客户端自身驱动
实际首次本地打包可能需要几秒到几十秒的初始化(下载编译缓存),但后续打包会很快。
产物位置
本地打包完成后,安装包默认输出到 PakePlus 的项目存储目录下。用户可以在 PakePlus 设置里自定义输出路径。
本地模式的长期维护
如果你长期用本地模式:
- 项目备份:定期备份 PakePlus 的本地项目目录和配置文件
- PakePlus 客户端更新:版本更新可能影响本地项目兼容性,更新前建议备份
- 跨平台需求增长时:如果未来发现需要同时出 Mac + Windows 包,再考虑接入 GitHub Token 走云端
总结
GitHub Token 是 PakePlus 的可选增强功能,不是必需门槛。 本地打包模式提供了一个完整可用的"零门槛"起步路径——不想注册 GitHub、不想配依赖、不想等云端跑完,30 秒出一个包,完全够用。