返回文章列表
AI 开发2026-03-17

一个人 + Claude,5 天撸了一个全栈 AI 写作平台

真实开发记录:如何用 Claude Code 在 5 天内从零构建一个支持 6 个 AI 模型的全栈写作平台,包含 Web 应用、后端 API 和 iOS App,共 3 万行 TypeScript 代码。

先上数据:

23 个 commit,从第一行代码到上线

3 个端:Web 应用、后端 API、iOS App

128 个 TypeScript 源文件,约 3 万行代码

支持 6 个 AI 模型:Gemini、GPT、Claude、DeepSeek、通义千问、Kimi

全程只有我一个人,外加一个 AI 搭档——Claude Code

这个项目叫 StoryAlter(storyalter.com),一个 AI 驱动的网文创作平台。用户可以培养专属的「写作分身」,分身会学你的文风,越用越懂你。

这篇文章不是教你怎么用 AI 写小说,而是聊聊我怎么用 AI 写代码,从零到一做出了一个完整的产品

背景:为什么要做这个

我之前做过一个叫 StoryGlint 的工具,是一个无状态的 AI 写作辅助工具。用了一段时间发现一个核心问题:每次写作都要从头告诉 AI 你的风格偏好。写长篇的时候,AI 根本不记得你之前写了什么,每章都像找了个新枪手。

所以我想做一个有状态的版本——AI 不只是工具,而是你的创作伙伴,它能记住你的风格、积累创作经验、随着使用不断成长。

这就是 StoryAlter 的核心理念:Story + Alter Ego = 故事 + 另一个自我

想法有了,但一个人做全栈产品,按传统开发方式,怎么也要几个月。直到我开始用 Claude Code。

Day 1:架构搭建(从零到能跑)

第一天做的事情:

跟 Claude 对需求: 我把 StoryGlint 的产品文档和我的重构想法丢给 Claude,让它帮我设计整体架构。我们一起定了 Monorepo + pnpm workspaces、React + Vite + TypeScript 前端、Bun + Hono 后端、Supabase 数据库。Claude 直接帮我生成了完整的项目骨架——package.json、tsconfig、vite 配置、数据库 schema、RLS 策略,全部一步到位。

定义类型系统: 这一步非常关键。我让 Claude 先帮我把所有的 TypeScript 类型定义写好——分身的四维结构(灵魂、大脑、躯体、经验)、项目结构、角色类型。先定义接口,再写实现——类型系统相当于你和 AI 之间的"契约",后续所有代码都基于这些类型展开,AI 不会跑偏。

数据库 + 后端基础: Claude 帮我生成了完整的 Supabase migration:用户表、分身表、项目表、卷表、章节表、角色表,全部带 Row-Level Security。然后搭建了 Bun + Hono 的后端服务。

第一天结束时,项目能跑了。 前后端通了,数据库建好了,注册登录能用了。一个人手动搞这些,正常要一周。

Day 2-3:核心功能实现

这两天是产出最密集的时候。

AI 服务层: 六个 AI 提供商,每个的 API 格式、认证方式、错误码都不一样。我跟 Claude 的协作方式是:我描述需求和边界条件,它写实现,我 review 和调整。比如我说"支持多 key 轮换,额度用完自动切下一个,401 自动标记无效",Claude 就能写出完整实现,包括密钥轮换、配额检测、流式响应、超时重试。

分身系统: 每个写作分身有四个维度——灵魂、大脑、躯体、经验。写作时这四个维度被编译成 system prompt 注入 AI 对话。Claude 帮我实现了 buildAlterPrompt() 函数,把结构化 JSON 转化成自然语言提示词。

章节写作引擎: 大纲生成、章节内容生成、边界验证器(防跨卷泄露)、Token 压缩、反 AI 写作指南。每个模块我都是先讨论设计思路,确认方案后让 Claude 实现,然后测试微调。

前端 30+ 页面: 首页、仪表盘、分身管理、项目管理、章节编辑器(TipTap 富文本)、大纲管理、角色管理、全书档案、自动写作、阅读模式、封面生成、设置、管理后台、回收站……Claude 能一次性生成完整页面代码,包括布局、样式、状态管理、API 调用。我不需要从零搭积木,只需要调整细节。

Day 4:iOS App + 推广内容

是的,第四天就开始做移动端了。

选了 Expo(React Native),跟 Web 端共享 TypeScript 类型定义。让 Claude 基于 Web 端功能生成 iOS 版本。42 个源文件,包含 Apple 登录、项目管理、章节编辑、自动写作、设置页面。因为类型系统共享(@storyalter/types),很多逻辑直接复用。

同一天还让 Claude 帮我写了一批推广文章——知乎、V2EX、贴吧、小红书各一篇。这也是 Claude Code 的隐藏优势:它不只能写代码,还能写文案。在同一个项目上下文中,它对产品的理解比任何外部文案写手都深。

Day 5:修复、优化、部署

最后一天主要是收尾:修复 iOS 端的 snake_case 字段命名问题、头像缓存优化、统一 AI 提供商定义、部署到服务器(nginx + PM2)。后来我们还一起做了完整的 SEO 优化:robots.txt、sitemap、JSON-LD 结构化数据、Puppeteer 预渲染、FAQ 页面、写作指南栏目、llms.txt……

跟 Claude Code 协作是什么体验

它像一个极其高产的 CTO + 全栈工程师。 你描述需求,它给架构建议。你确认方案,它写实现。你指出问题,它立刻修复。没有沟通成本、没有排期延误。

上下文理解是核心。 Claude Code 最强的不是"能写代码"——现在哪个 AI 不能写代码。它最强的是理解整个项目上下文。当我说"把这个功能加到分身详情页",它知道详情页在哪、用了什么组件库、数据从哪来、状态怎么管。

但它不是万能的。 有几个我必须亲自把控的地方:

产品决策。 做什么不做什么、用户体验的取舍。"四维分身"概念是我自己想出来的,Claude 能实现但不会替我想

代码 Review。 Claude 的代码大部分是对的,但偶尔有边界 case 没处理好,不能闭眼 merge

调试。 Supabase RLS 权限问题、SSE 流在 nginx 后面的缓冲问题,需要对着日志一步步定位

审美和品味。 Claude 给你 80 分的方案,从 80 到 95 分需要自己磨

效率对比

传统方式(一个人全栈):架构设计 3-5 天 + 后端 2-3 周 + 前端 2-3 周 + iOS 1-2 周 + 测试 1 周 + 部署 2-3 天 = 6-8 周

用 Claude Code:5 天。 效率提升不是 2-3 倍,是 8-10 倍

给开发者的建议

1. 先想清楚再动手。 不要一上来就让 AI 写代码。花时间想清楚架构和数据流转,AI 是加速器但方向错了加速也没用。

2. 类型系统先行。 用 TypeScript 的话,先定义好所有类型和接口,这是你和 AI 的契约。

3. 小步快跑。 一个功能一个功能来,每次生成完都测试验证。

4. 保持代码 ownership。 AI 写的每一行代码你都要理解。你是项目 owner,不是 AI 的 reviewer。

5. 用好 CLAUDE.md。 把重要的设计决策、编码规范、部署方案写在里面,让 AI 在每次对话中都能参考。

结语

五天做出一个全栈产品,这在几年前是不可想象的。

但我想强调:AI 没有替代我,而是放大了我。 产品方向、核心创新、用户体验的判断,仍然需要人来做。AI 帮我跳过的是重复性编码工作——搭骨架、写 CRUD、实现 UI、处理边界 case。

如果你有想法但一直觉得"一个人做不出来",试试 AI 辅助开发。这个时代,一个人就是一支团队。

StoryAlter 完全免费,欢迎体验:storyalter.com

想要亲自体验?

StoryAlter 完全免费,自带 API 密钥即可开始创作