一行命令把任意网页变成桌面应用:Pake 完整指南
【免费下载链接】Pake🤱🏻 Turn any webpage into a desktop app with one command.项目地址: https://gitcode.com/GitHub_Trending/pa/Pake
Pake 是一个开源的命令行工具,能把任意网页一键打包成桌面应用,支持 macOS、Windows 和 Linux,产出的安装包通常不到 10MB,比 Electron 应用小近 20 倍。如果你经常用某个网页服务、想把它变成有独立图标和窗口的程序,这篇文章会带你从安装到打包跑通全流程。
Pake 网页转桌面应用的打包产物
跑完一条命令后,当前目录里会出现可以直接分发的安装包,各平台格式不同:
- macOS:默认产出
.dmg(磁盘镜像安装盘),打开后拖拽即可安装; - Windows:产出
.msi安装程序; - Linux:按发行版自适应——Debian/Ubuntu 生成
.deb加便携版AppImage,Fedora 等 RPM 系发行版生成.rpm加AppImage。
产物是一个独立的窗口程序:没有地址栏和标签页,只有目标页面本身,并且自带一套网页操作快捷键,开箱就能用:
| 快捷键 | 功能 |
|---|---|
| ⌘/Ctrl + R | 刷新页面 |
| ⌘/Ctrl + [ 或 ] | 返回 / 前进 |
| ⌘/Ctrl + W | 隐藏窗口(macOS 上不退出) |
| ⌘/Ctrl + − / = / 0 | 缩小 / 放大 / 重置缩放 |
| ⌘/Ctrl + L | 复制当前页面网址 |
| ⌘/Ctrl + Shift + H | 回到首页 |
| F11(Windows/Linux) | 切换原生全屏 |
完整的选项列表在 CLI 使用指南 里,本文只讲最常用的一批。
Pake CLI 安装步骤
环境要求不高:Node.js ≥20(推荐 22),Rust ≥1.85 缺失时 CLI 会提示自动安装。运行这条命令全局安装 Pake CLI,装完后终端里就有pake命令可用:
npm install -g pake-cli如果你不想全局安装,也可以临时用npx pake-cli代替后面的pake,功能相同。
一键打包方法与参数定制
基础打包只需要一条命令,它会自动抓取网站图标、完成编译并输出安装包:
pake https://example.com --name MyApp首次构建会比较慢,因为要初始化 Rust(Pake 基于 Tauri——一个轻量桌面应用框架,它调用系统自带的网页渲染组件,而不像 Electron 那样捆绑整套 Chromium)编译环境,之后的构建会快很多。
想调整窗口和外观,在命令后追加参数即可。下面这条命令把窗口设为 1400×900 并隐藏标题栏:
pake https://example.com --name MyApp --width 1400 --height 900 --hide-title-bar几个高频参数的默认值供你参考:--width默认 1200、--height默认 780、--icon不传时自动取网站图标并转成各平台格式(macOS 的.icns、Windows 的.ico、Linux 的.png)。
Pake 常用配置项速查
行为与权限类:
| 选项 | 作用 |
|---|---|
--fullscreen/--maximize | 启动时自动全屏 / 最大化 |
--dark-mode | 强制深色模式 |
--zoom 80 | 初始缩放 50–200 之间的整数 |
--show-system-tray | 显示系统托盘图标 |
--activation-shortcut CmdOrControl+Shift+P | 设置全局唤起快捷键 |
--enable-find | 启用 Cmd/Ctrl+F 页面查找 |
--force-internal-navigation | 所有链接都在应用内打开,不跳转外部浏览器 |
--incognito | 隐私模式,不保存 cookie 和本地存储 |
--camera/--microphone | macOS 上申请摄像头 / 麦克风权限 |
进阶玩法:
--inject ./style.css,./fix.js:把你写好的 CSS 或 JS 注入到页面,用来隐藏广告、改配色或加自定义快捷键,一段脚本可以复用到所有打包的应用;--config app.json:用声明式 JSON 代替拼参数,字段规范见 schema/pake.schema.json;--json:stdout 只输出一个机器可读的 JSON 结果,方便写脚本或交给 AI agent,契约说明在 llms.txt;- 更深层的样式改写和容器通信,参考 高级用法。
Pake 网页转桌面应用的适用场景
个人常用服务:ChatGPT、微信读书、YouTube Music、Twitter、Notion 这类高频网页,打包后就是一个独立程序,配合--activation-shortcut可以做全局唤起。官方 Release 页面上有现成的 WeRead、ChatGPT、DeepSeek、Grok 等构建包,可以直接下载体验,不需要自己打包。
团队内部工具和本地静态站:pake ./dist --name MyTool可以把构建产物目录直接打成桌面应用,适合分发内部系统、监控面板、API 文档。注意本地打包开箱支持 hash 路由,history 模式的单页应用暂不支持。
不想装命令行:在线构建。Fork 仓库后在 Actions 页面运行Build App With Pake CLI工作流,填好表单(参数与 CLI 相同)即可在 Artifacts 里下载安装包:首次约 10–15 分钟(建立缓存),之后约 5 分钟。详见 GitHub Actions 使用指南。
Pake 的局限与常见问题
- 它只是一个封装容器,不会增强页面本身的功能;依赖浏览器扩展的功能在打包后不可用;
- 个别站点的登录流程(尤其 Google 系)可能拒绝在嵌入式 WebView 中完成认证,可以尝试
--new-window或--multi-window,但不保证生效; - 沉浸式标题栏
--hide-title-bar仅对 macOS 有效;--hide-window-decorations仅对 Windows/Linux 有效,macOS 上会被忽略; - Linux 上
--dark-mode的最终效果取决于 WebKitGTK 与站点是否实现了prefers-color-scheme: dark; - 首次构建耗时明显长于后续构建;构建报错时先对照 常见问题 检查 Rust 版本和系统依赖。
协议方面,Pake 采用 GPL-3.0,并附有 Pake Output Exception:你用 Pake 打包出来的应用所有权归你,可自由使用和分发。
行动清单:四步开始
- 选一个你每天都开的网页地址,先确定它值得独立运行;
- 安装 CLI:
npm install -g pake-cli(环境要求 Node ≥20); - 运行
pake <你的网址> --name 应用名,等安装包在当前目录生成; - 安装运行一遍,再用
--width、--hide-title-bar、--activation-shortcut、--inject等参数按体验逐条微调,直到顺手为止。
【免费下载链接】Pake🤱🏻 Turn any webpage into a desktop app with one command.项目地址: https://gitcode.com/GitHub_Trending/pa/Pake
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考