返回案例
自有项目已上线

FanficWizard:免费额度、积分付费、内容安全俱全的生产级 AI 写作工具,3 天上线

一个 AI 同人小说生成器:流式输出、刷不动的免费额度、用积分写整章并接着续写、两层内容安全、三个支付通道。基于我自己的可复用模板,用 Claude Code 开发,从第一次提交到上线 3 天。

角色
独立完成 —— 产品、SEO、设计、全栈与 AI 工程、支付、运营
技术栈
Next.js 16React 19TypeScriptTailwind CSS 4PostgreSQL (Neon)Prisma 7Better AuthZodVitestCloudflare TurnstileWaffo · PayPal · StripeVercelClaude Code

概览

  • 挑战: 做一个真正收钱的 AI 产品,而不是 Demo:免费额度不能被刷,模型花费不能失控,内容规则要严到支付平台接受,一个人也要能收到钱。
  • 方案: FanficWizard,AI 同人小说生成器。免费短场景不用注册;用积分写整章,还能接着续写。底层是我自己的 AI 工具站模板 Novalith。
  • 结果: 2026 年 10 月 23 日开工,10 月 25 日在 fanficwizard.com 上线;327 个自动化测试通过;三个支付通道在测试环境端到端跑通。刚上线,还没有流量和收入数据。

FanficWizard 首页:首页就是工具FanficWizard 首页:首页就是工具

挑战

写同人的人常常卡在某一场戏;看同人的人想看自己 CP 的某个梗,却没人写过。他们找到的免费工具写得短、角色口吻不像,续写两段就忘了设定。

要把它做成产品,就会遇到所有生产环境 AI 功能都要回答的问题:

  • 免费额度要够试用,但不能让脚本把模型预算刷光。
  • 模型花费要有按真实 token 计算的每日硬上限,而不是估算。
  • 内容规则要同时管住请求和生成结果——支付平台不接受会写露骨内容的工具。FanficWizard 只写青少年级(Teen)内容,绝不写涉及未成年人的恋爱或性内容。
  • 收款:个人开发者不能只押一个支付平台。
  • 被找到:要能被搜索引擎和 AI 助手收录,赚钱之前固定成本接近零。

方案

首页就是工具。 作品、角色或 CP、可选的设定、最多 3 个梗、基调、人称、长度。故事边写边显示,结尾附 AO3 格式的标题、分级、简介和标签。

免费用积分
账号不用注册Google 登录
额度每天 3 次每章 1 积分
长度短场景,约 500 词整章,约 1,500 词
模型档位便宜模型更好的写作模型
续写—在作品库里一章接一章

续写不跑偏。 付费章节存进作品库。点“Continue this story”时,模型拿到的是作者写的人设、到目前为止的前情摘要、上一章的结尾,以及可选的“接下来发生什么”。

首页的示例同人,只用原创角色首页的示例同人,只用原创角色

加工具页 = 加配置。 除了首页,还有读者代入(x reader)生成器、作品目录页和单个作品的落地页。每页有自己的表单、提示词、模型档位、积分价格和 FAQ,背后是同一个引擎。

能运营的后台。 当日花费对比上限;每次生成的记录,失败或被拦截时写明原因;内容拦截;按流量来源看收入;模型通道状态;积分流水。付款方式和模型通道都能在后台开关,不用重新部署。

技术亮点

FanficWizard 架构图FanficWizard 架构图

生产环境的问题FanficWizard 怎么处理
加一个工具一个引擎,每页一份配置:字段、提示词模板、模型档位、积分价格、FAQ。加工具页就是加一条配置,构建时用 Zod 校验
等待输出流式输出;访客可以随时停止;被输出上限截断的结果会被识别并标注
免费额度被刷每天 3 次,按加盐的 IP 哈希和账号同时计数,前面有 Cloudflare Turnstile;IP 只从可信代理读取,伪造不了;失败的请求不计次数
不安全的内容两层检查(OpenAI Moderation + 用便宜模型做的分类器):写之前查请求,边写边查结果,约每 400 词一次。命中、出错、超时一律拦截。被拦的文本不保存,积分退回。日志只记阶段、哪一层、什么类别,从不记正文
模型通道挂了按顺序排列的多个 OpenAI 兼容通道:第一个字出来之前失败就自动切到下一个;连续失败 3 次熔断 5 分钟,状态存在数据库里,多个服务器实例共享;开关和顺序在后台设置
成本失控调用前按候选通道里的最高价预留,调用后按提供商返回的实际 token 记账;全站每日上限,免费额度另有一个上限
支付Waffo、PayPal、Stripe 三个通道。只有验签通过的 webhook 才发积分,每笔订单只发一次;退款和拒付扣回积分;测试密钥在正式站上发不了积分;每个通道后台可开关;订单记录用户第一次来访的来源
搜索与 AI 回答服务端渲染;SoftwareApplication + FAQPage 结构化数据由配置自动生成;FAQ 用用户问 AI 的原话(如 "Is there a free AI fanfic generator with no sign-up?");robots 放行 AI 搜索爬虫;构建检查强制执行
泄露密钥或提示词CSP 和安全响应头;公开文件里出现密钥,构建直接失败;输出开始复述系统提示词时立即停止

底层是我自己的模板。 上面这些都在 Novalith 里。登录、积分、支付、后台、作品库都是可移除的模块,有脚本逐个删掉再构建来证明。引擎的改动都回到模板;FanficWizard 仓库里只有配置、文案、品牌素材和几处很小的布局调整,下一个站从同一个底座开始。

3 天上线,再修只有生产环境才暴露的问题

从第一次提交到网站上线,FanficWizard 用了 3 天(2026-10-23 至 10-25)。做法和客户项目一样:一份简短的产品规格,每个功能一份书面指令,由 Claude Code 实现,所有改动都要先过 npm run verify(lint、类型检查、测试、许可证检查、构建 + 密钥扫描、SEO 检查)。

日期做了什么
10-23导入模板,写站点配置和文案;修模板问题、安全加固
10-24接真实模型端到端跑通:免费流式生成、每日额度、露骨请求被拒、Google 登录、付费章节存进作品库
10-25fanficwizard.com 上线;模板加入 Waffo 和 PayPal 支付、后台开关、来源归因、模型通道自动切换;同一天接入 Stripe
10-27 至 10-28新后台、读者代入页和作品页、Google One Tap;三个支付通道在测试环境验证通过

有四个问题只有接真实服务才暴露:

  1. 一个模型提供商对我的账号不可用。 解决办法是不依赖任何一家:网站对接任意 OpenAI 兼容通道,模板加上了按顺序的多通道自动切换、熔断和后台开关。
  2. 内容审核接口写死了官方地址。 改成可配置的接口地址,先用小脚本验证通过再启用。
  3. 付费章节被截断——输出上限 2,400 token 不够。上限提到 3,200,提示词要求按时收尾,并加上检测:提供商返回“因长度停止”时记录下来,读者会看到“可能在句中结束”的提示。
  4. 模板测试写死了演示站内容,新站一跑就失败。现在测试用自己的样例数据,任何站点都能通过。

质量与测试

检查结果
自动化测试327 个通过(Vitest)——内容规则、流式输出、通道切换与熔断、免费额度、积分流水、各支付通道的 webhook、安全响应头、SEO
发布门槛npm run verify:lint、类型检查、测试、许可证检查、生产构建、密钥扫描、SEO 检查
模块可移除脚本逐个删掉可选模块后重新构建
真实模型免费流式生成、每日额度、露骨请求被拒、登录、付费章节保存
支付Waffo、PayPal、Stripe 在测试 / 沙盒环境:下单 → webhook → 发积分 → 退款扣回

结果与边界

方面现状
状态2026-10-25 上线;生产环境已开放付款
流量与收入太早:还没有流量、用户和收入数据,也还没有真实订单。有数据后再补
模型自动切换模板里已实现并有测试;线上目前只配了一个通道,备用通道随时可以加一条配置启用
定价积分包按估算的模型成本定价,实测后再调整
导出复制文本(含 AO3 格式信息);EPUB 还没做

交付过程

阶段产出
需求产品规格:用户、免费与付费、定价假设、内容规则、上线清单
SEO / GEO选词、页面标题、用真实问题写的 FAQ、结构化数据
UI首页即工具、流式结果区、定价页、作品库、后台
架构基于 Novalith 的配置驱动工具引擎;可移除模块;PostgreSQL
开发每个功能一份书面指令,用 Claude Code 实现
测试单元测试、verify 门槛、真实模型运行、支付沙盒测试
上线Vercel、自定义域名、Google Search Console、GA4 和 Microsoft Clarity

有类似的项目?

把业务背景、核心功能、预算和时间写进项目简报,几分钟就能整理出一个具体的起点。

填写项目简报