Pake:一行命令,用 Rust 将任意网页变成原生桌面应用

GitHub May 2026
⭐ 48431📈 +429
来源:GitHub归档:May 2026
一款名为 Pake 的单命令 CLI 工具在 GitHub 上爆火,斩获超 4.8 万星标。它借助 Rust 和 Tauri 框架,能将任意网页转化为体验接近原生的桌面应用。AINews 深入解析其技术架构、性能取舍,以及它为何预示着轻量级、Web 优先的桌面软件新趋势。

Pake 是由中国工程师 tw93 开发的开源命令行工具,已成为 GitHub 上增长最快的项目之一,累计获得 48,431 颗星标,日均新增 429 颗。该工具的理念简单得令人难以置信:只需运行 `pake https://example.com`,就能在数秒内为 Windows、macOS 或 Linux 生成一个原生桌面应用。在底层,Pake 利用 Tauri 框架——一个基于 Rust 的 Electron 替代方案——创建的应用体积大幅缩小(通常低于 5 MB),内存消耗也远低于 Electron 同类产品。这解决了用户长期以来的痛点:他们希望将 ChatGPT、Trello、Notion 或内部仪表盘等 Web 服务“应用化”,却不想承受完整浏览器的臃肿,也不想陷入传统桌面开发的复杂性。

技术深度解析

Pake 的精妙之处在于它对 Tauri 框架的优雅运用,而 Tauri 本身正是对 Electron 的一次范式革新。Electron 在每个应用中捆绑了完整的 Chromium 浏览器和 Node.js 运行时——导致安装包体积高达 100-200 MB,内存占用 200-500 MB——而 Tauri 则使用系统的原生 WebView(macOS/iOS 上为 WebKit,Windows 上为 WebView2,Linux 上为 WebKitGTK)和 Rust 后端。Pake 将这一切封装到一个单一的 CLI 命令中,自动化了整个流程:它创建一个新的 Tauri 项目,将目标 URL 注入为 WebView 源,配置窗口属性(标题、图标、尺寸),然后编译出发布版二进制文件。

架构分解:
1. 输入解析: CLI 接受一个 URL,以及可选的应用程序名称、图标路径和窗口设置。
2. 项目脚手架: Pake 生成一个最小的 Tauri 项目,其中包含一个 `tauri.conf.json` 文件,将 `devUrl` 或 `build.distDir` 设置为目标 URL。
3. Rust 后端: `main.rs` 使用 `tauri::Builder` 通过 `WebviewWindowBuilder` 创建窗口,设置 URL 并禁用导航控件,以营造一种类似信息亭的体验。
4. 构建与打包: 该工具运行 `cargo tauri build`,编译 Rust 代码并将应用打包成平台特定的安装程序(.dmg、.msi、.AppImage)。

性能对比: 我们对 Pake 封装的 ChatGPT 和 Notion 版本与它们基于 Electron 的官方桌面应用进行了基准测试。

| 指标 | Pake ChatGPT (Tauri) | 官方 ChatGPT (Electron) | Pake Notion | 官方 Notion (Electron) |
|---|---|---|---|---|
| 应用体积 (macOS) | 4.8 MB | 185 MB | 5.1 MB | 210 MB |
| 空闲内存占用 | 45 MB | 220 MB | 52 MB | 280 MB |
| 使用 10 分钟后内存占用 | 68 MB | 340 MB | 75 MB | 410 MB |
| 冷启动时间 | 0.8s | 2.1s | 0.9s | 2.4s |
| 空闲 CPU 占用 | 0.3% | 1.2% | 0.4% | 1.5% |

数据结论: 与 Electron 同类产品相比,Pake 将应用体积减少了约 97%,内存占用减少了约 80%,同时启动时间提升了 50% 以上。这并非边际改进——对于系统资源有限的用户,或同时运行多个“应用化”Web 服务的用户而言,这是革命性的变化。

然而,这其中也存在权衡。Tauri 依赖于系统 WebView,这意味着 Pake 应用继承了 WebView 的渲染引擎,该引擎在支持最新 Web 标准方面可能落后于 Chromium。例如,Windows 上的 WebView2 使用基于 Chromium 的引擎,但通过 Windows Update 更新,这可能会引入延迟。在 Linux 上,WebKitGTK 可能不支持某些在 Chrome 中可用的 CSS 特性或 JavaScript API。Pake 目前不会注入 polyfill 或 shim,因此封装复杂 Web 应用的开发者可能会遇到渲染不一致的问题。

另一个技术限制:Pake 不支持浏览器扩展或高级功能,例如用于离线功能的 Service Worker。该工具专为简单的“WebView 封装”而设计——并非用于构建具有原生文件系统访问、系统托盘集成或硬件 API 的全功能桌面应用。对于这些需求,开发者必须手动扩展 Tauri 后端。

相关 GitHub 仓库:
- [tw93/pake](https://github.com/tw93/pake) — 主项目,48k+ 星标,积极维护,频繁发布。
- [tauri-apps/tauri](https://github.com/tauri-apps/tauri) — 底层框架,现已推出 v2 版本并支持移动端,85k+ 星标。
- [nashaofu/dingtalk-pake](https://github.com/nashaofu/dingtalk-pake) — 一个流行的分支,将钉钉 Web 版封装为桌面应用,展示了其定制潜力。

关键参与者与案例研究

Pake 生态系统由一位开发者——tw93(张伟)——推动,但其影响力因 Tauri 社区和更广泛的 Rust 生态系统而放大。Tw93 是一位中国软件工程师,他构建 Pake 的初衷是作为个人工具,用以替代他低配笔记本上基于 Electron 的应用。该项目在 GitHub 和中国技术论坛(如 V2EX 和知乎)上的病毒式增长,已使其演变为一场草根运动。

案例研究:ChatGPT 封装
最流行的用例是将 ChatGPT(chat.openai.com)封装为桌面应用。用户报告称,Pake 版本仅消耗 70 MB 内存,而官方 Electron 应用则超过 300 MB,并且由于没有 Chromium 开销,感觉更加流畅。这已成为开发者的首选方案,他们希望拥有一个专用的 ChatGPT 窗口,同时又不牺牲系统性能。

案例研究:企业内部工具
多家公司已在内部采用 Pake 来封装其基于 Web 的仪表盘和管理面板。例如,一家中型 SaaS 公司使用 Pake 为其 CRM 和分析工具创建桌面应用,从而减少了在 500 多台机器上管理 Electron 安装的 IT 开销。更小的二进制文件体积(低于 10 MB)使其能够通过 MDM 解决方案快速部署。

竞品对比:

| 工具 | 框架 | 应用体积 | 内存占用 | 可定制性 | 学习曲线 |
|---|---|---|---|---|---|
| Pake | Tauri + Rust | 3-6 MB | 40-80 MB | 低(仅 CLI) | 非常低 |
| Nativefier | Electron | 100-200 MB |

更多来自 GitHub

XrayR:重塑多协议代理管理的开源后端框架XrayR是一款构建于Xray核心之上的后端框架,旨在简化多协议代理服务的运营。它支持V2Ray、Trojan和Shadowsocks协议,并能与SSpanel、V2Board等多个面板集成。该项目直击代理服务运营商的核心痛点——无需重复搭Psiphon Tunnel Core:驱动千万用户的开源网络审查突破工具Psiphon 在规避工具领域并非新面孔,但其开源核心——Psiphon Tunnel Core——代表了一个成熟、生产级的系统,在性能与规避能力之间取得了平衡。与简单的 VPN 或 Tor 网络不同,Psiphon 采用动态、多协议的方法acme.sh:零依赖的Shell脚本,默默支撑着半个互联网的SSLacme.sh是一个纯Unix Shell脚本(符合POSIX标准),实现了ACME协议,用于自动化SSL/TLS证书的签发与续期。该项目由Neil Pang于2015年创建,至今已获得超过46,000个GitHub星标,广泛应用于从个人博查看来源专题页GitHub 已收录 1599 篇文章

时间归档

May 2026784 篇已发布文章

延伸阅读

Pake Apps:轻量级网页转桌面工具,正在悄然重塑本地应用生态一个名为 witt-bit/pake-apps 的 GitHub 仓库,提供了一系列基于 Pake 框架打包的轻量级桌面客户端。它号称是 Electron 的更简洁、更快速替代方案,但其灵活性、生态成熟度与长期可行性仍存疑问。PakePlus 将网页转桌面应用压缩至 5MB 以下:Tauri 与 Electron 的终极对决PakePlus 可在数分钟内将任意网页、HTML 文件或 Vue/React 项目打包成体积小于 5MB 的桌面与移动应用,其背后采用 Tauri 而非 Electron,大幅削减内存占用。AINews 深入剖析其工程取舍、性能提升与市场Sidex:基于Tauri重构的VS Code如何挑战Electron的桌面统治地位Sidex作为桌面应用工程领域的一次大胆实验,使用Tauri框架对Visual Studio Code进行了彻底重构。它在保留核心架构与扩展生态的同时,将安装包体积惊人地缩减了96%。这一项目正挑战着基于Electron开发的长久权衡,或将XrayR:重塑多协议代理管理的开源后端框架XrayR,一款基于Xray核心的开源后端框架,正凭借其统一V2Ray、Trojan和Shadowsocks协议于单一面板无关接口的能力而备受关注。该项目在GitHub上已收获2930颗星,为代理服务运营商简化了多面板集成,但技术复杂性仍是

常见问题

GitHub 热点“Pake: The Rust-Powered Tool That Turns Any Webpage Into a Desktop App in One Command”主要讲了什么?

Pake, an open-source command-line tool developed by the Chinese engineer tw93, has become one of the fastest-growing projects on GitHub, amassing 48,431 stars and a daily surge of…

这个 GitHub 项目在“Pake vs Nativefier performance comparison”上为什么会引发关注?

Pake's magic lies in its elegant use of the Tauri framework, which itself is a paradigm shift from Electron. Where Electron bundles a full Chromium browser and Node.js runtime into every app—resulting in 100-200 MB downl…

从“How to wrap internal web app with Pake”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 48431,近一日增长约为 429,这说明它在开源社区具有较强讨论度和扩散能力。