文章首发于/公/众/号:阿拉平平
事情是这样的,最近我搭建了些自托管的工具,其中不乏一些会高频使用的。对于常用的工具,我其实更习惯用客户端去打开,那有没有什么工具能够将网页快速打包成桌面应用呢?
1. 项目介绍
Pake[1] 是一个基于 Rust 和 Tauri 开发的开源工具,可以将网页打包成轻量级桌面应用,支持 macOS、Windows 和 Linux。
2. 下载安装
Pake 的安装稍微有些复杂(下面会介绍)。如果你没什么特殊需求的话,推荐直接使用 GitHub Actions,具体的方法可以参考官方文档[2]。
这里介绍下 Windows 11 上 CLI 工具的安装方法。以 3.4.3 版本的 CLI 为例,需要满足以下前置条件:
- Node.js:版本 ≥ 22(例如 22.11.0)
- Rust ≥1.78.0(如缺失将自动安装)
- Windows 10 SDK (10.0.19041.0) 和 Visual Studio Build Tools 2022 (≥17.2)
Node.js 和 Rust 根据提示安装即可。需要注意的是,在安装 Visual Studio Build Tools 时,这里要勾选「使用 C++ 的桌面开发」:

前置工作都完成后,运行以下命令安装 Pake:
npm install -g pake-cli
安装好后,查看下 pake 的版本:
pake --version
3.4.3
3. 使用说明
使用示例:
# 基础用法 - 自动获取网站图标
pake https://github.com --name GitHub
# 高级用法:自定义选项
pake https://weekly.tw93.fun --name Weekly --icon https://cdn.tw93.fun/pake/weekly.icns --width 1200 --height 800 --hide-title-bar
用法如下:
pake [url] [options]
其中 url 是必填项,常用的选项有:
| 选项 | 描述 | 示例 |
|---|---|---|
| --name | 应用程序名称 | --name "Weekly" |
| --icon | 自定义图标(可选,自动获取网站图标) | --icon https://cdn.tw93.fun/pake/weekly.icns |
| --width | 窗口宽度(默认:1200px) | --width 1400 |
| --height | 窗口高度(默认:780px) | --height 900 |
| --hide-title-bar | 沉浸式标题栏(仅macOS) | --hide-title-bar |
| --debug | 启用开发者工具 | --debug |
我用 Pake 打包了几个之前搭建的自托管工具,让我们看看效果如何。
3.1 Pake x ezBookkeeping
ezBookkeeping 是一个自托管的个人记账应用,是我日常都会使用的工具。所以先拿它试下水,运行效果如下:

看起来还不错,我简单测了下,添加、删除交易记录都没有问题。
3.2 Pake x Arya
Arya 是一个在线 Markdown 编辑器。我也用 Pake 打了个包,测试下来效果也不错:

文本的书写、编辑、图表的渲染以及 PPT 预览功能都可以正常使用。
3.3 Pake x ConvertX
ConvertX 是一个很强大的文件格式转换工具 ,如果能做成桌面应用,平时使用还是挺方便的。但是实测发现,部分功能无法使用:

我看了下,文件的上传和转换没问题,但最重要的预览和下载用不了,那这个客户端就有点鸡肋了。
4. 写在最后
本文介绍了 Pake CLI 的安装和使用方法。通过简单的命令,就可以将网页快速打包成轻量级的桌面应用。相较于传统的 Electron 打包,Pake 打好的包体积要小将近 20 倍,大小在 5M 左右。
但实测也发现,用 Pake 打包后的应用可能会有不符合预期的情况,比如点击预览/下载按钮无反应、点击链接后跳转到新的网页等等。后来我查了下 Issues,有提及很多问题可以通过注入 js 脚本来解决,但这无疑对用户的开发能力提出了要求。
References
[1] Pake:https://github.com/tw93/Pake
[2] 官方文档:http://github.com/tw93/Pake/blob/main/docs/github-actions-usage_CN.md