tw93/Pake · 上手攻略
- 仓库:tw93/Pake
- 链接:https://github.com/tw93/Pake
- 分类:engineering
- 作者:Tom
- 更新:2026-07-06
这是什么
Pake 是一个用 Rust + Tauri 构建的网页打包工具,最核心的功能只有一条:把任意网页转换为一个本地桌面应用,只需一条命令。生成的安装包体积约为同功能 Electron 应用的 1/20(通常在 10 MB 以内),运行速度和内存占用也远低于 Electron。macOS、Windows、Linux 全平台支持。
作者 tw93(aka 走了)将它定位为"网页桌面化"工具链:任何有 URL 的产品——不论是 Web 应用、资讯站还是内部工具——都可以被"包装"成一个独立的桌面程序,获得原生窗口、系统托盘、快捷键等桌面级体验,而无需重写任何前端代码。
解决什么问题
| 痛点 | Pake 的解法 |
|---|---|
| 很多工具只有 Web 版,没有桌面客户端 | 一行命令打包成独立 App |
| Electron 打包体积大(动辄 100 MB+),内存占用高 | Tauri 基于 Chromium + Rust,体积小得多 |
| 想要桌面快捷方式/系统托盘/快捷键,但没有开发资源 | Pake 内置支持,CLI 一行开启 |
| 想把某个网站"占为己有",长期固定使用 | 打包后就是一个本地程序,体验接近原生 |
| 想给网页去广告/定制 UI | 支持 style injection 和沉浸模式 |
快速安装
方式一:直接下载现成包(零门槛)
不需要装任何开发环境,直接去 Releases 页面 下载对应平台的安装包:
| 应用 | macOS (.dmg) | Windows (.msi) | Linux (.deb) |
|---|---|---|---|
| WeRead | 下载 | 下载 | 下载 |
| Twitter/X | 下载 | 下载 | 下载 |
| Grok | 下载 | 下载 | 下载 |
| DeepSeek | 下载 | 下载 | 下载 |
| ChatGPT | 下载 | 下载 | 下载 |
| Gemini | 下载 | 下载 | 下载 |
| YouTube Music | 下载 | 下载 | 下载 |
| Excalidraw | 下载 | 下载 | 下载 |
Releases 页面还有更多:YouTube、小红书、荔枝播客、程序音乐等十几款常用应用,均可直接下载。
方式二:在线构建(无需本地环境)
如果想打包一个不在列表里的网站,且本地没有 Rust/Node 环境,可以用 GitHub Actions 在线构建。文档见 docs/github-actions-usage.md。
方式三:CLI 本地打包(开发者)
环境要求: - Node.js ≥ 22.0(官方推荐;≥ 18.0 也可能工作) - Rust ≥ 1.85.0(首次打包会自动安装,如未安装需手动安装)
安装 CLI:
# 推荐用 pnpm
pnpm install -g pake-cli
# 备选 npm
npm install -g pake-cli
基本用法:
# 最简打包,自动获取网站 favicon
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]
# 常用选项
--name <string> # 应用名称(必填)
--icon <path> # 自定义图标(可选,自动抓取 favicon)
--width <number> # 窗口宽度,默认 1200
--height <number> # 窗口高度,默认 780
--min-width <number> # 最小宽度
--min-height <number> # 最小高度
--zoom <number> # 初始缩放 50-200,默认 100
--hide-title-bar # macOS 沉浸式标题栏
--fullscreen # 启动时全屏
--maximize # 启动时最大化
--dark-mode # 强制暗色模式
--always-on-top # 窗口始终置顶
--enable-find # 启用页内搜索(Cmd/Ctrl+F)
--force-internal-navigation # 链接始终在 App 内打开,不跳外部浏览器
--activation-shortcut <key> # 全局激活快捷键,如 CmdOrControl+Shift+P
--debug # 打开开发者工具
--install # macOS:将打包的 .app 直接安装到 /Applications
# macOS 用 --install 直接装到 Applications
pake https://github.com --name "GitHub Desktop" --install
⚠️ 首次打包需要编译 Rust 依赖,耗时较长(约数分钟),后续打包会快很多,请耐心等待。
核心用法详解
典型使用场景
1. 把内部工具打包成本地 App 很多团队使用私有部署的 Web 工具(如某内部管理系统),没有桌面客户端。可以用 Pake 快速打包,团队成员安装后体验接近原生应用,有 Dock/任务栏图标、不依赖浏览器。
pake http://internal.corp.example.com --name "内部工单系统" --always-on-top
2. 给自己常用的网站建"桌面快捷方式" 比如把自己常用的 AI 产品、播客平台、文档工具打包成本地 App,开箱即用,且可以用快捷键快速呼出:
# 给 DeepSeek 打包,加入全局快捷键
pake https://chat.deepseek.com \
--name "DeepSeek" \
--activation-shortcut "CmdOrControl+Shift+D"
3. 打造免打扰"专注版"某网站
用 --hide-title-bar + --always-on-top 打造一个极简沉浸的阅读/写作环境:
pake https://reader.example.com \
--name "Reader" \
--hide-title-bar \
--always-on-top
快捷键一览
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 后退 | ⌘ + [ | Ctrl + ← |
| 前进 | ⌘ + ] | Ctrl + → |
| 回顶部 | ⌘ + ↑ | Ctrl + ↑ |
| 到底部 | ⌘ + ↓ | Ctrl + ↓ |
| 刷新 | ⌘ + r | Ctrl + r |
| 隐藏窗口(不退出) | ⌘ + w | Ctrl + w |
| 缩放 | ⌘ + +/-/0 | Ctrl + +/-/0 |
| 复制当前 URL | ⌘ + L | Ctrl + L |
| 开发者工具 | ⌘ + ⇧ + ⌥ + I | Ctrl + Shift + I |
| 清缓存并重启 | ⌘ + ⇧ + ⌫ | Ctrl + Shift + Del |
双击标题栏可切换全屏(macOS);macOS 还支持手势返回上一页、拖动标题栏移动窗口。
典型适用场景
- 个人效率工具:把常用 Web 应用(Notion、Linear、飞书等没有桌面版的)包装成本地 App
- 团队内部工具:私有部署的 Web 系统快速桌面客户端化
- 内容消费:将 YouTube、播客等打包成专注消费入口,无浏览器干扰
- 开发者工具:把某内部 Dashboard 或 API 测试工具打包给非技术同学使用
- 轻度游戏/工具类 Web 应用:如 Excalidraw(已有现成包)、某在线小游戏等
坑与注意
| 坑 | 说明 |
|---|---|
| 首次打包慢 | Rust 编译首次需要下载和编译大量依赖,耐心等待;建议保持 Rust 源在大陆地区的可用性 |
| Node 版本要求高 | 官方要求 ≥22.0,≥18 可能工作但不稳定,建议直接用 Node 22 LTS |
| macOS 签名问题 | 非苹果签名 App 首次运行会提示"无法验证开发者",需在系统设置中手动授权(设置 → 隐私与安全 → 仍要打开) |
| 沉浸模式(hide-title-bar)仅 macOS | Windows/Linux 不支持此参数,忽略即可 |
| GPL-3.0 许可 | Pake 本身是开源的,但你用 Pake 打包出来的应用是你自己的,不受 GPL 约束 |
| 网页本身不支持的功能 | Pake 无法给一个纯 HTML 页面"添加"它本身不支持的功能(如离线支持),它本质上还是一个包装器 |
| Windows DMG 格式注意 | Windows 用户应下载 .msi 或 .exe 安装包,不要下载 macOS 的 .dmg |
| 中文名称处理 | --name 推荐用英文;Windows/macOS 会保留空格和大小写,Linux 会自动转小写加连字符 |
与同类对比
| 工具 | 技术栈 | 体积 | 难度 | 特点 |
|---|---|---|---|---|
| Pake | Rust + Tauri | 极小(<10 MB) | ⭐ 极简 | 一行命令,全平台,零配置 |
| Electron | Node.js + Chromium | 大(100-300 MB) | ⭐⭐⭐ 需写代码 | 完全可控,适合复杂应用 |
| Neutralino.js | C++ + Chromium embedded | 中等 | ⭐⭐ | 轻量 Electron 替代,但生态不如 Tauri |
| Flutter Web | Dart | N/A | ⭐⭐⭐⭐ | 从头写应用,非打包现有网页 |
| Nativefier | Node.js + Electron | 大 | ⭐ 简单 | 最接近 Pake 的 Electron 方案,但体积更大 |
一句话总结:如果你的需求是"把某个网站快速变成桌面应用",Pake 是目前最高效的方案,体积、速度、易用性全面领先 Electron 方案。如果需要高度定制或离线功能,还是得上 Electron 或原生。
一句话推荐结论
把 Pake 看作网页的"桌面化快捷方式生成器"——一条命令,不到 10 MB,就能把任意网站变成 macOS/Windows/Linux 原生桌面 App,适合个人效率工具和轻量 Web 应用的快速桌面化,无需任何前端开发经验。