Pake生成的桌面客户端:Mac、Windows、Linux三平台的应用库与创建界面,图标网格里是一个个打包好的网站

我一直想给「只用网页版」的服务做个桌面端。理由很朴素:浏览器标签页越开越多,常用的那几个被淹没在里面;网页版没有全局快捷键,按不出我要的窗口;关掉浏览器,那些页面就没了。

试过Electron方案。一个壳子装下来一百多兆,启动两三秒,内存吃掉几百兆,为了一张网页,代价太大。后来朋友丢来一行命令:pake 加一个网址,再给个名字。二十分钟后,一个三点五兆的安装包躺在文件夹里。

Pake用的是Tauri,Rust写的外壳,调用系统自带的WebView,而不是塞一整个Chromium进去。这是体积差距的根源:Electron每个应用都自带浏览器内核,Tauri借用操作系统已经装好的那个。官网原话是安装包比Electron小将近二十倍,通常不到十兆。

它做的事不止包一层。打出来的窗口可以隐藏标题栏做沉浸式;能设全局快捷键唤出;能拖拽文件进去;能改窗口尺寸和位置;还能注入自定义CSS和JS,把网页上的广告、推荐位、登录弹窗去掉。这几个能力加起来,一个网页就真的变成了一个应用。

作者tw93是国人,项目在GitHub上六万两千多星。它不只给开发者用——pake.run 上有一个在线构建入口,把网址填进去,选个图标,GitHub Actions在云端把包打好,直接下载安装文件。不用装Rust,不用配环境。

Pake命令行:npm装好之后,pake加一个网址就能直接生成安装包

官方还维护了一批现成的包:ChatGPT、DeepSeek、Gemini、Notion、微信读书、小红书、YouTube Music、Excalidraw、Figma。这些是别人打好的,直接装。我看了一下体积,基本都在三点五兆上下。

我自己打了三个:一个给公司内部的工单系统,一个给常看的行情页,一个给某个只有网页版的笔记服务。第三个用得最久,因为它现在有全局快捷键,按一下就出来,写完按Esc藏回去。

该说的不足。Tauri依赖系统WebView,Windows上走WebView2,Linux上走WebKitGTK,同一张网页在不同系统上渲染有细微差别;依赖特定浏览器API的网页会水土不服;打iOS和Android不是它的强项;自己构建要先装Rust,第一次编译等得久。

但它解决的是一个很实际的心态问题:以前「这个服务没有客户端」只能忍,现在可以花两分钟自己造一个。当造客户端的成本降到一条命令,你对软件的期待就变了。