通过 Agent 维护本博客

这个博客从 2022 年 12 月搭起来之后,基本处于「半停更」状态——Hexo 写 markdown → 本地渲染 → push 静态产物,全套流程都得我自己手动跑。

2026 年开始,我把博客维护交给了 AI Agent 协作。本文记录这个新模式是怎么跑的、约束是什么、以及其他想这么干的人可以怎么抄。

背景

博客建在 ritchen/rw-chen.github.io 这个仓库,CNAME 指向 blog.rwchen.top。框架是 Hexo + NexT.Pisces 主题,4 篇文章,停更 2 年。

之前的痛点:

  • Hexo 源文件(_config.ymlsource/_posts/themes/)丢在本地,没备份
  • 写一篇新文章要走:写 markdown → hexo generate → push 到 GitHub → 等 GitHub Pages 重建
  • 主题配置改一个 hostname 要全局扫一遍 HTML(这次就踩了这个坑)

新模式

直接对 已构建的静态产物 做修改,跳过 Hexo 这一层。理由:

  • 产物仓库本身就是最终状态,改 HTML 就等于改网站,不需要 rebuild
  • AI Agent 不需要装 Hexo、Node.js、主题依赖,直接用 git + curl 就能干
  • 写新文章 = 复制一篇现有博文的 HTML 骨架 → 替换标题/正文/permalink → push

工作流

1
2
3
4
5
6
7
8
9
10
11
12
# 1. 拉仓库(用 zip 走 api.github.com,绕开 github.com 主页封锁)
curl -sL -o blog.zip https://api.github.com/repos/USER/REPO/zipball/main
unzip -q blog.zip -d work/

# 2. 修改(替换 hostname、写新文章、调样式...)
find . -name "*.html" -exec sed -i 's/old/new/g' {} \;

# 3. 提交 + 推送
git init -q
git add -A
git commit -m "..."
git push origin main

# 4. 等 1~2 分钟,刷新 blog.rwchen.top 看效果

关键约束

GitHub Pages

  • 仓库名 <username>.github.io → 自动作为用户站点(我这个就是)
  • 默认分支根目录被部署为网站,不需要任何 build 配置
  • CNAME 文件 → 自定义域名(已配 blog.rwchen.top
  • HTTPS 自动,不需要证书
  • push 后 1~2 分钟生效,浏览器记得 Ctrl+Shift+R 强刷

Hexo + NexT.Pisces 结构

  • 每篇文章是一个完整的 HTML 页面(含完整 head / sidebar / footer)
  • 正文在 <div class="post-body">
  • 关键配置在两个 next-config JSON 里
    • data-name="main":全局(hostname、scheme、sidebar、motion...)
    • data-name="page":本页(title、permalink、isPost)
  • permalink 是 canonical URL,SEO 和浏览器地址栏识别都靠它

没有源文件

⚠️ 这个仓库是 已构建产物没有 _config.ymlsource/_posts/themes/。意思是:

  • 改主题配置(hostname / 备案号 / 社交链接)→ 直接 sed 全仓 HTML
  • 想换主题 → 必须重搭(因为 themes/ 不在仓库里)
  • 想用 markdown 写作 → 写完 自己渲染成 HTML,或者让 Agent 抄现有文章的 HTML 骨架再改正文

Agent 操作清单

写一篇新文章

  1. 复制 2024/01/01/任意一篇/index.htmlYYYY/MM/DD/标题短横线连接/index.html
  2. 替换以下字段:
    • <title>(两个:head 里 + next-config page JSON 里)
    • og:title / og:url / og:description
    • article:published_time / article:modified_time
    • <link rel="canonical">
    • next-config page JSON 里的 title / permalink / path
    • <h1 class="post-title"> 正文标题
    • <div class="post-body"> 里的正文 HTML
  3. 替换/添加标签:底部 <div class="post-tags"> 里手动写标签链接 + 同时建 tags/标签名/index.html
  4. commit + push

改全局配置

next-config main JSON 里的字段,所有 17+ 个 HTML 文件都要同步(因为每页都内嵌了一份 main 配置)。

禁止事项

  • ❌ 改 CNAME 内容(除非明确要换域名)
  • ❌ 删 404.html(NexT 自带的 QQ 公益 404,别删)
  • ❌ 改 js/css/ 里的 hash 文件(NexT 主题编译产物,改完主题升级会被覆盖)
  • ❌ 强推 main 分支保护规则之外的内容

什么时候该回到 Hexo

这一招省事,但不能一直用下去。如果出现下面任一情况,建议找回源文件、恢复 Hexo 工作流:

  • 想换主题
  • 想加评论系统(Gitalk / Twikoo / Disqus)
  • 想加全文搜索(NexT 自带的 local search)
  • 文章数超过 50 篇,手工维护成本陡增
  • 想加 RSS / sitemap / SEO 优化

到那时候,可以从 blog.rwchen.top 爬一份现有 HTML,反向推断出原 markdown 源文件,重新搭 Hexo 工作流。

结语

把博客维护交给 Agent,不是为了偷懒,而是让 写作冲动不被工程链路拖死

想写的时候,告诉 Agent 一句话:

「写一篇关于 XXX 的博文,路径放 2026/MM/DD/xxx/,标签 xxx、xxx。」

剩下的它会跑。


本文由 rwchen + AI Agent 协作完成。Agent 操作记录见 git commit 历史。