Pake:一行命令把任意网页变成桌面 App,比 Electron 小 20 倍

Pake:一行命令把任意网页变成桌面 App,比 Electron 小 20 倍

一、你是不是也这么干过?

打开 ChatGPT 想用一下,先开浏览器,再开一个 tab;想听 YouTube Music,开浏览器;想读微信公众号,开浏览器;想刷小红书,开浏览器……

你的任务栏上,Chrome 永远挂着十几个 tab,每个 tab 都在抢内存、抢焦点、抢 Cookie 状态。打开 Chrome 任务管理器一看:

Renderer: 1.2 GB
GPU Process: 380 MB
标签页 × 24

更让人抓狂的是,有些网页没有原生客户端 —— 你想把它固定到 Dock 图标上一键启动?做不到。你想脱离浏览器专注用某一个网站?做不到。

如果我告诉你,只要一行命令,就能把任意网页变成一个不到 5MB 的独立桌面 App,像原生 App 一样启动、像原生 App 一样常驻 Dock、还能去掉广告、自定义样式呢?

今天 GitHub Trending 第 2 名,正是干这件事的 ——tw93/Pake,50k+ stars,今天单日新增 2,546 stars

二、项目背景:为什么 Electron 不够好?

在聊 Pake 之前,先说一个老问题:怎么把网页变成桌面 App?

主流方案一直是 Electron。VS Code、Slack、Notion、Discord、WhatsApp…… 半个互联网的桌面端都是它。但 Electron 有三个绕不开的毛病:

  1. 包体积巨大:一个最简单的 Electron Hello World,打包出来就 150MB+。VS Code 的安装包 300MB 是基操。
  2. 内存占用高:每个 Electron 应用都要打包一套 Chromium 运行时。开个 Slack 跟开个 Chrome 没区别。
  3. 启动慢:因为要启动一个完整的浏览器内核,” 双击图标 → 看到内容” 通常要等 3-5 秒。

这是因为 Electron 的本质是 “Node.js + Chromium + Web 前端”。它把整个浏览器塞进你的应用里。

Tauri 的出现就是为了解决这个问题。它用 操作系统原生的 WebView(macOS 上是 WKWebView、Windows 上是 WebView2、Linux 上是 WebKitGTK)替代 Chromium,运行时只剩薄薄一层 Rust 内核。结果是:

  • 安装包 5MB 左右
  • 内存占用是 Electron 的 1/3 到 1/2
  • 启动速度接近原生 App

Pake 就是基于 Tauri 的” 成品工具”—— 你不用懂 Rust,不用懂 Tauri,一条命令就把网页变成桌面 App。

三、核心功能详解

3.1 一行命令打包

1
2
3
4
5
# 安装 CLI
pnpm install -g pake-cli

# 把 GitHub 变成桌面 App
pake https://github.com --name GitHub

这条命令会自动:

  • 抓取网站 icon
  • 拉取网页内容
  • 用 Tauri 编译成原生应用
  • 输出 .dmg(macOS)/ .msi(Windows)/ .deb(Linux)

你什么都不用做,等编译完双击装上就行。

3.2 包体积只有~5MB,比 Electron 小 20 倍

对比一下同样把 ChatGPT 变成桌面 App 的方案:

方案 安装包大小 内存占用(空闲) 启动时间
Electron + Web 封装 ~150MB ~250MB 3-5 秒
Pake(Tauri) ~5MB ~60MB < 1 秒

这不是优化,是代际差异。底层运行时从 Chromium 换成系统原生 WebView,体积和性能自然断崖式下降。

3.3 丰富的快捷键和原生体验

Pake 不只是套个壳,它给每个打包出来的 App 都内置了一套贴近原生的快捷键:

Mac Windows/Linux 功能
⌘ + [ Ctrl + ← 返回上一页
⌘ + ] Ctrl + → 前进下一页
⌘ + ↑ / ↓ Ctrl + ↑ / ↓ 一键滚到顶 / 底
⌘ + r Ctrl + r 刷新
⌘ + w Ctrl + w 隐藏窗口(不是退出)
⌘ + L Ctrl + L 复制当前页面 URL
⌘ + ⇧ + ⌥ + V Ctrl + Shift + V 粘贴并匹配样式
⌘ + ⌥ + I Ctrl + Shift + I 打开 DevTools(调试用)
⌘ + ⇧ + ⌫ Ctrl + Shift + Del 清缓存并重启

特别要说一句 ⌘ + w 隐藏而非退出 —— 这是 macOS 原生 App 的标准行为,浏览器不是这样,但所有原生 Mac App 都这样。Pake 帮你把这个细节做到位了。

3.4 沉浸式窗口 + 样式自定义

Pake 默认是沉浸式标题栏(macOS 上直接吃掉红绿黄三颗按钮的横条),整个窗口都是网页内容,视觉非常干净。

如果你想自定义更狠,可以:

1
2
3
4
5
6
pake https://weekly.tw93.fun \
--name Weekly \
--icon https://cdn.tw93.fun/pake/weekly.icns \
--width 1200 \
--height 800 \
--hide-title-bar

还可以注入自定义 CSS、注入 JS、屏蔽广告 —— 这是 Pake 文档里的”Advanced Usage”。

3.5 12+ 开箱即用的现成 App

Pake 官方直接提供了 12+ 常用 App 的预编译包,下载即用:

  • 🇨🇳 微信读书、小红书、知乎
  • 🤖 ChatGPT、Grok、DeepSeek、Gemini
  • 🐦 Twitter (X)
  • 🎵 YouTube、YouTube Music、荔枝、ProgramMusic
  • 🎨 Excalidraw

每个 App 都做了 macOS / Windows / Linux 三端适配。这是 Pake 的” 流量入口”—— 大多数人用 Pake 都是先装一个 ChatGPT App 开始,然后一发不可收拾。

3.6 完全本地、隐私安全

跟 Electron 不同,Tauri 的 Rust 后端和前端 WebView 是隔离的:

  • 没有远程 CDN 注入
  • 没有匿名遥测
  • 网页的所有 JS 沙箱化运行
  • 你想审计源码,直接 clone 仓库看 Rust 代码

Pake 的作者 tw93(淘气的小五)是个国内独立开发者,在前端社区很有名,口碑极好。

四、实战示例:5 分钟把你的 ChatGPT 变成桌面 App

步骤 1:装环境(一次性)

macOS:

1
2
3
4
5
6
7
8
9
# 装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 装 Node.js(建议 LTS,用 nvm 管理)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
nvm install --lts

# 装 pnpm
npm install -g pnpm

Windows:装 Rust + Node.js LTS + Microsoft Visual Studio C++ Build Tools(勾选” 使用 C++ 的桌面开发” 工作负载)。

Linux:

1
sudo apt install -y libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev

步骤 2:装 Pake CLI

1
pnpm install -g pake-cli

步骤 3:打包你的第一个 App

1
pake https://chat.openai.com --name ChatGPT

第一次跑会下载 Tauri 依赖、编译 Rust 核心,大约 3-5 分钟。之后会输出:

  • macOS: ChatGPT_0.1.0_aarch64.dmg (Apple Silicon)
  • macOS: ChatGPT_0.1.0_x64.dmg (Intel)
  • Windows: ChatGPT_0.1.0_x64.msi
  • Linux: ChatGPT_0.1.0_amd64.deb

双击装上,Dock 上多一个 ChatGPT 图标,点开就是一个没有浏览器外壳、没有 tab、没有地址栏的纯净 ChatGPT。

步骤 4:批量打包你的常用站点

我个人的 ~/.pake-batch.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
set -e

# 生产力
pake https://github.com --name GitHub
pake https://app.notion.com --name Notion
pake https://calendar.google.com --name Calendar
pake https://web.telegram.org/a --name Telegram

# AI
pake https://chat.openai.com --name ChatGPT
pake https://gemini.google.com --name Gemini
pake https://claude.ai --name Claude

# 阅读
pake https://weread.qq.com --name WeRead
pake https://www.xiaohongshu.com --name XiaohongShu

echo "Done!"

跑一遍,下班回来所有 App 都装好了。

步骤 5:高级玩法 —— 去掉广告

把网页变成 App 之前,Pake 允许你注入 CSS。把这段放进 inject.css

1
2
3
4
5
6
7
8
/* 屏蔽 YouTube Shorts 按钮 */
ytd-reel-shelf-renderer { display: none !important; }

/* 屏蔽 Twitter 推广推文 */
[data-testid="placementTracking"] { display: none !important; }

/* 屏蔽知乎登录弹窗 */
.Modal--signIn { display: none !important; }

打包命令:

1
2
3
pake https://www.youtube.com \
--name YouTube \
--inject ./inject.css

得到一个去广告的 YouTube 桌面客户端

五、与同类项目的差异

把 Pake 放在” 网页 → 桌面 App” 这条赛道里看:

项目 技术栈 包体积 上手难度 维护状态
Electron Chromium + Node.js ~150MB 中(要写 JS) 主流
Neutralinojs 系统 WebView ~5MB 中(要写 JS) 小众
WebView2 (微软) Windows Only ~2MB 高(要写 C#) 微软自家
Pake Tauri (Rust + 系统 WebView) ~5MB 极简(一行命令) ⭐ 50k stars,活跃
nativefier(已弃坑) Electron ~150MB 简单 停更

Pake 的差异化非常清楚:门槛最低的 Tauri 封装

  • Tauri 是底层技术,Pake 是上层产品。
  • 如果你想自己写功能(菜单、托盘、文件系统访问),用 Tauri 直接做。
  • 如果你只想把网页变 App,用 Pake,啥都不用学

六、适用场景与限制

适合用 Pake 的人

  • ✅ 想把高频使用的网页变成桌面 App(ChatGPT、Notion、Gemini、YouTube Music)
  • ✅ 不想装一堆臃肿的官方客户端(比如某些 App 没有 Linux 版,网页反而最干净)
  • ✅ 受够了 Chrome 几百个 tab,想把工作场景分窗口
  • ✅ 想自己做一个只服务于自己的小工具(把内部 BI 仪表盘打包成 App)

目前不适合的场景

  • ❌ 需要深度系统集成的场景(文件拖拽、系统通知、托盘菜单、自动启动)—— 这些 Tauri 原生能做,但 Pake CLI 没暴露简单开关
  • ❌ 想把复杂的 SPA 应用(带 SSR、复杂状态管理)打包 —— 这种建议直接用 Tauri 自己开发
  • ❌ macOS App Store 上架 —— Pake 用的 GPL-3.0 + “Pake Output Exception” 许可,你自己打包出来的 App 可以商用(包括闭源),但 Pake 源码本身需要保留开源

一个小坑

如果你打包的网页重度依赖 Service Worker 或 Web Bluetooth / WebUSB 等 Web API,Pake 包装出来可能表现不一致。这是 Tauri/WebView 跟 Chrome 的固有差异,不是 Pake 的 bug。

七、总结

Pake 不是一个” 性感” 的项目 —— 它不训练模型,不生成视频,不重新定义 AI。但它解决了几乎每个开发者都遇到过的痛点

“我能不能把这个网页固定到 Dock 上,一键启动,背景跑着不占资源?”

答案是:能,一条命令

如果今天你要装一个工具,强烈建议先把你的 ChatGPT 打包成本地 App:

1
2
pnpm install -g pake-cli
pake https://chat.openai.com --name ChatGPT

你会发现,从此以后打开 ChatGPT 不再是” 开 Chrome → 翻 5 个 tab → 找到 ChatGPT tab”,而是 点 Dock 图标 → 立即进入

这 5MB 的安装包,可能是你今天装过的最有 ROI 的工具


GitHub: tw93/Pake
License: GPL-3.0 + Pake Output Exception(你打包出来的 App 自由商用)
技术栈: Rust + Tauri + 系统原生 WebView
今日 Trending 排名: 第 2 名,单日新增 2,546 stars(截至 2026-06-21)