Skip to content

ExplosiveCoderflome/AI-Novel-Writing-Assistant

Repository files navigation

AI Novel Writing Assistant v2

一个面向长篇小说创作的 AI Native 开源项目。

它的目标不是“帮你写一段文”,而是把开书、设定、世界观、角色、大纲、章节、拆书、知识库、RAG、写法控制、Agent 调度串成一条完整的创作生产链,让完全不懂写作的人也有机会在 AI 引导下完成整本小说。

当前开发主线: Creative Hub + 自动导演开书 + 整本生产主链 + 写法引擎

Monorepo Frontend Backend AI Editor Vector DB

目录

项目定位

这个仓库更接近“AI 导演式长篇小说生产系统”,而不是传统的写作聊天壳子。

它最核心的产品判断是:

  • 目标用户优先是完全不懂写作的新手,而不是熟悉结构设计的资深作者。
  • 优先解决“如何把整本书写完”,再逐步优化“写得多精巧”。
  • AI 不只是一个补全文本的模型,而是参与规划、判断、调度、执行和追踪的系统角色。

如果你正在找的是下面这种项目,这个仓库会更值得关注:

  • 想验证 AI 是否真的能参与整本小说生产,而不是只写单段文案。
  • 想研究 AI Native Product、Agent Workflow、LangGraph 编排怎样落到真实创作业务。
  • 想把世界观、角色、拆书、知识库、写法控制和章节生成串成一套稳定工作流。

现在已经能做什么

1. AI 自动导演开书

  • 可以从一句灵感开始,让 AI 先给出多套整本方向候选。
  • 如果第一批方向不满意,可以继续指出偏差,让系统生成下一批方案,而不是整页重来。
  • Novel Setup 状态会告诉你当前缺的是题材、故事承诺、世界观、角色还是大纲。

2. Creative Hub 与 Agent Runtime

  • Creative Hub 已经成为统一创作中枢,承接对话、规划、工具调用、执行追踪和回合总结。
  • 系统已经具备 Planner、Tool Registry、Runtime、审批节点、状态卡片和中断恢复链路。
  • 当前重点已经从“AI 能不能生成文本”转向“AI 能不能组织整个创作系统”。

3. 整本生产主链

  • 单章运行时与整本批量 pipeline 正在收拢到同一条主链。
  • 可以从结构化大纲、章节目录和资产准备状态出发,启动整本写作任务。
  • 整本生产状态会提示当前阶段、失败原因和下一步建议。

4. 写法引擎

  • 写法不再只是长段说明,而是可保存、编辑、绑定、试写和复用的资产。
  • 可以从文本中提取写法特征,并把原文样本一起保存。
  • 提取出的特征会沉淀成可见特征池,进入编辑页后可像绑定反 AI 规则一样逐项启用或停用。
  • 调整特征启用状态后,写法规则会同步重编译,便于后续试写和整本绑定。

5. 世界观、角色、拆书、知识库联动

  • 世界观支持创建、分层设定、快照、深化问答、一致性检查和小说绑定。
  • 角色体系支持全局角色库与小说内角色管理。
  • 拆书结果可以发布到知识库,再回灌到续写、规划和正文生成。
  • 知识库支持文档管理、向量检索、关键词检索与重建任务追踪。

6. 模型路由与本地运行

  • 支持 OpenAI、DeepSeek、SiliconFlow、xAI 等多提供商配置。
  • 前后端已经完成 Monorepo 拆分,适合本地持续开发。
  • 默认使用 SQLite,知识库检索可按需接入 Qdrant。

典型使用路径

  1. 在小说创建页输入一句灵感,先让 AI 自动导演给出整本方向候选。
  2. 确认故事方向、题材风格、世界舞台和核心承诺。
  3. 进入 Creative Hub 或小说编辑页,继续补齐世界观、角色、大纲和章节目录。
  4. 按需绑定拆书结果、知识库文档和写法资产。
  5. 通过写法引擎确认整本默认写法,必要时叠加反 AI 规则。
  6. 启动章节生成或整本生产任务,持续查看状态、审阅结果并回灌修正。

最近进展

2026-03-28

重大更新:卷级工作台进一步收紧成“先卷战略、再节奏板、再拆章、再细化”的稳定链路,章节写作也开始吃到按书约、卷窗口和本章任务分层裁剪后的上下文,长链路生成更不容易前后打架。

  • 卷级工作台现在会显式锁定前置步骤:没出卷战略时不能直接生成节奏板,没出节奏板时不能继续拆章;一旦你调整了卷骨架、卷摘要或章节列表,系统也会自动清空已经过期的节奏板和相邻卷再平衡建议,避免把旧中间结果继续带进后续生成。
  • 结构化章节工作区新增“当前卷章节列表”选择区,可以先看哪些章节已经细化,再逐章补目标、边界和任务单;前置条件不满足时,界面也会直接提示当前被什么卡住,而不是让新手自己猜下一步。
  • 章节正文生成开始共用新的分层写作上下文:系统会把本书卖点与前 30 章承诺、全书硬约束、所在卷使命、相邻卷窗口、本章 mission、参与角色和近期冲突压成更短但更强约束的写作输入,减少长篇续写时的人物跑偏、节奏失焦和开头模板重复。
  • 卷规划与章节写作链路现在都会优先保住关键上下文块,在长文本场景下更容易保住核心约束,也更适合继续扩展同一套 AI 工作流。

2026-03-27

重大更新:卷级工作台开始升级为更贴近连载网文的“卷战略 / 卷骨架 / 节奏 / 拆章”工作流,系统不再只会一次性生成整书卷骨架,而是会先帮新手判断该怎么分卷、哪些卷该硬规划、哪些卷该保留弹性。

  • 卷级工作台新增“卷战略建议”和“卷战略审稿”,系统会先推荐卷数、区分硬规划卷和软规划卷,再给出更适合长篇连载的卷骨架,减少一上来就把后半本写死的问题。
  • 当前卷拆章前现在会先经过“节奏板”这一层,卷内会先明确开卷抓手、升级节点和卷尾钩子,再继续生成章节列表,章节规划更像网文追读链路,而不是平均切段。
  • 单卷重生和结构化规划开始显式保留更多中间资产,包括卷战略、节奏板、审稿结果和相邻卷再平衡建议;旧项目打开后也能继续沿用这套卷工作区,不需要手工重建。
  • 左侧导航补上了更直观的功能图标,并支持收起成图标模式;小说列表、任务中心和知识库等入口在窄侧栏下也能继续查看状态徽标,长时间创作时占宽更小。
  • 长耗时 AI 请求的前端超时现在可以直接配置,默认等待时长也更适合大模型长回复;模型、Embedding 和路由里的模型选择器同时支持搜索,模型列表变长后不需要再慢慢翻。
  • 针对大体积 JSON 输出的修复链路也做了加固,像角色阵容建议、卷战略建议这类结构化结果在被截断或多包一层时,更容易自动修好继续进入后续工作流。

2026-03-26

  • 从书名、全书发展走向、结构化章节大纲、作品圣经,到卷纲、章节目标、世界观切片与世界草案,这批 AI 生成链路现在开始共用统一的 Prompt Registry / Workflow Registry。对用户来说,不同工作台之间的生成口径会更一致,结构化输出更稳定,长链路创作时也更少出现“像在和不同 AI 对话”的割裂感 更新。

重大更新:小说基础信息新增“流派模式”控制轴,系统现在不只知道你写的是什么题材,还会知道这本书到底靠什么推进、靠什么兑现,以及冲突边界应该放在哪里。 重大更新:角色区新增“补充角色”能力,AI 可以围绕现有角色网补位,也可以生成相对独立的新角色,并把建议关系一起带进小说资产。 重大更新:产品级 AI 提示词正式收口到统一 Prompt Registry,规划、设定、世界观、角色、书名、文风与审阅链路现在共用同一套可注册、可校验、可观测的调用框架。

  • 新增独立的“流派模式”资产管理页,内置了爽感推进、建设经营、关系情感、日常治愈、喜剧整活、悬念博弈、成长冒险等模式树,新开项目可以直接选,也支持自己新增和维护。
  • 小说基础信息现在可以绑定“主流派模式 + 副流派模式”,例如把一本书设成“治愈日常 + 小店经营”或“无敌流 + 马甲流”,后续规划、角色准备、卷纲、章纲、正文生成和审计都会开始优先服从这条控制轴。
  • 在流派模式管理页里,AI 一次生成多个子类时不再只是给单个候选预览,用户现在可以勾选多个候选后批量保存,也可以单独切换某个候选继续编辑再落库。
  • 审计新增 mode_fit 视角,系统会开始检查当前章节有没有偏离主流派模式的核心驱动、读者奖励、冲突上限和禁止信号,减少越写越像另一种书的问题。
  • 角色资产工作台新增“补充角色”入口,可以让 AI 判断当前更缺哪类人,也可以指定“关系补位”或“相对独立角色”,再从 1 到 3 个候选里直接创建,并把建议关系一并落到当前小说。
  • 原有的角色阵容方案现在支持清空和删除,前期多轮试阵容时不需要再手工逐个清理,角色准备阶段更适合反复试错。
  • 卷级工作台的 AI 生成结果会自动保存到当前卷稿,避免生成完还要手动确认一次;章节目标、执行边界、任务单也支持一键整套补齐,再按项继续 AI 修正。
  • 创作中枢的意图识别、协作式追问和执行规划现在统一走版本化 prompt 资产与 workflow registry,减少“该一起讨论时直接开跑”或“该执行时停在解释”的链路偏差。
  • 全书规划、分段规划和章节规划开始按上下文块预算挑选结构源、状态快照与关键约束,长篇连载时更容易稳住主线推进、角色状态和世界观边界。
  • 从书名、题材、世界观、角色,到续写、润色、审阅、拆书与文风链路,AI 输出开始共用统一的注册与校验框架,不同工作台之间的判断口径会更一致,后续迭代也更不容易把旧链路带偏。
  • 对结构化输出要求更高的链路现在已经统一接入 JSON 修复、语义重试和上下文遥测,像流派模式子类这种数组型输出也能进入同一套修复流程,减少第一次生成就直接报错的情况。

2026-03-25

重大更新:小说规划正式升级为卷级工作台,长篇主线、卷纲和章纲现在可以在同一套结构里联动维护。 重大更新:角色准备正式升级为动态角色系统,卷级职责、关系阶段和新角色候选现在会持续进入规划、生成与重规划链路。

  • 小说编辑页的“故事主线”正式升级为卷级工作台,可以按卷维护主承诺、冲突升级、主角变化、卷末高潮和下卷承接钩子,长篇规划不再只能堆在一整块文本里。
  • 结构化大纲升级为卷纲 / 章纲联动工作台,章节现在直接挂在所属卷下维护,并支持批量调整冲突强度、目标字数和任务单,卷级修改后也能先看同步预览再落到章节目录。
  • 卷纲生成流程进一步拆成“三步走”:先生成全书卷骨架,再按卷生成章节列表,最后按章补章节目标、执行边界和任务单,长篇规划不再一上来就把所有字段一次塞满。
  • 卷级规划新增版本草稿、设为生效版、冻结、差异对比和影响分析,调整长篇结构时可以先判断会波及哪些卷和章节,再决定是否正式切换。
  • 旧项目首次打开卷级工作台时,会自动把原有主线、大纲和阶段规划回填成卷级方案,后续章节规划也会开始参考这套卷级控制层。
  • 默认预估章节数提升到 80 章,更贴近长篇小说起步配置,减少新手一开始就把整本书压成过短篇幅的情况。
  • 角色页新增“动态角色系统”主区,可以直接看到当前卷核心角色、卷级职责、缺席风险、关系阶段和待确认的新角色候选,不再需要靠手工追踪人物推进节奏。
  • 新角色候选会在章节写完后自动从正文里提取出来,确认或并入现有角色后,会立刻进入下一章的规划与生成上下文。
  • 关系阶段和阵营变化会持续沉淀到角色系统中,planner、runtime 和 replan 都会开始参考“谁该推进、谁缺席过久、哪条关系已进入新阶段”。
  • 应用 AI 角色阵容方案后,不再只生成静态角色卡,而是会同时初始化卷级职责、关系阶段和后续缺席风险基线,让长篇角色推进更连续。

2026-03-24

  • 小说创建页和小说编辑页的基础信息区新增“书级 framing”,用户可以先把目标读者、核心卖点、熟悉阅读感和前 30 章承诺讲清楚,再进入后续规划与生成。
  • 基础信息支持 AI 一键补全书级 framing 建议,后续世界裁剪、写法推荐和主线规划会开始参考这些信息,开书定位更稳,也更适合小白直接起步。
  • 小说编辑页的角色区重构为“角色资产工作台”,新增角色和导入角色改成按需入口,日常主区更聚焦当前角色的状态、动机、成长弧和时间线维护。
  • 新增 AI 角色阵容方案,可一次生成多套核心角色与关键关系候选,并在确认后批量同步到小说角色资产,降低新手前期搭角色系统的门槛。
  • 模型设置补充更多可选提供商与默认模型,设置页也支持按需展开完整模型列表,减少配置时的信息拥挤和历史参数兼容问题。

2026-03-23

  • 章节运行时面板开始直接展示章节职责、阶段标签、必须推进/必须保留事项,并支持在发现结构问题后发起重规划,减少写到一半才发现方向漂移。
  • 章节生成上下文进一步收口到“规划 + 最新状态 + 活跃冲突 + 创作决策”这条主链,长篇连续生成时更容易保持人物、关系和伏笔的一致性。
  • 文本提取型写法资产现在会同时保存原文样本,方便回看、比对和继续微调。
  • 提取到的写法特征会沉淀成可编辑的特征池,用户可以在写法编辑里逐项启用或停用。
  • 当一次提取没有产出可用特征时,编辑页会明确提示原因,并支持直接重新提取。

2026-03-22

  • 小说创建页新增了“AI 自动导演创建”入口,可以先生成多套整本方向候选,再继续追问和修正。
  • 整本批量生成与单章运行时主链进一步收拢,减少两条链路生成结果割裂的问题。
  • 小说编辑页补上了“正文开写前的写法确认”环节,降低新手选风格门槛。

2026-03-21

  • 写法引擎工作区重构为更聚焦的模块化界面,主流程更专注于选资产、编辑、绑定与试写。
  • 写法约束开始更深地接入章节生成、检测与自动修正链路。
  • 标题快选和模型连通性错误提示进一步优化。

2026-03-20

  • 新增“写法引擎”模块,写法资产开始真正参与试写、生成约束、AI 味检测和一键修正。
  • 拆书页可将“文风与技法”一键转成写法资产。
  • 小说页开始更明确地区分“这本书真正会用到的世界切片”和全量世界资料。

更细的阶段规划可以看 TASK.md

功能预览

Creative Hub

统一承载对话、规划、工具执行和创作推进的创作中枢。

创作中枢

小说列表

从这里进入开书、管理、编辑和整本生产。

小说列表

拆书分析

把参考作品拆成结构化知识,再回灌给后续创作链路。

拆书分析

知识库

统一管理文档、索引、重建任务和检索能力。

知识库

世界观

世界观不再只是描述文本,而是能被绑定、检查和持续维护的结构化资产。

世界观

角色库

统一维护角色基础档案与小说内角色信息。

角色库

任务中心

查看拆书、知识库重建和其他后台任务的排队、执行与失败状态。

任务中心

模型配置

为不同能力配置不同模型,减少一套模型硬吃所有任务的成本。

模型配置

快速开始

环境要求

  • Node.js >= 20
  • pnpm >= 9.7
  • 至少一组可用的 LLM API Key 也可以先把项目跑起来,再在页面里配置
  • 如果你要完整体验知识库 / RAG,再额外准备可用的 Qdrant

1. 安装依赖

pnpm install

2. 配置环境变量

这个仓库通过 pnpm workspace 分别启动前后端,所以环境变量也是按子包读取的:

  • 服务端运行在 server/ 工作目录,默认读取 server/.env
  • 前端运行在 client/ 工作目录,默认读取 client/.env / client/.env.local
  • 根目录 .env.example 目前更适合当“总览参考”,不是 pnpm dev 默认读取的主入口

2.1 服务端环境变量

先复制服务端示例文件:

# macOS / Linux
cp server/.env.example server/.env

# Windows PowerShell
Copy-Item server/.env.example server/.env

最少建议先确认这些项目:

  • DATABASE_URL 默认就是本地 SQLite,可直接使用
  • RAG_ENABLED 如果你暂时不接知识库,建议先设为 false
  • QDRANT_URLQDRANT_API_KEY 只有要启用 Qdrant / RAG 时才需要

注意:

  • OPENAI_API_KEYDEEPSEEK_API_KEYSILICONFLOW_API_KEY 这类变量可以先留空
  • 项目启动后,也可以在页面中配置模型供应商和默认模型

2.2 前端环境变量

大多数本地开发场景,其实不需要单独创建前端 env。

因为前端开发模式下默认会把 API 指到:

http(s)://当前页面 hostname:3000/api

只有在这些场景下,才建议创建 client/.env

  • 前端和后端不在同一台机器
  • 你想把前端显式指向别的 API 地址
  • 你需要固定 VITE_API_BASE_URL

示例:

# macOS / Linux
cp client/.env.example client/.env

# Windows PowerShell
Copy-Item client/.env.example client/.env

内容通常只需要:

VITE_API_BASE_URL=http://localhost:3000/api

2.3 模型供应商并不一定要写死在 env

当前项目已经支持在页面里配置模型相关设置:

  • /settings 配置供应商 API Key、默认模型、连通性测试
  • /settings/model-routes 给不同任务分配不同 provider / model
  • /knowledge?tab=settings 配置 Embedding provider、Embedding model、集合命名和自动重建策略

所以环境变量里的 OPENAI_MODELDEEPSEEK_MODELEMBEDDING_MODEL 等,更适合当作:

  • 启动默认值
  • 数据库里还没保存设置时的回退值

3. 启动开发环境

pnpm dev

默认情况下:

  • 前端:http://localhost:5173
  • 后端:http://localhost:3000
  • API:http://localhost:3000/api

首次启动服务端时,会自动执行 Prisma generate 和 db push

建议第一次启动后先做这几步:

  1. 打开 http://localhost:5173/settings,至少配置一组可用的模型供应商 API Key
  2. 打开 http://localhost:5173/settings/model-routes,检查各任务实际使用的模型路由
  3. 如果要启用知识库,打开 http://localhost:5173/knowledge?tab=settings,保存 Embedding / Collection 设置

4. 如果你使用 Qdrant Cloud

如果你只是先体验主流程,其实可以先跳过 Qdrant,直接在 server/.env 里设:

RAG_ENABLED=false

如果你要启用 Qdrant Cloud,可以按下面的最小流程来:

  1. Qdrant Cloud 注册账号。
  2. Clusters 页面创建一个集群。 测试阶段用 Free cluster 就够了。
  3. 集群创建完成后,到集群详情页复制 Cluster URL。
  4. 在集群详情页的 API Keys 中创建并复制一个 Database API Key。 这个 key 创建后通常只展示一次,建议立即保存。
  5. 把它们写入 server/.env
QDRANT_URL=https://your-cluster.region.cloud.qdrant.io:6333
QDRANT_API_KEY=your_database_api_key
  1. 启动项目后,再去 知识库 -> 向量设置 页面选择 Embedding provider / model,并保存集合设置。

对这个项目来说,QDRANT_URL 建议直接填 REST 地址,也就是带 :6333 的地址。

如果你想手动验证连通性,可以用:

curl -X GET "https://your-cluster.region.cloud.qdrant.io:6333" \
  --header "api-key: your_database_api_key"

你也可以把集群地址后面拼上 :6333/dashboard 打开 Qdrant Web UI。

Qdrant 官方文档:

5. 可选初始化

pnpm db:seed
pnpm db:studio

常用命令

pnpm dev
pnpm build
pnpm typecheck
pnpm lint
pnpm db:migrate
pnpm db:seed
pnpm db:studio
pnpm --filter @ai-novel/server test
pnpm --filter @ai-novel/server test:routes
pnpm --filter @ai-novel/server test:book-analysis

技术栈与架构

技术栈

层级 技术
前端 React 19、Vite、React Router、TanStack Query、Plate
后端 Express 5、Prisma、Zod
AI 编排 LangChain、LangGraph
数据库 SQLite
RAG Qdrant
工程形态 pnpm workspace Monorepo

Monorepo 结构

client/   React + Vite 前端
server/   Express + Prisma + Agent Runtime + Creative Hub
shared/   前后端共享类型与协议
images/   README 与产品预览截图
scripts/  启动和辅助脚本
docs/     设计文档、阶段检查点、模块计划与历史归档

更细的文档分区说明可以看 docs/README.md

当前系统关注点

  • Creative Hub 负责统一创作中枢与 Agent 运行时体验
  • Novel Setup / Director 负责从一句灵感走到整本可写
  • Novel Production 负责整本生成主链
  • Style Engine 负责写法资产、特征提取、绑定和反 AI 协同
  • Knowledge / Book Analysis / World 负责长期上下文沉淀与回灌

当前路线图

当前最重要的不是继续堆零散功能,而是提高“小白把整本书写完”的成功率。

P0

  • 把自动导演、Novel Setup、整本生产主链进一步收拢成稳定闭环
  • 让用户从一句灵感进入“整本可写”状态
  • 降低新手在写法、世界观、角色和章节规划上的认知负担

P1

  • 提高整本一致性、节奏稳定性和人物成长质量
  • 让写法资产、世界观约束、章节重规划和审阅反馈形成闭环
  • 让系统更擅长“持续掌控整本书”,而不只是“生成某一章”

P2

  • 继续强化多阶段 Agent 协同
  • 完善更自动化的生产调度、回合记忆和整本质量控制

贡献方式

如果你想参与这个项目,最有价值的贡献方向包括:

  • 提升整本生产稳定性
  • 改善新手开书体验和自动导演成功率
  • 强化写法引擎、知识库回灌和世界观一致性链路
  • 补充测试、错误回放和运行时可观察性

欢迎直接提 Issue 或 Pull Request。

说明

  • 这是一个持续快速迭代中的 AI Native 创作系统,功能边界仍在演化。
  • README 优先描述当前最值得体验、最能代表方向的能力,而不是列出全部历史实现细节。
  • 如果你更关心阶段目标、优先级和后续优化计划,请直接查看 TASK.md

这是对AI完全接入项目开发的一次尝试

项目中所有代码都是AI编写

目标:只需要进行书名配置 和 点击确认按钮 即可生成(理想)小说

About

面向长篇小说创作的 AI Native 开源系统,用 Agent、世界观、写法引擎、RAG 和整本生产工作流,帮助新手从一句灵感走到完整小说。Open-source AI-native novel writing platform built with React, Express, Prisma, LangGraph, and RAG for end-to-end long-form fiction planning and production.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors