AI 长篇小说智能创作工作台。
NovelForge 基于 Electron + React + TypeScript + SQLite,面向的不是“一次性生成一章短文”,而是中长篇、长篇、系列小说的持续生产。它把立项、底盘、世界资产、推进结构、章节合同、正文流水线、章后回写、修订和质量监控接成一套完整链路。
它主要解决长篇创作里最难稳定的几件事:
- 写之前,先把读者承诺、故事定位、主题口吻、世界边界和终局收束定清楚。
- 写过程中,把主线、支线、人物弧、伏笔、谜题、时间轴、成长代价挂到统一结构里。
- 让正文写作不再只靠一句提示词,而是明确受章节合同和场景合同约束。
- 写完之后,把新增事实、状态变化、线程推进和风险重新写回总账,而不是留在正文里失控。
- 在连续几十章推进时,持续监控 AI 味、节奏漂移、章节功能失衡、故事弧空转和状态冲突。
第一次上手,建议按下面顺序走。这个顺序对应当前工作台的引导思路,能最大程度减少后面返工。
创作总览/基础信息项目立项基础设定主题与文风世界规则终局设计地图结构、物品装备、角色系统、势力系统人物弧线、反派与阻力、设定词典、场景模板故事线程故事设计故事大纲、卷级设计、阶段计划、结构规划时间轴、信息差谜题板、伏笔回收账本、成长资源代价章节合同正文写作章后状态回写修订中心质量监控
说明:
- 同一阶段里的页面可以穿插补,但总体顺序最好不要反过来。
- 如果还没做合同、时间轴、故事线程和大纲,正文写作阶段会缺关键约束。
阶段计划不是复制一份人物表或地图,而是按章节窗口登记当前资产焦点、细化程度和交接条件;百万字项目建议先按 50–100 章建立窗口,再随正文推进扩展下一段。- 修订中心和质量监控不是收尾装饰,而是长篇持续推进时的常驻控制台。
这一阶段先回答一个问题:这本书到底是什么,打算写给谁看,靠什么成立。
创作总览看全局进度、当前风险、推荐下一步、工作区健康状态。基础信息维护书名、简介、背景说明、目标字数等基础字段。项目立项维护目标读者、核心卖点、读者承诺、内容禁区、商业定位。基础设定维护故事定位、核心钩子、主角起点、底层约束、语言护栏。主题与文风维护主题、情感核心、POV、时态、风格规则、对白规则、写作约束。
这一阶段定下来的内容,会直接影响后续世界生成、故事设计、正文生成和质量判断。
这一阶段的目标不是“补设定”,而是把后面所有内容要依赖的资源先做成稳定资产。
世界规则定义题材规则、力量体系、社会结构、禁用元素、时间制度和写作硬约束。终局设计维护结局模式、最终冲突、主题答案、必须兑现的承诺、回收清单、保留未知项、终章意象、最后一幕。地图结构维护地点层级、路线关系、空间冲突、路程成本和情节承载点。势力系统维护组织、阵营、归属、关系网络、外部压力来源。角色系统维护主角与关键角色 roster、角色定位、人物关系、出场资产。人物弧线维护人物弧、关系弧、最近推进章节、阶段状态。反派与阻力维护人物反派、环境阻力、制度阻力、阻力轨道和出手记录。物品装备维护道具、资源、装备、关键线索和可回收物件。设定词典维护专有名词、阶位、材料、术语、世界内部固定说法。场景模板沉淀高频场景骨架,复用常见节拍、冲突形态和信息载荷。
这一阶段完成后,后面不管是设计故事,还是写章节,都会有清晰的资产来源,而不是空白起稿。
这一阶段要把“有设定”变成“有推进路径”。
故事线程把主线、支线、伏笔线、角色目标线挂成可追踪线程。故事设计定义故事目标、核心冲突、主线剧情、支线设计、节奏配比、结局方案。故事大纲以章节为粒度安排推进、转折、阶段兑现和主线落点。卷级设计为每卷定义卷目标、卷闭环、卷内压力和与终局的连接方式。结构规划把全书拆成卷、部、章、场景;建立章节骨架和场景片段。时间轴维护事件顺序、因果承接、时间锚点、前后逻辑。信息差谜题板维护线索、谜题、真相、不同视角已知信息和揭示顺序。伏笔回收账本维护伏笔埋设、回收状态、欠账情况和对应章节。成长资源代价维护成长轨道、资源稀缺、收益与代价,避免主角只涨不付出。
这一步的核心价值,是让剧情推进、谜题回收、节奏安排和人物成长都能挂在结构上,而不是散在笔记里。
这一阶段把“大纲要求”升级成“可执行约束”。
章节合同为每章维护本章目标、服务线程、必须推进的弧线、必须出手的阻力线、必须出现的资产、必须服务的终局承诺、必须处理的伏笔、禁止动作、验收要求、结尾钩子类型。场景合同为每个场景维护 POV、时间地点、场景目标、障碍、冲突类型、情绪变化、信息揭示、结果状态、衔接方式,并绑定终局承诺和伏笔账本。推进回写入口在合同页里可以把本章实际推进回写到人物弧、关系弧和阻力线。
这一步完成后,正文流水线不是根据一句模糊摘要生成,而是明确绑定当前合同版本运行。
正文写作页不是纯编辑器,而是章节生产控制台。
章节编辑维护章节状态、正文内容、章节字数和当前草稿。场景结构预览直接查看当前章的场景片段、场景顺序、地点、时间锚点和作用。上下文与记忆查看连续性报告、故事记忆、伏笔快照、时间轴事件、相关人物、世界事实和卷级真相约束。章节流水线当前采用Planner -> Writer -> Critic -> Rewriter -> Canonizer -> Finalize六角色流水线。阶段观测能看到当前阶段、任务 ID、上游任务、合同版本、Canon Run、耗时、Token 消耗、失败原因和恢复提示。审校与验收支持 AI 评分、问题清单、连续性检查、合同对账、章节验收门结果。版本历史可查看章节版本、来源、恢复记录。并行生成分析可分析哪些叙事线适合并行生成,哪些章节必须串行。
这里的目标不是“按按钮出一章”,而是让正文生成、审校、修订、定稿、回写草案生成都可追踪、可回查、可恢复。
写完一章后,系统不会只留下正文文本,而是把正文里的变化重新整理回资产总账。
事实抽取从章节正文中抽取结构化事实草案。八类资产覆盖统一覆盖人物、世界、物品、关系、线程、伏笔、谜题、时间轴八类资产。Canon 候选管理对每条状态差异进行接受、拒绝、编辑。批量处理按资产类型、确认状态、回写状态筛选,并支持批量接受、批量拒绝。统一写回把确认后的候选一次性写回总账。失败重试对失败项单独重试,不必整章重做。前后状态对比直接查看回写前后 JSON 差异,明确修改内容。
这一步是整套系统和“单纯 AI 写文”最大的分界点之一。NovelForge 的目标不是只产出文本,而是维护一份持续更新的小说资产账本。
这一阶段负责处理“章节写出来了,但系统是否还能长期稳定推进”。
修订中心统一管理人工任务和系统任务,支持状态流转、优先级、关联页面、AI 自动修复、带上下文跳转处理。系统体检自动汇总一致性问题、时间轴问题、上下文过期、未解决高优先问题。阻塞管理直接标记哪些问题会影响后续写作、批量生成和章节稳定性。质量监控做全书、卷级、章节级三层质量观察。
质量监控 目前重点覆盖下面这些功能:
全书健康总览看全书健康分、风险概览、优先处理问题。长篇写作架构面板看章节流水线累计次数、运行中数量、各角色成功/失败/阻断统计、平均耗时和 Token 消耗。卷级健康面板看不同卷的风险分布和卷级摘要。终局债务预警看哪些终局承诺和回收义务长期没有被服务。质量热力图按章节看评分冷热分布。评分趋势看总分走势和 AI 味走势。薄弱维度分析看哪些维度最常掉分,例如文笔、逻辑、节奏、人物、世界一致性。语言退化监控看近期哪些表达指标正在恶化或改善。对白指纹看角色对白相似度、角色声音漂移、高相似角色组合。主角与节奏看主角受挫率、压力走势、代价蒸发、反转支撑、节奏失衡。章节功能分析看每章主要承担的是铺垫、推进、反转、回收、喘息、爆发、解释还是收束,并识别重复功能链。章节验收门看每章是通过、预警、阻塞还是退回重写,并跟踪门禁漂移。故事弧推进看各条弧线哪些章节是真推进,哪些章节在空转。召回可靠性看上下文召回依赖率、过期召回率、兜底命中情况。世界状态稳定性看人物、势力、物品、关系、地点的状态跳变、冲突和预警。
这一阶段的作用,是把“写崩了以后才发现”变成“写着写着就能看到哪里开始坏了”。
如果你不是第一次上手,而是想快速知道某个页面干什么,可以直接看这一节。
创作总览:看进度、风险、推荐下一步。基础信息:书名、简介、背景、目标字数。项目立项:目标读者、卖点、承诺、禁区、定位。基础设定:定位、钩子、主角起点、底层约束。主题与文风:主题、情感核心、POV、时态、风格规则、对白规则。
世界规则:世界运行规则与写作硬约束。终局设计:结局模式、最终冲突、回收清单、最后一幕。地图结构:地点结构与空间推进关系。势力系统:组织关系和外部对抗结构。角色系统:角色 roster 和基础关系。人物弧线:人物弧和关系弧推进。反派与阻力:反派来源和阻力轨道。物品装备:道具、资源、线索。设定词典:专有词汇和世界用语。场景模板:高频场景的可复用模板。
故事线程:主线、支线、伏笔线追踪。故事设计:故事目标、核心冲突、主线、支线、结局。故事大纲:章节推进与关键转折。卷级设计:每卷目标、压力、闭环。阶段计划:按章节窗口增量扩展人物、地点、世界和剧情资产。结构规划:卷/部/章/场景拆分。章节合同:章节与场景的执行合同。时间轴:事件顺序与因果链。信息差谜题板:谜题、线索、真相与视角信息差。伏笔回收账本:伏笔埋设、欠账、回收。成长资源代价:成长曲线、资源稀缺、收益代价。正文写作:章节编辑、流水线生成、审校、历史、上下文查看。章后状态回写:事实抽取、Canon 候选、统一写回。修订中心:系统任务、人工任务、体检问题、自动修复。质量监控:全书健康、趋势、漂移、验收门、世界状态稳定性。
除了各个业务页面,整个工作台还有一组通用能力:
全局搜索可以在章节、线程、时间轴、角色、物品、地点之间快速搜索。章节跳转可以按章节号或标题快速定位到正文页。推荐下一步根据当前项目数据状态,直接给出下一步建议入口。AI 质量看板除总览、质量监控等少数页面外,很多工作区都可直接拉起页内 AI 质量面板。撤销最近操作支持对最近可撤销操作做统一回退。快捷键支持保存、搜索、跳章、上一章/下一章等常用操作。
Electron主进程负责 IPC、本地任务、文件能力、数据库和工作流执行。React + Ant Design渲染层负责工作台页面、写作界面、合同页、质量看板等交互。SQLite + Drizzle ORM本地数据持久化。Zustand前端状态管理。
electron/services核心业务服务,包括章节流水线、任务、上下文、质量、回写、时间轴、资产维护等。electron/database数据库 schema、连接与迁移。src/pages/Novel长篇工作台页面入口和各模块页面。src/shared快照解析、规则定义、工作流辅助逻辑。src/stores渲染层状态管理。
- 上下文分层,而不是把所有设定粗暴塞进同一个 Prompt。
- 合同驱动写作,而不是直接根据模糊大纲生成正文。
- 任务统一观测,而不是让每个页面各自处理 AI 失败。
- 写后统一回写,而不是让正文和资产长期脱节。
- 看趋势和漂移,而不是只盯单章分数。
建议环境:
- Node.js
18+ - npm
9+ - Windows 桌面环境
安装依赖:
npm install启动开发:
npm run dev网页端本地运行(与桌面端共用 SQLite、服务层和任务事件流):
npm run dev:web网页端默认地址为 http://127.0.0.1:4175,本地后端为 http://127.0.0.1:8787。网页端的 /rpc、/health 和 /events 均由 Vite 转发到本地后端;/events 使用 SSE 推送任务进度、流式输出和生成阶段事件。
npm run dev
npm run previewnpm run typecheck
npm run test
npm run test:unit
npm run test:smoke
npm run test:migrations
npm run test:workflow-resilience
npm run test:workspace-routing
npm run test:web-rpcnpm run db:generate
npm run db:push
npm run db:studionpm run build
npm run build:dir
npm run build:win
npm run build:installer
npm run build:installer:signednpm run setup:win-tools.
├─ electron/ 主进程、服务层、数据库、适配器
│ ├─ adapters/
│ ├─ database/
│ ├─ services/
│ └─ utils/
├─ scripts/ 打包、检查、测试脚本
├─ src/ 渲染层
│ ├─ components/
│ ├─ pages/
│ ├─ shared/
│ ├─ stores/
│ ├─ styles/
│ ├─ types/
│ └─ utils/
├─ electron-builder.yml 打包配置
├─ electron.vite.config.ts
├─ drizzle.config.ts
└─ package.json
- 数据库存储在本地 SQLite。
- 应用启动时会自动执行迁移。
- 章节流水线任务、写作过程状态和相关元数据会写入任务系统。
- 如果你新增字段、表或索引,请同步更新数据库 schema 和连接逻辑。
如果你是第一次接手这个项目,建议按下面顺序阅读:
- 本 README
src/pages/Novel/index.tsxsrc/pages/Novel/workflow.tssrc/shared/story-settings.tssrc/pages/Novel/Writing/index.tsxsrc/pages/Novel/Contracts/index.tsxsrc/pages/Novel/WritebackCenter/index.tsxsrc/pages/Novel/RevisionCenter/index.tsxsrc/pages/Novel/QualityDashboard/index.tsx
这套系统更适合下面几类创作者和团队:
- 正在做中长篇、长篇、系列故事的人。
- 需要长期维护角色、线程、伏笔、时间轴和设定一致性的人。
- 希望让 AI 参与整本书生产流程,而不是只生成几个段落的人。
- 希望把创作过程沉淀成可复用资产,而不是只留下一堆正文文件的人。
完整的文件保留规则、逐界面审计、AI 文本自然度标准和修复优先级见 开源边界、界面与文本质量审计。
仓库中应当保留并提供给使用者的内容:
src/、electron/:应用源码、数据库结构和迁移逻辑。scripts/:安装、构建、打包、通用检查和可重复的回归测试。build/:安装包图标等打包资源。package.json、package-lock.json、TypeScript/Vite/Electron/ESLint 配置:保证可重复安装和构建。README.md与正式项目文档:说明安装、使用、架构和贡献方式。
以下内容不应提交或打包给使用者:
node_modules/、out/、release/、coverage/、*.tsbuildinfo等可重新生成的依赖、产物和缓存。*.db、*.sqlite*、日志、临时测试目录等本地运行数据。.env*、私钥、证书包、API Key、模型密钥和个人 IDE 配置。- 只服务于某次内部验收、固定小说样例、个人数据库修复或历史工单取证的一次性脚本。
发布源码前建议执行:
npm ci
npm run typecheck
npm test
npm run build:appNovelForge 不是“AI 帮你写一章”的工具,而是一套把立项、设定、结构、合同、正文、回写、修订和质量监控串起来的长篇小说生产工作台。