两天106次提交:我周末用Claude Code搭了个博客
作者周末两天内借助Claude Code和国产大模型,106次提交搭建了功能完整的博客系统,包括文章CRUD、评论、暗色模式、AI摘要等。他认为AI编程放大能力,小步快跑有效
该项目已经托管在永银的
Github,点击查看 vibe-blog-next.
起因
事情是这样的——最近Vibe Coding突然爆红,编程的难度进一步降低,刚好25号Deepseek又发布新模型V4,而且之前了解到 Supabase 的免费额度挺香的,就想自己动手用Claude Code结合国产大模型系统性的开发一个项目。为什么选择开发一个博客?不是为了炫技,也不是重复造轮子,只是想要基于博客这个清晰的需求用Claude Code练手。
但说实话,我真没那么熟前端。React 能写,但你要我从头搭一套用户认证、评论系统、暗色模式……估计得折腾一个月。
第一天:搭骨架
恰逢周末,4月25号上午,我创建了项目。一开始只是想搭个能写文章、能展示的简单页面。第一个commit的 message 很朴实:"创建项目"。接着就是疯狂迭代——先搞了文章详情页和作者页,然后加了评论区。评论这玩意比想象中复杂——要支持嵌套回复、要能点赞、还要实时显示。我记得光是评论组件就重构了两三版,从一开始的整页刷新,到后来的局部刷新,再到最后的懒加载+去重。
当天晚上,我搞到了凌晨。30多次 commit,已经有了文章 CRUD、评论系统、作者主页、移动端适配。速度比自己预期快得多。
第二天:从"能用"到"好用"
4月26号周日上午,我一大早起来继续搞。这一天是真正的爆发——60 次 commit。
上午加了暗色模式切换、代码高亮、页面进度条。然后是注册页的密码强度校验、重置密码流程优化。再到后来,文章可以设为私密了,首页加了 Banner 和站点统计。
下午开始搞大功能:评论回复+点赞、用户主页留言板、AI 生成文章摘要(接的 DeepSeek 接口)。这时候项目已经从一个"玩具"开始变得真正可用了。
晚上是最安静的时段——我决定加上头像系统。
头像这东西,说简单也简单,说复杂也复杂。涉及文件上传和处理,要上传、要裁剪、要压缩、要全站显示,还要处理缓存问题。我记得搞到后面遇到了 RLS 策略问题、浏览器缓存问题、移动端裁剪没反应的问题、hydration 警告……一个接一个修。
然后还顺手写了隐私政策和法律信息页面——虽然是个人博客,但这些该有的还是得有。
Claude Code 到底帮了多少?
这么说吧,提交的代码里,绝大部分代码都不是我亲手敲的。
我的工作流是这样的:脑子里有个想法 → 告诉 Claude → 它写代码 → 我 review → 验收或者让它改。绝大多数情况下它一次就能写对,偶尔遇到类型错误或者 RLS 策略问题,我就把报错信息贴给它,它自己就能修好。
最爽的是改大结构的时候。比如"把评论组件从整页刷新改成局部刷新"这种操作,要我手动搞可能要翻遍整个项目改一两个小时。Claude Code 几分钟就搞定了,而且不会漏文件。
但也有坑。比如那次头像缓存问题——上传了新头像,页面死活不显示新的。我试了好几种方案:加时间戳参数、改文件名、清缓存……最后 Claude 给了一个很优雅的方案:用唯一文件名 + 删除旧文件,彻底绕过浏览器缓存。
一些数字
- 开发时间:两天(4 月 25-26 日)
- 提交次数:106 次
- 代码变动:5666 行新增,1047 行删除
- 文件数:84 个
- 技术栈:Next.js 16 + Supabase + Tailwind CSS + TypeScript
- AI 辅助:Claude Code
- 大模型:
- deepseek-v4-flash(主力)— 输入 970 万、输出 61.5 万、cache 1.52 亿 tokens
- qwen3.6-plus(复杂任务)— 输入 35.8 万、输出 145.3 万、cache 1.14 亿 tokens
- qwen3.6-flash(轻量任务)— 输入 3500、输出 1.2 万 tokens
- Token 总消耗:约 3.2 亿 tokens(含 cache)
- 总花费:约 140 元
- API 耗时:5 小时 54 分
- 实际耗时:16 小时 43 分(跨两天)
几点感受
第一,AI 编程不是替代你,是放大你。 我不是前端高手,但靠着 Claude Code,两天搞出了一个功能完整的博客系统。放在以前,光是研究怎么用 Supabase Auth 做登录就能卡半天。
第二,小步快跑是真的有效。 100多次 commit,平均每十几分钟就一次。每次都是一小点改动,积少成多。这种节奏让人特别有成就感,因为随时都能看到进展。
第三,该自己懂的还是得懂。 Claude Code 写代码很快,但你要能判断它写的对不对。RLS 策略为什么报错?类型为什么对不上?这些还是要自己理解。AI 是你的副驾驶,不是自动驾驶。
游客互动
最后,为了体验用户不注册也可以参与评论、留言,我开始着手写游客互动功能,现在大家可以随意评论和互动啦!
目前这个博客已经跑在服务器上了,欢迎到处点点。也可以直接注册使用,只需要邮箱号就可以注册。如果发现了 bug……那很正常,毕竟才写了两天 😄 欢迎在评论区反馈,毕竟,为了让大家在评论区聊得开心,评论组件我做了很久很久......
复杂
文章编辑页面自动保存,成功保存后如果输入框并没有内容变动,下次计时到就不触发自动保存,直到内容再次变动才开始计数。
评论点赞bug:给父评论点赞,子评论的点赞也会增加,在点赞然后刷新页面后显现。
回复 @最佳<Coder:已经修复了
favicon现在是nextjs默认,换一下?
回复 @匿名游客:已修复
bug:游客点赞之后数字还是变回去了,之前修改没生效?
回复 @最佳<Coder:已修复
bug: 首页文章标题文字和卡片重合了,修复为和我的文章页面一样根据屏幕宽度适当显示省略号点点
回复 @heyJude:已修复
考虑新增一个双向链接引用的功能,类似notion等笔记软件
回复 @小透明的建议:有点复杂了,要么简单化,要么别加
特性:文章历史版本功能
增加一个:最近记录功能,包括最近编辑、最近查看
重构:把多作者系统砍掉吧,只让作者本人使用就够了
回复 @满嘴顺口溜:这样评论也只允许游客,然后只有作者可以删除评论,以及评论需要审核才能显示(可设置审核开关)