OP 编辑部 01|一个人的编辑部

十年前我搭过一个博客。Hexo,GitHub Pages,自己买域名,自己选主题,为了一个主题能折腾半天。那时候搭一个站,从头到尾每个环节都是我自己的事:找教程、配环境、改样式、写内容、发布、维护。 后来这个站没了。不是因为不会搭,是因为搭站本身把我消耗完了。站越来越完整,文章没有变多。 2026 年 8 月,我重新搭了一个。这次最大的区别是,我没有自己敲建站代码。整个站是交给一个 AI Agent(Hermes)搭的。同样是一个人,但这次我的身后多了一个编辑部。 这个编辑部的起点,可以拉一条线看: 2016 年用 Hexo 搭过博客,找教程、选主题、改配置,每个环节都自己动手。表达欲比现在强,但站搭完就累了。 之后几年表达没有消失,只是散落了。有的在微信里,有的在飞书和工作文档里,有的在和 AI 的对话里。属于自己的公开文字空间,没有了。 2026 年重新搭 zefeng.me。这次把搭站、排版、审稿、发布都交给 AI,我管写和决定。 生产关系变了 十年前和现在,最大的区别不是工具,是角色。十年前一个人搭博客,所有角色都是同一个人扛: 十年前,一个人搭博客 找教程,研究 Hexo 和 GitHub Pages 自己选主题、改配置、折腾插件 排版、发布、维护都是自己的事 搭了站,文章没写几篇 现在,一个人 + AI 技术问题交给 AI,我描述需求 排版、纠错、发布全自动 AI 当编辑,提意见但不改稿 只管写,和决定 十年前我会先装十个插件,再想第一篇文章写什么。这次反过来了。第一版只做了首页、归档、关于和一篇文章,站都没装修完,先把 2017 年写的《本命年》迁了回来。 AI 在编辑部里承担了四个角色 不是笼统的「AI 帮我」,而是具体的分工: 作者人 写稿的人,也是定稿的人。AI 合写时我定方向和红线,纯手写时我只管写,两条路径的终点,都是我的决定。 技术顾问AI 初始化 Hugo、配主题、Git、Cloudflare、修 Bug、改 CSS。遇到登录、验证码、支付,停下来让我做。 编辑AI 读稿、提意见。诚实、克制、独立:不为了鼓励我而泛泛夸奖,只挑真正影响文章的问题。决定权永远在我。 排版与发布AI 自动排版、纠错、去重、构建、推送、上线。我只要说一句「发布」。 这四个角色里,「编辑」是最难设计的一个。不是技术难,是信任难。排版错了是小事,稿子的判断被带偏才是大事。所以编辑这个角色,我给它的权限是最小的:可以看,可以提,不可以动。 两条写作路径 我的编辑部里,文章分两种来源,走两条路径: 路径一 · AI 合写 我定方向和红线 → Hermes 起草 → 我逐条决定改不改 → 确认 → 发布。文末自动标注「本文由 AI 参与撰稿」。 路径二 · 纯手写 我在 iA Writer 里写完 → AI 自动排版、纠错 → 我确认 → 发布。文章不加合写标记。 两条路径的终点是同一个地方,但起点不同。AI 合写的文章,AI 是渠道和助手;纯手写的文章,AI 是编辑和排版工。两条路径共享同一条底线:只有我说「发布」,才允许推送上线。 ...

2026-08-16 · 1265 字

10 年以后,我重新搭了一个自己的博客

最近看到少楠还在认真维护自己的个人博客《少楠的松节油》,我愣了一下。 大概 2016、2017 年的时候,我也用 Hexo 搭过博客。那时候会为了一个主题折腾半天,会买域名,会研究 GitHub Pages,也会真的往上面写东西。现在回想,那时的表达欲好像比后来强。 后来这些年,表达没有消失,只是散落了。有的在微信里,有的在飞书和工作文档里,有的在和 AI 的对话里。真正属于自己、能长期留下文字的公开空间,反而没有了。 所以这次重新搭 zefeng.me,我一开始就给自己定了一个很简单的目标:别把它再做成一个技术项目。 先给自己定了三个原则 动手之前,我先跟自己确认了三件事。 一,国内能直接打开。手机、公司、家里的网络都不用科学上网,也不依赖 Google Fonts 这类跨境资源。这是第一优先级。 二,维护成本尽量低。不维护服务器,不维护数据库,不长期追插件兼容性。 三,文章必须永远属于自己。内容全用 Markdown 保存,版本用 Git 管,Hugo 只是展示层,Cloudflare 只是托管层。哪怕哪天换主题、换生成器、换托管平台,文章都能原样带走。 这三条原则看上去朴素,后面几乎所有的选择都是它们决定的。 选型没有花太久 我没有认真比较十几套方案,因为目标已经决定了答案。 一开始就主动排除了一些看起来更「重」的方案:WordPress、Next.js、数据库、Docker、自建服务器。不是这些技术不好,而是如果一个博客需要我长期盯着服务器、运行时和插件兼容性,对我来说它迟早会变成另一个维护项目。 于是答案很清楚:Hugo 生成静态页面,成熟、快;PaperMod 足够克制,不需要我再设计一整套;GitHub 管源码和版本历史;域名、DNS、部署都放在 Cloudflare,少一个账号,少一层故障排查。 域名在 zefeng.me 和 zefeng.blog 之间犹豫了一下,选了 .me。博客只是它现在的形态,.me 更像一个长期身份——哪天它挂主页、挂作品页,或者挂点别的什么,都说得通。博客名字随时可以改,域名最好十年不动。 选型里也踩了两个小坑。一个是主题版本:PaperMod 官方发布版和我机器上较新的 Hugo 不兼容,构建直接报错,后来把子模块钉在主分支的某个提交上才解决。另一个是部署界面:Cloudflare 控制台已经把 Pages 并进 Workers 统一构建,老教程对不上新界面,创建表单里连「输出目录」这一栏都没有,我是在仓库根目录加了一个配置文件声明静态产物目录、钉死 Hugo 版本,才让云上构建稳下来。 部署完还发现一件事:Cloudflare 自动分配的临时访问地址,在大陆网络打不开,正式域名却一切正常。这些都不难,但不亲自踩一遍,确实不知道。 我没有自己写代码 这次和十年前最大的区别,是我几乎没有自己敲建站代码。整个站是交给一个 AI Agent(Hermes)搭的。 第一件事是给项目划地盘:所有博客相关的文件、脚本、改动,只允许发生在同一个工作目录里。这听上去是小事,但我很怕另一种局面——不同文件夹里各躺一份源码,最后连我自己都不知道哪个才是正式版。只有一个目录,Git 历史就是唯一的事实来源。 分工大概是:我负责定义需求、做取舍、审美判断、确认发布;它负责初始化 Hugo、配主题、Git、Cloudflare、修 Bug、改 CSS、字体、Logo,以及后续的文章发布。 但边界是明确的:账号登录、验证码、Token、支付,还有删仓库、删域名这类高风险操作,必须停下来由我自己做。比如登录 GitHub,Agent 跑的是设备授权流程,终端里生成一串八位验证码,由我在自己的浏览器里输入确认——它全程只递给我一个验证码,不碰密码。不是不信任工具,是出了事承担后果的是我。 这次我发现,Agent 最适合接手的,不一定是「创造」,而是那些我过去懒得维护、但其实规则很明确的事情。搭博客正好是这种事。 ...

2026-08-14 · 3014 字