我用 free-for-dev 和 AI Agent 搭了这个博客
一开始我只是丢了一个链接:free-for-dev。
我想让 AI Agent 帮我看看,里面有哪些免费资源可以拿来搭一个个人博客。
结果它先理解错了。
它以为我是想参考 free-for-dev 的网站形态,做一个类似资源目录的站。但我不是这个意思。我想要的是用它的免费资源清单做选型:代码放哪,网站托管在哪,搜索怎么做,评论要不要接,统计有没有免费的。
这个误会挺关键的。
如果不纠正,后面大概率会变成另一个方向:做一个资源导航站。那不是我想要的东西。
我不是想做资源目录
我想要的是一个很普通的个人博客。
能写 Markdown。
能放在 GitHub。
最好不用数据库。
最好不用后台。
最好 push 之后就自动上线。
也不想为了一个博客引入一堆东西。CMS、数据库、复杂主题、重评论系统,这些都先不要。
所以 free-for-dev 在这里的作用不是“我要模仿这个网站”,而是“我从这里挑一些够用的免费服务”。
最后选出来的组合其实挺朴素:
- GitHub 放代码和文章;
- Astro 生成静态站;
- Cloudflare Pages 托管;
- Pagefind 做站内搜索;
- RSS 和 sitemap 保留;
- 评论、统计、表单以后再说,不急。
这个选择不高级,但够用。
一开始它叫 wc-blog
最早的名字也很随意。
博客叫 wc notes,仓库叫 wc-blog。
AI Agent 直接在本地初始化了 Astro blog 模板,删掉默认示例文章,改首页,补 About、Resources、Search 页面,接 RSS、sitemap 和 Pagefind。
那时候项目还在:
/Users/huangwenchao/wc-blog
后来我觉得这个名字太临时,就把它改成了现在的:
Notes by Wenchao
项目也迁到了:
/Users/huangwenchao/workspace/notesbywenchao
仓库从:
suprewen/wc-blog
改成:
suprewen/notesbywenchao
站点最后挂在:
https://notesbywenchao.pages.dev
这些步骤没什么神秘的。
真正有用的是,AI Agent 可以把这些琐碎步骤连续做完:初始化项目、改配置、跑 build、建仓库、推代码、部署、再检查线上结果。
我自己当然也能做。
但我不一定想把这些事一件件手动做完。
上线之后,问题才刚开始
网站能打开,不等于博客能长期维护。
如果每写一篇文章,都要手动 build、手动上传、手动检查,那我大概率很快就不想写了。
所以后来又加了 GitHub Actions。
现在流程变成这样:
写文章
git commit
git push
GitHub Actions build
Cloudflare Pages 部署
Cloudflare 的 token 放在 GitHub Secrets 里,不进仓库。
这一步看起来小,但很重要。
因为它把“发布”这件事从一个手动操作,变成了默认流程。以后我只需要关心文章本身,剩下的交给 CI。
我后来更在意的是怎么维护
搭博客当天,我问了一个更实际的问题:以后这个博客怎么维护?
如果把所有资料、碎片想法、临时记录都塞进博客,那博客很快会变成另一个乱掉的笔记库。
所以后来定了一个分工:
Obsidian 是工作台。
博客是展厅。
Obsidian 里可以乱一点。它放资料、链接、阅读笔记、研究过程、半成品想法。
博客要克制一点。它只放已经想清楚、可以公开、未来还能引用的东西。
这个分工对我来说比技术栈更重要。
Astro、Cloudflare Pages、GitHub Actions 都可以换。但“哪里用来想,哪里用来发布”这个边界,最好一开始就定清楚。
AI Agent 适合做什么
这次下来,我对 AI Agent 的感觉也更具体了一点。
它不适合替我决定“我到底想写什么”。
这个问题还是得我自己判断。
但它很适合做这些事:
- 把免费资源清单变成可执行选型;
- 初始化项目;
- 改配置;
- 跑 build;
- 建 GitHub 仓库;
- 配 Cloudflare Pages;
- 写 GitHub Actions;
- 检查线上是否真的能访问;
- 把过程整理回 Obsidian。
中间我也需要不断纠偏。
比如一开始 free-for-dev 的理解就错了。后来博客文章第一版也太像 AI 总结,我直接删掉重来。
这反而说明这个协作方式比较真实。
不是我说一句话,AI 就完美做完。
更像是我给方向,它先执行;它走偏了,我拉回来;我觉得味道不对,再改规则。
现在这个博客是什么
现在 Notes by Wenchao 不是一个复杂系统。
它就是一个静态站。
本地写 Markdown,GitHub 管版本,Cloudflare Pages 托管,GitHub Actions 自动部署。
挺简单的。
但简单正是我想要的。
我不想一开始就维护一个 CMS。
也不想为了评论、统计、表单这些可选功能,把博客弄得很重。
先写起来更重要。
小结
这次建站不是从一个完整规划开始的。
它是从一个链接开始的。
我丢了 free-for-dev,AI Agent 先理解错,我纠正它,然后它一路把博客搭出来。中间改名、迁目录、重命名仓库、配部署、写自动化,最后才慢慢变成现在这个站。
如果要说有什么经验,我觉得是这几个:
- 免费资源已经够搭一个个人博客;
- 个人博客一开始应该轻一点;
- AI Agent 很适合做连续的工程执行;
- 人还是要负责方向和判断;
- 自动部署比手动上线更重要;
- 博客和 Obsidian 最好分工清楚。
这篇也不想写成教程。
它更像是给以后自己的一个记录:这个博客不是突然搭好的。它是从一个小误会、一点纠偏、一些免费服务和一串自动化操作里慢慢长出来的。