一个面向网文作者、拆书博主和内容策划者的 Web 工作台,用 AI 帮用户拆解爆款小说结构、沉淀可复用模板、迁移到新题材大纲,并在长篇创作过程中维护人物、伏笔、世界观和章节台账,避免越写越跑偏。
本项目不是“输入一句话,一键生成小说”的工具。它的核心是:
拆爆款结构 → 提炼爽点公式 → 生成模板库 → 迁移新题材 → 管理长篇创作状态
这是一个多用户 Web 产品,所有项目、模板、AI 任务和写作状态都按账号隔离,使用前需要注册或登录。
详细项目规范见 AGENTS.md,产品需求执行稿见 PRD.md,技术架构见 ARCHITECTURE.md,产品设计规范见 DESIGN.md。
用户应该能用这个工具完成三件事:
- 看懂一部成功网文为什么能留住读者。
- 把成功作品的故事流程、爽点节奏和章节结构沉淀成可复用模板。
- 基于模板创作新书,并通过结构化状态管理保证长篇不跑偏。
最终效果不是让 AI 替用户“乱写一章”,而是帮助用户更稳定地设计一本能连载、能留人、能持续制造期待的网文。
优先服务以下用户:
- 网文作者:学习爆款结构,生成新书大纲,稳定推进连载。
- 新手作者:快速理解开局、金手指、爽点、断章和节奏。
- 拆书博主:快速产出小说拆解、卖点分析和写法总结。
- 内容工作室:批量拆解题材,沉淀模板库,辅助选题和策划。
第一版优先面向个人作者和拆书用户,不优先做复杂团队协作。
- 进入系统先登录。
- 支持邮箱 + 密码注册和登录。
- 登录后通过会话 Cookie 保持状态。
- 每个用户只能看到和操作自己的项目、模板、AI 设置和任务。
- 客户端由用户自行配置 AI 服务商、请求地址、API Key 和模型名。
- 支持账号用量查看和数据导出,账号删除不作为普通用户日常功能入口。
- 支持管理员后台生成授权码、查看客户激活状态和 AI 用量。
当前已补齐第一版推广前的基础能力:
- 新手引导:按“创建项目 → 导入文本 → 分析 → 模板 → 创作”完成首轮流程。
- 套餐与额度:展示项目、模板、本月 AI 任务和导入字符用量。
- 数据导出:可导出当前账号名下的项目、模板、分析结果、任务和写作状态。
- 空数据启动:不预置样例项目,用户注册后只看到自己创建和导入的数据。
- 任务进度:任务队列显示百分比进度与可重试状态。
- 流式生成:正文草稿和二稿改写支持实时出字,完成后自动保存到项目。
- 一次性授权:客户端首次启动输入授权码,后续使用用户自己的 AI Key,不走平台积分计费。
- 管理后台:管理员可生成授权码、查看客户激活状态、处理换机和禁用授权。
- 合规说明:明确隐私、版权边界和结构学习原则。
项目现在按运行端拆分,通过环境变量 APP_RUNTIME 控制:
desktop:Tauri 客户端。首次启动输入授权码,数据默认保存在本机,用户在 AI 设置页填写自己的请求地址、API Key 和模型名。cloud:云端授权中心和管理员后台。部署到 Vercel/服务器,用来生成授权码、校验客户端激活、管理客户和版本发布。
桌面客户端建议设置:
APP_RUNTIME="desktop"
LICENSE_SERVER_URL="https://你的授权中心域名"
LICENSE_SERVER_TIMEOUT_MS="30000"云端授权中心建议设置:
APP_RUNTIME="cloud"
APP_AUTH_PROVIDER="local"
DATABASE_URL="file:/www/wwwroot/book/data/license-center.db"
APP_STORE_PATH="/www/wwwroot/book/data/app-db.json"
ADMIN_EMAILS="你的管理员邮箱"如果云端只用于管理员下发授权码和客户端激活校验,使用本地账号体系 + SQLite 即可。完整部署步骤见 DEPLOYMENT.md。
如果你已经配好 SSH,可以直接用 npm run deploy:server 一键把改动发到服务器。
授权中心也提供客户端下载中心:
/download
GitHub Actions 打好 Windows x64、macOS arm64、macOS x64 三个安装包后,可以执行:
npm run release:download
DOWNLOAD_BASE_URL="https://你的下载域名" npm run downloads:manifest脚本会整理安装包并生成 manifest.json,下载中心页面和客户端“检查更新”都会读取这份发布清单。
作者端采用 Tauri 承载现有 Next 工作台,管理端继续部署在云端授权中心。
npm run tauri:dev # 本地客户端开发
npm run tauri:build:mac:arm64 # 本机打 Apple 芯片 Mac 包
npm run release:tauri # GitHub Actions 打三端发布包详细说明见 DESKTOP.md。
第一版产品围绕一条主链路设计:
上传文本
↓
自动分章
↓
逐章拆解
↓
提取爽点与节奏
↓
总结爆款公式
↓
保存为模板
↓
迁移到新题材大纲
↓
进入创作工作台
↓
生成章节任务卡、正文、台账和审稿报告
灵感中心作为补充入口,承接作者随时冒出的桥段、设定、人物、伏笔和台词,再把它们整理成可进入大纲、任务卡、人物档案、伏笔表和创作圣经的素材。
任何新功能都应该先判断是否服务这条链路。
- 先注册账号或登录现有账号。
- 创建拆书项目或写作项目。
- 导入文本后开始分章、拆解和分析。
- 第一次使用建议先进入新手引导页跑完整条主链路。
后台 AI 任务可以通过登录态在页面触发,也可以用 Worker Token 批量执行:
JOB_WORKER_TOKEN=your-secret npm run dev
curl -X POST http://localhost:3000/api/jobs/worker \
-H "content-type: application/json" \
-H "x-worker-token: your-secret" \
-d '{"limit":10}'如果想长期跑后台任务,可以直接用:
JOB_WORKER_TOKEN=your-secret JOB_WORKER_INTERVAL_MS=5000 npm run worker每轮开发后建议执行:
npm run acceptance
npm run typecheck
npm run buildacceptance 会检查拆书、模板、大纲、创作、状态、二稿、后台 Worker 和数据库镜像这些第一版关键契约是否还在。
支持上传 TXT 或粘贴长文本。
系统需要自动识别常见章节格式:
第1章 标题
第一章 标题
Chapter 1
001 标题
卷一 / 第一卷
用户可以预览章节列表,并手动调整切分结果。
每章不只是做摘要,而是拆成可计算、可复用的结构化信息:
{
"chapter_number": 1,
"title": "章节标题",
"summary": "本章概述",
"main_event": "本章核心事件",
"conflict": "本章主要冲突",
"pressure_point": "主角或关键人物被压制的地方",
"payoff": "本章释放的爽点或收益",
"cliffhanger": "章末钩子",
"new_information": ["新增信息"],
"new_characters": ["新增人物"],
"state_changes": ["人物、关系、资源、地图或主线状态变化"],
"reader_hook": "读者继续读下一章的理由"
}第一版至少识别这些爽点类型:
- 被轻视后反击。
- 打脸反派。
- 身份曝光。
- 战力碾压。
- 金手指奖励。
- 资源获取。
- 危机反转。
- 众人震惊。
- 情绪补偿。
- 地位提升。
- 复仇推进。
- 信息差误会。
爽点分析必须回答:
- 爽点前的压制是什么。
- 爽点在哪里释放。
- 爽点为什么有效。
- 爽点是否推动主线。
系统需要分析:
- 开局钩子。
- 主角初始处境。
- 金手指出现时机。
- 主线目标建立时间。
- 小爽点频率。
- 大爽点频率。
- 地图推进节奏。
- 反派升级节奏。
- 伏笔埋设与回收节奏。
- 章节断点习惯。
示例输出:
开局:主角被退婚,同时家族认定他已经废掉。
金手指:第2章出现,第3章第一次兑现奖励。
小爽点:平均每2-3章一次。
大爽点:约每8-10章一次。
主循环:被误判 → 被挑衅 → 主角出手 → 众人震惊 → 获得新资源 → 引出更高层敌人。
系统需要把小说提炼为可迁移的故事公式:
- 题材类型。
- 主角模型。
- 开局模型。
- 金手指机制。
- 核心冲突循环。
- 爽点释放规律。
- 反派功能。
- 配角功能。
- 地图/势力升级路线。
- 可迁移结构。
- 不建议照搬的内容。
产品只复用商业结构和情绪曲线,不鼓励复制原文、角色名、标志性设定和具体桥段。
用户可以把拆解出来的公式保存为模板。
模板示例:
{
"template_name": "都市退婚打脸流模板",
"genre": "都市逆袭",
"protagonist_model": "被轻视的隐藏强者",
"opening_hook": "退婚/羞辱/能力觉醒",
"golden_finger": "系统或传承",
"main_loop": "被误判 → 被挑衅 → 反击 → 震惊 → 获得资源",
"chapter_pacing": "2-3章小爽点,8-10章大爽点",
"usable_patterns": ["可迁移结构"],
"avoid_copying": ["不可照搬内容"]
}模板库需要支持新建、查看、编辑、分类和从模板生成新书大纲。
用户选择模板后,可以输入新题材变量:
- 题材。
- 主角身份。
- 金手指类型。
- 世界观背景。
- 爽点密度。
- 感情线强度。
- 黑暗程度。
- 目标读者。
- 预计篇幅。
系统输出:
- 书名方向。
- 简介。
- 核心卖点。
- 世界观简表。
- 主角设定。
- 主要人物功能表。
- 前 10 章大纲。
- 前 100 章节奏表。
- 伏笔安排。
- 爽点分布。
灵感中心用于保存作者随时想到的情节设定、故事构思、人物、伏笔、台词和其他创作想法。它不是普通备忘录,而是素材池、AI 整理台和创作投喂入口。
第一版需要支持六类能力:
- 新增灵感:记录标题、正文、类型、标签、关联项目和状态。
- 灵感分类:支持情节、人物、世界观、爽点、伏笔、设定、台词、选题、书名和其他类型,并支持自定义标签。
- 增删改查:支持创建、查看、编辑、删除、关键词搜索、类型筛选、标签筛选、项目筛选、状态筛选和更新时间排序。
- AI 润色:支持润色表达、扩写设定、改成更网文化、提炼一句卖点、分析爽点潜力、生成变体、生成章节任务、转人物卡草稿和转伏笔草稿。
- 关联项目:灵感可以不关联项目,也可以关联到某本小说项目;后续可继续关联人物、伏笔、章节、卷纲和创作圣经。
- 一键转化:从灵感生成结构化草稿,例如人物档案、伏笔、章节任务卡、创作圣经补充、世界观设定、短大纲和桥段变体。
基础字段建议:
{
"id": "inspiration_id",
"user_id": "user_id",
"project_id": "project_id_or_null",
"title": "灵感标题",
"content": "用户原始灵感",
"type": "plot | character | worldbuilding | pleasure_point | foreshadowing | setting | line | topic | title | other",
"tags": ["信息差", "高压开局"],
"status": "raw | polished | used | archived",
"ai_outputs": [],
"linked_entity_type": "project | character | foreshadowing | chapter | outline | bible | null",
"linked_entity_id": "entity_id_or_null"
}转化规则:
- AI 整理结果不能覆盖原始灵感。
- 写入人物、伏笔、任务卡或创作圣经前,必须由用户确认。
- 已转化的灵感标记为
used,并保留来源引用。 - 关联项目后,AI 润色需要参考项目创作圣经、人物、伏笔和主线状态。
这是产品和普通 AI 写作工具的主要区别。
每个创作项目都必须维护一份结构化项目状态:
- 创作圣经。
- 世界观设定。
- 人物档案。
- 战力/能力体系。
- 地图与势力表。
- 主线进度表。
- 章节台账。
- 伏笔表。
- 未解决悬念。
- 已回收伏笔。
- 禁止违反的设定。
生成新章节时,不把所有正文塞给 AI,而是读取“短、准、结构化”的上下文:
- 创作圣经。
- 当前卷纲。
- 最近 3-5 章台账。
- 本章相关人物卡。
- 本章相关伏笔。
- 当前主线目标。
- 上一章结尾钩子。
- 本章必须完成的剧情任务。
长篇创作应该按下面的流程运行:
选择项目
↓
读取创作圣经、人物、伏笔、主线状态
↓
生成本章任务卡
↓
用户确认或修改任务卡
↓
生成章节正文
↓
生成章节台账
↓
更新人物状态、伏笔状态、主线状态
↓
进行一致性审稿
↓
进入下一章
生成正文前,系统必须先给出任务卡:
本章目标:
承接上一章:
必须推进的主线:
必须使用的人物:
要释放的爽点:
要埋设或回收的伏笔:
不能违反的设定:
章末钩子:
每章生成后需要检查:
- 是否违反世界观规则。
- 是否违反金手指限制。
- 人物行为是否崩坏。
- 人物是否知道了不该知道的信息。
- 是否忘记上一章钩子。
- 是否推进主线。
- 是否引入未记录的新设定。
- 爽点是否有效。
- 是否有重复桥段。
- 是否造成战力膨胀失控。
- 是否有明显 AI 味。
第一版建议包含这些页面:
- 项目首页:小说项目、拆书项目、模板库和灵感中心入口。
- 文本导入页:上传或粘贴文本,自动分章。
- 章节拆解页:逐章查看摘要、冲突、爽点、钩子。
- 整书分析页:查看节奏、公式、人物功能、爽点曲线。
- 模板库页:管理可复用模板。
- 灵感中心页:记录、检索、润色和转化灵感。
- 大纲生成页:选择模板并迁移到新题材。
- 创作工作台:生成任务卡、正文、台账和审稿报告。
- 状态管理页:维护人物、伏笔、世界观和主线进度。
这个产品不能只靠前端。前端负责交互,后端负责 AI 调用、任务调度和持久化记忆。
建议第一版使用:
- 前端:Next.js / React。
- 后端:Next.js API Routes 或独立 Node.js API。
- 数据库:SQLite。
- 数据访问:当前使用
better-sqlite3维护本地结构化表。 - 任务队列:MVP 可先用数据库任务表,后续升级为 BullMQ / Redis。
- 文件存储:MVP 可先存数据库,后续升级到 S3 / R2。
- AI 调用:统一封装在后端,不能把模型 API Key 放到前端。
推荐架构:
Web 前端
负责上传、编辑、预览、工作台和结果展示
后端 API
负责用户、项目、文本处理、AI 调用、权限和任务创建
数据库
保存项目、章节、分析结果、模板、灵感、人物、伏笔、台账和审稿报告
任务队列
处理长文本拆解、批量章节分析、失败重试和进度更新
后续至少需要这些核心实体:
- User:用户。
- Project:项目。
- SourceText:原始文本。
- Chapter:章节。
- ChapterAnalysis:章节分析。
- StoryFormula:故事公式。
- Template:模板。
- Outline:大纲。
- WritingBible:创作圣经。
- CharacterProfile:人物档案。
- Foreshadowing:伏笔。
- PlotState:主线状态。
- ChapterLedger:章节台账。
- ReviewReport:审稿报告。
- Inspiration:灵感。
- AiJob:AI 任务。
用户上传一篇前 30 章小说后,系统能:
- 自动切出章节。
- 逐章生成结构化拆解。
- 标注每章冲突、爽点、收益和钩子。
- 总结整书开局、节奏和主循环。
- 提取可保存的故事公式。
- 生成一个可迁移模板。
用户选择模板和新题材后,系统能:
- 生成新书简介。
- 生成核心卖点。
- 生成前 10 章大纲。
- 生成前 100 章节奏表。
- 标注哪些结构来自模板,哪些是新题材变量。
用户记录一批灵感后,系统能:
- 支持新建、查看、编辑、删除灵感。
- 支持按关键词、类型、标签、状态和项目筛选灵感。
- 支持至少一种 AI 润色,并保留用户原始内容。
- 支持把灵感关联到项目。
- 支持从灵感生成结构化草稿,例如人物、伏笔或章节任务卡。
- 转入正式项目资产前要求用户确认。
用户基于大纲连续生成至少 10 章后,系统能:
- 每章生成前提供任务卡。
- 每章生成后更新章节台账。
- 自动更新人物状态。
- 自动维护伏笔状态。
- 审查是否违反前文设定。
- 发现至少一类潜在跑偏问题并给出修改建议。
用户输入一段 AI 生成的拆书分析或小说正文后,系统能:
- 标出 AI 味重的句子。
- 解释问题原因。
- 提供更有人味、更有判断力的改写版本。
- 保留原意,不乱加设定。
第一版不做:
- 纯聊天式 AI 写作工具。
- 一键洗稿工具。
- 复杂多人协作。
- 移动端 App。
- 复杂排版投稿系统。
- 依赖一次性超长上下文解决长篇记忆问题。
产品必须区分“结构学习”和“内容复制”。
允许:
- 分析用户合法拥有或有权处理的文本。
- 提取通用结构、节奏和爽点规律。
- 生成迁移到新题材的新大纲。
- 总结抽象模板。
不允许:
- 复刻原文句子。
- 照搬角色名称和标志性人设。
- 照搬独特世界观和专有设定。
- 按章节顺序重写同一本书。
- 输出可被视为规避版权的洗稿内容。
- 初始化 Web 项目。
- 建立数据库和 ORM。
- 建立项目、文本、章节、任务的基础数据模型。
- 完成文本上传、粘贴和自动分章。
- 实现逐章 AI 分析。
- 保存章节分析结果。
- 展示章节拆解列表。
- 实现整书节奏分析。
- 从分析结果生成故事公式。
- 保存到模板库。
- 从模板生成新题材大纲。
- 展示前 10 章大纲和前 100 章节奏表。
- 创建创作圣经、人物档案、伏笔表、主线状态。
- 生成章节任务卡。
- 生成章节正文。
- 生成章节台账。
- 更新项目状态。
- 检查设定冲突、人物崩坏、伏笔错乱。
- 检查爽点是否有效。
- 标注 AI 味明显的表达。
- 提供二稿改写建议。
当前最应该先做的是:
- 跑完整体验收闭环,把“拆书 → 模板 → 大纲 → 创作 → 审稿”真正串通。
- 完成 Tauri 客户端打包、更新发布和本地数据库路径迁移。
- 补齐自动化测试和错误提示,让真实用户不容易卡住。
现在已经不是搭骨架的阶段,而是把整套工作流磨顺的阶段。