2022 年 5 月 17 日,Gridea 发布了它的最后一个版本 v0.9.3。
此后,再也没有更新过。Issues 无人回复,PR 无人合并。一个曾经帮助 28,000 多位用户搭建了自己博客的工具,就这样安静地停在了那里。
我是那 28,000 人中的一个。
一个回不去的老朋友
Gridea 对我来说不只是一个工具。它是我接触独立博客的起点。
在它之前,我也试过其他方案。
Hugo 构建飞快,但 Go 模板语法让人头疼 —— 官方文档自己都承认"新用户最常犯的错误与上下文(the dot)有关"。一个 {{ . }} 的作用域问题能让你调试一下午,报错信息是令人困惑的 ZgotmplZ。
Hexo 生态丰富,中文教程遍地,但第一步就是装 Node.js + npm + Git。华为云社区有篇文章标题直接叫《Hexo 更新到 5.2.0 版本血泪踩坑史》。V2EX 上有人说"升级了一下 Node,出大问题了" —— 从 v12 升到 v16,Hexo 直接罢工。
Jekyll 更不用说了,Ruby 的版本地狱是出了名的,有人专门写了一篇《Ruby Versioning Hell with Jekyll》(Jekyll 的 Ruby 版本地狱)来吐槽 Bundler 和 Gem 的版本互锁。
这些都是优秀的工具,但它们有一个共同的问题:把运维的复杂度暴露给了只想写字的人。
Gridea 不一样。它是一个客户端。下载,打开,写,发布。不需要终端,不需要配环境,不需要知道 npm 是什么。对一个只想安静写点东西的人来说,这就是最好的方案。
直到它停更了。
知乎上有人写了好几篇《Gridea 远程连接失败与同步失败的问题汇总解决》。GitHub 上 Issue #400、#335、#976,全是同步失败的报告,有的讨论了几十条回复。Issue #1111 的标题是"希望作者可以重视客户端版本的开发工作",有用户写道:
“如果需要资金的来源,可以考虑在客户端增加一些收费的功能。我相信真心需要的人会为软件进行付费的。”
然而,这条留言没有收到回复。
Issue #755 里有人说:“实话实说,我打算撤了……”
到了 2025 年、2026 年,还有人在提 Issue,但已经不会有人回应了。
一个好的想法被放弃了,但它解决的那个问题并没有消失。
那个问题是什么
问题很简单:想写博客的人远比能搭博客的人多得多。
用 Hugo,你得学 Go 模板语法 —— 有篇文章叫《Hugo Probably Isn’t For You》(Hugo 可能不适合你),评价 Go 模板是 “yet another ad hoc programming language”(又一种临时拼凑的编程语言),不是 HTML,不是 JavaScript,是一种你在其他任何地方都用不到的东西。
用 Hexo,换一台电脑就意味着重新搭建整个环境。知乎上《使用 Hexo,如果换了电脑怎么更新博客?》这个问题长期活跃,因为 .gitignore 排除了 node_modules 和配置文件,换机后要重装所有依赖。有人尝试用 OneDrive 同步 Hexo 目录,结果一台设备的依赖变更导致另一台设备全线报错。
用 Jekyll,你得先搞定 Ruby 环境。一位开发者说:“As someone who has had to install the Ruby/Gem/Jekyll stack quite a few times, I know the pain."(作为一个装过好几次 Ruby/Gem/Jekyll 全家桶的人,我太懂那种痛了。)最后他用 Docker 来跑 Jekyll,只为了绕过版本冲突。
知乎上有人做过这样的总结:Hexo “没有网站后台、没有文章编辑器,所有的这些几乎都基于代码来设置和操作”,只适合"技术型、学霸型"用户。
但博客不应该只属于技术型、学霸型的人。
一个做产品经理的人想记录自己的思考,一个刚毕业的设计师想展示作品,一个全职妈妈想写育儿日记,一个退休老师想把几十年的教学心得整理出来——他们的表达欲望并不比任何程序员少,只是没人给他们一个够简单的工具。
工具不该挑选用户。好的工具应该对所有想用它的人张开双臂。
从零开始
所以我决定重新做这件事。
不是在旧版 Gridea 上修修补补 —— 那个基于 Electron + Vue 2 的架构已经跟不上时代了。Electron 打包出来的应用体积动辄上百 MB,内存占用居高不下。Vue 2 已经进入维护模式。内置的 simple-git 模块是同步失败的根源 —— 它依赖系统安装的 Git,而很多用户的电脑上根本没有 Git。
Gridea Pro 是一次完全的升级重构。
技术栈的选择。 我们用 Go + Wails 替代 Electron。Wails 使用系统原生 WebView 而不是打包一整个 Chromium,编译出来是一个单文件二进制,体积从上百 MB 缩减到十几 MB,内存占用降低了 80% 以上。前端用 Vue 3 + Vite 重写,配合 Tailwind CSS 和 Radix Vue 组件库。
同步机制的重建。 这是旧版 Gridea 最大的痛点,也是我们花最多精力解决的问题。我们彻底抛弃了 os/exec 调用系统 Git 的方案,改用纯 Go 实现的 go-git 库。这意味着:
- 你的电脑上不需要安装 Git,下载 Gridea Pro 就能直接部署
- Token 不再以明文写入
.git/config文件,而是在内存中通过BasicAuth瞬时注入,程序关闭后不留任何痕迹 - 当没有新内容可提交时,不会傻傻地执行一次无意义的 push,而是优雅地告诉你"一切已是最新”
渲染引擎的升级。 Markdown 渲染从 Node.js 的 markdown-it 换成了 Go 原生的 Goldmark,性能提升了数倍。同时支持 EJS、Jinja2、Go Template 三种模板引擎——这意味着主题开发者可以用自己最熟悉的语法来写主题,而不是被迫学一种新的模板语言。
数据格式的兼容。 如果你是旧版 Gridea 的用户,Gridea Pro 会在第一次启动时自动扫描你的数据目录,把旧格式的 ID 和关联关系迁移到新格式。不需要手动操作,不需要运行迁移脚本。打开就用,你甚至不会注意到迁移发生过。
我们多做了什么
解决旧版的问题只是及格线。我们还想做一些旧版没有做到的事。
Memos 闪念。 不是每个想法都值得写成一篇完整的文章。有些念头,一句话就够了。Gridea Pro 内置了闪念功能,打开就写,支持标签分类,还有热力图帮你追踪记录频率。它像是博客的"朋友圈" —— 只不过这个朋友圈完全属于你。
评论系统集成。 独立博客最大的遗憾之一是缺少互动。Gridea Pro 直接集成了 Valine、Waline、Twikoo、Gitalk、Giscus、Disqus、Cusdis 七种评论方案,在设置页面勾选即用,不需要改一行代码。
MCP 协议支持。 这可能是 Gridea Pro 最"超前"的功能。我们实现了完整的 MCP(Model Context Protocol)服务,提供了 30 多个 AI 可调用的工具。你可以在 Claude、Cursor 等 AI 助手中直接管理你的博客 —— 用自然语言写文章、改配置、切主题、发布部署。博客工具和 AI 之间不再是割裂的,而是一个整体。
多语言。 界面支持简体中文、繁体中文、英语、日语、韩语等 11 种语言。
数据永远是你的
这一点我怎么强调都不过分。
你在 Gridea Pro 里写的所有东西 —— 文章、闪念、配置、图片 —— 全部以 Markdown 和 JSON 文件的形式保存在你本地的文件夹里。没有云端数据库,没有账号系统,没有任何形式的数据锁定。
你可以用任意一个 Markdown 编辑器打开同一个目录编辑。可以用 iCloud、OneDrive 同步到多台设备。可以随时整个文件夹打包备份。即使有一天你不再使用 Gridea Pro,你的 Markdown 文件依然可以被 Hugo、Hexo、Astro 或任何静态博客生成工具读取。
旧版 Gridea 的用户曾经因为项目停更而不得不"撤了"。我不希望这件事再发生。所以从第一天起,我们就确保:你的内容不依赖于我们的存在。
好的工具像空气,在的时候你感觉不到,不在了你才会窒息。但最好的工具,还会在离开的时候把你的东西完好无损地留给你。
写在最后
我不敢说 Gridea Pro 是"最好"的博客工具。Hugo 更快,Hexo 生态更大,Astro 更现代。每个工具都有自己的位置。
但我可以说,Gridea Pro 试图解决的是一个很具体的问题:让不愿意(或不会)折腾命令行的人,也能拥有一个完全属于自己的博客。
这个问题,旧版 Gridea 证明了它的价值 —— 10,000+ Stars,28,000+ 用户。这个需求是真实存在的。
只是上一次,这个故事没有写完。
现在,我们重新开始写。
所有伟大的事情,都有一个微不足道的开始。
如果你正在读这篇文章,说明你已经选择了开始。
欢迎来到 Gridea Pro。