很多人问我博客怎么更新的,其实现在大部分流程都是 Hermes Agent 在跑。这篇文章讲一下从写稿到上线的完整流程,顺便记录一些踩过的坑。
博客架构
我的博客是 Hexo + GitHub Pages,部署在 mcxen.github.io,自定义域名 b.xpai.uk。
| 项目 | 说明 |
|---|---|
| 博客源码 | ~/Documents/OpenSpring/hexo-blog/ |
| 文章目录 | source/_posts/ |
| 图片目录 | source/images/ |
| 主题 | Anisina(EJS 模板) |
| 部署 | hexo deploy → GitHub Pages |
| RSS | /rss.xml(全文输出) |
发布一篇新文章的完整流程
第一步:写 Markdown
在 source/_posts/ 下创建 .md 文件,加上 frontmatter:
1 |
|
正文用标准 Markdown,<!-- more --> 之前的内容是首页摘要。
第二步:封面图
封面是必须的,主题用它做首页卡片背景和文章头图。
有正文图片的情况:用文章第一张图
1 | header-img: /images/zhoushan-2026/IMG_1141.jpg |
正文没图的情况:用 Unsplash 随机图,关键词要跟文章内容相关
1 | # AI/编程类 |
别用千篇一律的风景图,选跟内容沾边的关键词。
第三步:图片处理
iPhone 拍的 HEIC 格式浏览器不认,先转 JPEG:
1 | sips -s format jpeg -Z 1200 /path/to/photo.HEIC --out source/images/subdir/photo.jpg |
-Z 1200 把长边缩到 1200px,质量够用,文件也不会太大。
图片放在 source/images/ 下,Markdown 里用绝对路径引用:
1 |  |
第四步:生成静态文件
1 | cd ~/Documents/OpenSpring/hexo-blog |
看到 INFO N files generated in N ms 就成功了。
第五步:部署
因为 GitHub 直连不稳定,需要走代理:
1 | http_proxy=http://127.0.0.1:7897 https_proxy=http://127.0.0.1:7897 npx hexo deploy |
看到 INFO Deploy done: git 就部署完了。GitHub Pages 可能要缓存一两分钟才更新。
让 Hermes 来做这些事
上面的步骤手动也能做,但用 Hermes 的话,只需要一句话:
“帮我写一篇关于 XXX 的博客发一下”
它会:
- 根据记忆和上下文整理内容,写出 Markdown
- 自动选合适的封面关键词
- 如果有图片需求,帮你转换格式
hexo generate+hexo deploy一键发布- 部署失败会自动重试
如果你想更新已有的文章,告诉它改什么就行,它会修改后重新部署。
踩过的坑
没代理部署失败:hexo deploy 背后是 git push,不走代理会超时。每次都得带 http_proxy。
HEIC 格式:iPhone 照片直接放博客会显示不出来,必须用 sips 转 JPEG。
source/downloads/ 被渲染:这个目录的文件会被 Hexo 处理成 HTML 页面,不会保留原始格式。需要下载的文件放 source/images/ 或者用 skip_render 配置。
敏感信息泄露:hexo generate 把 Markdown 编译成 HTML,文章里如果有 API key、密码之类的,会直接出现在公开页面上。发布前一定要检查。
封面图不能为空:主题的 post-default-img 配置是空的话,没设 header-img 的文章在首页就是光秃秃的。
一句话总结
用 Hermes 发博客 = 告诉它写什么 + 它搞定剩下的。省心。
这篇文章也是 Hermes 帮我写的。