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

OpenPilot获大众MQB平台“救生索”:J533线束项目深度解析hardybm/comma-j533-harness代码库代表了一项聚焦于社区的、旨在解决特定硬件兼容性问题的努力:将comma.ai的openpilot系统连接到基于大众MQB平台打造的车辆上。MQB平台广泛应用于高尔夫、帕萨特和途观等车超越模仿:开源强化学习如何解锁PM01人形机器人开源机器人社区迎来新焦点:'Beyond Minic'仓库(chasefirefly03/enginai_pm01_beyondminic)将宇树科技的强化学习框架Unitree RL Lab移植至众擎PM01人形机器人。该项目直击一个显著Pear Desktop:悄然引爆GitHub的开源音乐播放器扩展,一夜狂揽3.2万星Pear Desktop是托管在GitHub上pear-devs组织下的一个开源项目,近期经历爆发式增长,星标数达到31,949颗,日增+323。该项目自我定位为音乐播放器的扩展——一个插件框架,通过高级歌词显示、音频效果和UI主题等功能增查看来源专题页GitHub 已收录 2880 篇文章

时间归档

May 20263028 篇已发布文章

延伸阅读

Telegram-Drive:把你的聊天软件变成无限加密云盘Telegram-Drive 是一款开源桌面应用,巧妙借用 Telegram 的基础设施,将其改造为个人加密云存储。基于 Tauri(Rust + React)构建,它承诺提供无限存储空间与端到端加密,直接挑战 Google Drive 和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开发的长久权衡,或将

常见问题

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,这说明它在开源社区具有较强讨论度和扩散能力。