Pake | 开源网页桌面化工具,一键生成轻量桌面应用

Pake 是使用 Rust 与 Tauri 的开源网页桌面化工具,可把在线网址、本地 HTML 或静态目录打包成 macOS、Windows 和 Linux 应用。它适合已经有可用网页、想增加独立窗口、图标和桌面操作的人,也提供 CLI 与 GitHub Actions 构建路径。

Pake 一键将网页打包为桌面应用封面

输入内容不同,离线与路由条件也不同

输入Pake 的处理需要先确认
在线网址用系统 WebView 加载目标站点登录、网络与站点兼容性,打包后不会自动离线
单个 HTML 文件包装本地页面同目录资源需要时用 –use-local-file 递归复制
包含 index.html 的静态目录包装已有构建输出,例如 dist本地 hash 路由可用,history-mode SPA 路由尚不支持

独立窗口改变的是打开和使用网页的方式,不会替网页增加数据库、服务器接口或浏览器扩展。一个本地页面如果仍调用远程 API,也不能因为资源被打进安装包就认定可以全程离线。

本地反复构建,还是交给在线工作流

本地 CLI:保留参数,方便重做

CLI 文档推荐 Node.js 22+,本地构建需要 Rust 1.85+ 与所用平台的 Tauri 依赖。macOS/Linux 还涉及 curl、wget、file 和 tar,Windows 则需对应编译工具链。第一次构建会准备环境,耗时不能只按后续打包估计。

npm install -g pake-cli
pake https://example.com --name Example --width 1200 --height 800

示例网址要换成实际目标。没有指定图标时,Pake 会尝试取得网站图标;输出默认放在当前工作目录。反复构建同一个应用,可以使用 --config app.json 保存声明式参数,自动化则用 --json 取得机器可读结果。

GitHub Actions:不用在本机配完整构建环境

在线构建按仓库工作流填写网址、名称、图标和目标平台,由 GitHub 执行并提供构建产物。它减少本地准备工作,但输入与日志进入工作流范围。带私密参数的 URL、内部系统地址和凭据不应作为公开构建输入。

两条路径最终都需要检查目标应用。在线构建成功说明包已生成,不证明网站的登录、下载、快捷键和跳转都能按预期工作。

Pake 官方命令行打包演示画面
Pake 官方 README 演示 GIF 的打包完成画面;终端版本、路径和桌面图标属于演示录制时点,不代表当前版本。来源:https://raw.githubusercontent.com/tw93/static/main/pake/pake1.gif

桌面感来自几处具体选择

  • 窗口外观:--width、--height、最小尺寸和缩放决定内容可读性。--hide-title-bar 只用于 macOS,Windows/Linux 的无边框入口是 --hide-window-decorations。
  • 托盘与关闭:--show-system-tray、--start-to-tray 与 --hide-on-close 控制常驻方式。需要退出应用时,要分清关闭窗口和结束进程。
  • 页面跳转:--safe-domain 和 --internal-url-regex 可控制哪些域名或路径留在应用内,适合处理多域登录回调。强制所有链接内开则可能改变外部网页的打开习惯。
  • 页面能力:摄像头、麦克风、拖放和代理按网站实际需要启用;包装一个阅读页面,不必把全部权限打开。

可以按这几组用途核对参数:先看网页是否可用,再决定窗口、导航与系统集成。尤其是 SSO 回调和站外链接,应测试完整流程,不能只检查首页。

跨平台输出,要看包格式和工具链

macOS 默认生成 DMG,也可用 --targets app 生成便于测试的 .app;--targets universal 对应 Intel 与 Apple Silicon 通用包。Windows 可选 x64 或 arm64,Linux 有 deb、rpm、AppImage 等格式,但跨架构仍需相应依赖。

当前 Windows CLI 还提供 --windows-toolchain gnu,适用于已有 MinGW/MSYS2 而没有 MSVC 构建工具的环境,只支持 x64。GNU 路线的裸程序还需要 WebView2Loader.dll 放在旁边,分发时不能只复制 exe。默认 MSVC 路线与它不是相同依赖。

项目 README 的“小于 10M”和与 Electron 的体积比较是项目宣传口径,不是本文基准。系统 WebView 减少了随包携带完整浏览器运行时的路径,实际体积与运行开销仍受平台、网页和资源影响。

程序许可与网站授权,分别确认

Pake 自身采用 GPLv3,LICENSE-EXCEPTION 为标准构建流程生成的目标应用提供 Output Exception:其中的 Pake 部分不会仅因被包含,就让整个输出应用自动受 GPLv3 约束。修改和分发 Pake 本身不在这一豁免范围。

包装的网页、名称、图标和其他内容还有各自授权。--incognito 限制本地浏览状态持久化,不会让网站停止收到请求;忽略证书错误也会降低 TLS 校验,不能作为正常公开站点的默认设置。

修改网页壳和系统行为时可查看 src-tauri/ 与 CLI 文档;只调整窗口和目标网址时,先使用已有参数。记录 Pake 版本、构建系统、架构和配置,后续才能重复生成并判断升级变化。

  • 项目仓库:https://github.com/tw93/Pake
  • CLI 参数与平台条件:https://github.com/tw93/Pake/blob/main/docs/cli-usage.md
  • 在线构建:https://github.com/tw93/Pake/blob/main/docs/github-actions-usage.md
  • 输出许可例外:https://github.com/tw93/Pake/blob/main/LICENSE-EXCEPTION
Pake | 开源网页桌面化工具,一键生成轻量桌面应用 - 杂货喵
Pake | 开源网页桌面化工具,一键生成轻量桌面应用
此内容为免费资源,请登录后查看
M币0
发布平台GitHub
编码语言Rust
运行方式CLI
项目版本V3.15.6
开源许可GPLv3
支持系统macOS/Windows/Linux
免费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容