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 应用的快速桌面化,无需任何前端开发经验。