起因

晚上十点半,我突然想到:手里有域名,有一堆写好的文章,也有 GitHub——为什么不搞个博客?

于是我对 OpenClaw 说了一句:

“我们搞一个 blog 吧,域名就是 blog.yuanming.ai,内容放 GitHub 上,用 Hugo。”

然后我就去泡茶了。

它做了什么

回来的时候,它已经:

  1. 安装了 Hugobrew install hugo,v0.157.0)
  2. 创建了完整的项目结构(PaperMod 主题,中文配置,暗色模式,搜索,归档)
  3. 创建了 GitHub 私有仓库gh repo create blog --private
  4. 把 7 篇文章全部处理好(统一文件名、加 frontmatter、分配标签)
  5. 推送到 GitHub
  6. 告诉我 Cloudflare Pages 怎么配置(因为 CF Dashboard 需要我登录操作)

整个过程大约 15 分钟。其中 10 分钟是我在 Cloudflare 上点按钮。

技术栈

最终方案很简单:

1
Markdown 文章 → Hugo 构建 → GitHub 仓库 → Cloudflare Pages → blog.yuanming.ai
组件选择理由
静态生成器Hugo极快(86ms 构建 57 页)、中文友好
主题PaperMod简洁有设计感、暗色模式、搜索内置
代码托管GitHub 私有仓库版本管理、AI 可直接操作
部署Cloudflare Pagespush 即部署、全球 CDN、免费 SSL
域名Cloudflare DNS一站式管理,自动证书

总成本:0 元。 GitHub 私有仓库免费,Cloudflare Pages 免费,Hugo 开源免费。

具体怎么做

第一步:让 AI 初始化项目

我只说了一句"用 Hugo",OpenClaw 就自动执行了:

1
2
3
4
5
6
7
8
9
# 安装 Hugo
brew install hugo

# 创建项目
hugo new site blog
cd blog && git init

# 安装主题
git submodule add --depth=1 https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod

然后它写了一个完整的 hugo.toml 配置文件,包括:

  • 中文语言设置
  • 首页介绍
  • 导航菜单(文章、标签、搜索、归档)
  • 暗色/亮色模式切换
  • 阅读时间、字数统计
  • 全文搜索(基于 Fuse.js)

第二步:处理文章

我在 workspace 下放了 7 篇 Markdown 文章,文件名五花八门:

1
2
3
4
5
6
AI-Agent安全实践-从慢雾指南到实战落地.md
acp-claude-debug-report.md
ai-era-info-arbitrage-2026-03-02.md
交易所AI-Skills对比分析-v1.0.md
社群分享-200行代码理解GPT.md
...

OpenClaw 自动做了三件事:

  1. 统一文件名为英文 slug(如 ai-agent-security-practice.md
  2. 添加 Hugo frontmatter(标题、日期、标签、摘要)
  3. 去掉原文的一级标题(避免和 Hugo 生成的标题重复)

第三步:推送到 GitHub

1
2
3
gh repo create blog --private
git add -A && git commit -m "init: Hugo + PaperMod, 7 posts"
git push -u origin main

第四步:配置 Cloudflare Pages

这是唯一需要人类动手的部分(因为要登录 CF Dashboard):

  1. 进入 Cloudflare Dashboard → Workers & Pages → Create
  2. 连接 GitHub → 选 blog 仓库
  3. 构建配置:
    • Build command: hugo --minify
    • 环境变量: HUGO_VERSION = 0.157.0
  4. 添加自定义域名 blog.yuanming.ai

点完 Deploy,等 30 秒,博客就上线了。

第五步:遇到坑,AI 自己修

第一次部署失败了——Cloudflare 的 wrangler 在 deploy 阶段又跑了一遍 npx hugo,但 Hugo 不是 npm 包,所以报错。

我把错误日志发给 OpenClaw,它立刻:

  1. 创建了 wrangler.jsonc 配置文件,告诉 wrangler 直接用 public 目录
  2. 推送到 GitHub
  3. 让我点 Retry

第二次就成功了。

发布新文章的工作流

现在发文章的流程是这样的:

1
2
3
4
我:把这篇文章发到博客上
OpenClaw:(自动处理 frontmatter、文件名、构建、推送)
Cloudflare:(自动部署)
我:(什么都不用做)

或者更简单:

1
2
我:写一篇关于 XXX 的文章发到博客
OpenClaw:(写文章 + 发布,一步到位)

为什么是 Hugo + CF Pages

考虑过其他方案:

方案优点缺点
WordPress功能丰富需要服务器,慢,安全隐患
Notion + Super好看付费,依赖第三方
Next.js + Vercel灵活过度工程,博客不需要
Hugo + CF Pages快、免费、简单需要会用 Git(但 AI 会)

最后一条是关键:Hugo 的"门槛"对 AI 来说不存在。 Markdown 写作、Git 操作、配置文件——这些都是 AI 最擅长的事。

人类做了什么

回顾整个过程,我做的事情:

  1. ✅ 说了一句"搞个博客"
  2. ✅ 确认了技术方案(Hugo、CF)
  3. ✅ 在 CF Dashboard 点了几下鼠标
  4. ✅ 把已有文章放到一个目录里

AI 做的事情:

  1. ✅ 安装 Hugo
  2. ✅ 创建项目、选主题、写配置
  3. ✅ 处理 7 篇文章(重命名、加元数据、分配标签)
  4. ✅ 创建 GitHub 仓库、推送代码
  5. ✅ 排查部署错误、修复配置
  6. ✅ 后续文章发布

人类负责决策,AI 负责执行。 这就是 2026 年建网站的方式。

最后

博客地址:blog.yuanming.ai

如果你也想搞一个,你需要的只是:

  • 一个域名(可选,CF Workers 自带 .workers.dev 子域名)
  • 一个 GitHub 账号
  • 一个 Cloudflare 账号(免费)
  • 一个能跑 OpenClaw 的设备

然后对你的 AI 说:“帮我搞个博客。”

剩下的,它会搞定。