简单书房(easy-Reader)从第一行代码到现在的 1.3 版本,代码全部是 Claude 写的。我做的事情只有三件:说清楚想要什么、做决定、验收。
这种开发方式现在常被叫做 vibe coding:你描述想要的效果,AI 去写代码、跑测试、改问题。听起来很玄,其实有一套可以照着做的方法。这个系列用简单书房做例子,把工具、提要求的方式、Claude 的工作流程和检查手段都摊开讲。
系列目录
- 总览(本文):成果、整体方法、哪些事必须自己来、踩过的坑。
- 《安装篇:装好 Claude Code、插件和 MCP》:从零安装,插件逐个给出命令,写好 CLAUDE.md。
- 《提要求篇:怎么跟 Claude 说,它按什么流程干活》:我的原话示例,以及从头脑风暴到发版的完整流程。
- 《浏览器篇:把网页上的活交给 Claude》:让它自己检查网页、写教程配截图、录演示视频、操作 NAS 后台。
先看结果
| 项目 | 数字 |
|---|---|
| 开发周期 | 2026 年 4 月开始,实际开发 23 天(不是每天都在做) |
| 提交次数 | 484 次,其中 390 次由 Claude 署名提交 |
| 代码量 | 前后端约 2.2 万行(不含测试),测试文件 84 个 |
| 设计文档 / 实施计划 | 10 份 / 17 份,都是 Claude 写、我审 |
| 功能 | 多格式阅读、AI 补全书籍信息、听书、AI 问书、学习版的划线和导图、装到手机桌面、自带 HTTPS…… |
我会用 NAS、会装 Docker,但不写 TypeScript,也没碰过 Vue。官网(就是你正在看的这个网站)、Docker 镜像的自动构建、本站的教程截图和演示视频,也都是 Claude 做的。
整体方法:一张图看懂
| 环节 | 我做什么 | Claude 做什么 | 靠什么 |
|---|---|---|---|
| 立规矩 | 写下长期规则(用中文、简单优先、验证后才算完成……) | 每次启动先读规则 | CLAUDE.md |
| 提需求 | 说目标、原因、参考 | 一次问一个问题,直到听懂 | superpowers 的头脑风暴技能 |
| 定方案 | 审设计文档,拍板 | 写设计、拆成小任务 | 设计文档、实施计划 |
| 写代码 | 不参与 | 先写测试再实现,逐个任务完成 | 测试驱动开发 |
| 检查 | 看结果、真机试用 | 跑测试、打开浏览器实测、整体审查 | chrome-devtools MCP、代码审查技能 |
| 发布 | 确认后推送、部署 | 写更新日志、改版本号、打标签 | GitHub Actions 自动构建镜像 |
这个分工的核心是:我负责「做什么、做到什么程度」,Claude 负责「怎么做、做对没有」。
哪些事必须我来
vibe coding 不是撒手不管。下面这些我一直自己做:
- 做决定:做不做、做到什么程度、选哪个方案。Claude 会给推荐,但拍板的是我。
- 登录和密钥:账号密码、API Token 都是我自己填,不发给 Claude。
- 对外的操作:推送代码、发版、部署官网。Claude 准备好命令,我确认后执行。
- 真机体验:在自己的手机、NAS 上实际用一用。很多体验问题(比如侧栏菜单不好看、从桌面图标打开后返回没反应)只有用的时候才会发现。
踩过的坑
- 对话太长会被压缩:Claude 的上下文有上限,太长会自动总结,细节可能丢失。解决办法是把计划写进
tasks/todo.md、设计写进文档,靠文件而不是靠聊天记录来延续。 - 「改好了」要看证据:AI 有时会在没有真正验证的情况下说「改好了」。所以守则里写了「验证通过前不算完成」,现在它每次说完成都会附上测试结果或截图。
- 截图里的东西不一定是真的:WSL 下的 Chrome 截图有时会出现图标缺失、斜线条纹之类的渲染问题,实际页面并没有。这条后来被记进了 Claude 的记忆,不会再据此误改代码。
- 小心「顺手改」:AI 很容易在修 A 的时候顺便改了 B。守则里写「只改必要的部分」,审查时也会专门看这一点。
- 密钥别贴到聊天里:需要配置密钥时,让 Claude 告诉你填在哪,你自己去填。
- 国内网络:装依赖、拉镜像时常卡住。直接说「不行换个源」,它会把 npm、Docker、Alpine 都换成国内镜像。
从哪开始
没装过 Claude Code 的,从《安装篇》开始;已经在用、想提高效率的,直接看《提要求篇》;想让 Claude 帮你处理网页上的重复工作,看《浏览器篇》。
简单书房的代码全部开源,Claude 写的设计文档和实施计划都在仓库的 docs/superpowers 目录里,可以去 GitHub 翻一翻它们长什么样。