MCPcopy
hub / github.com/ExplosiveCoderflome/AI-Novel-Writing-Assistant

github.com/ExplosiveCoderflome/AI-Novel-Writing-Assistant @v0.4.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.4.0 ↗
11,404 symbols 28,712 edges 1,574 files 69 documented · 1%
README

# AI 小说创作工作台 / AI Novel Production Engine 一个面向长篇小说创作的 AI Native 开源项目。

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

Monorepo Frontend Backend LangChain LangGraph Editor Database Vector DB

✨ 项目简介

这是一个面向长篇小说完成度的 AI 生产系统,不是普通的"你写一句、AI 补一句"聊天壳子。

它的核心做法是:

  • 👉 用一句灵感启动整本书的规划,AI 自动给出方向 / 世界 / 角色 / 卷战略 / 章节任务
  • 👉 把章节生成、审核、修复、状态回灌串成可暂停可恢复的生产链
  • 👉 把拆书、知识库、写法引擎、角色资源账本、世界手册都做成可召回的长期资产
  • 👉 提供漫画、短剧等衍生工坊围绕已完成的小说内容做视觉与剧本延展
  • 👉 配套公开介绍站、生产链深度文档和按阶段的恢复手册

适合完全不懂写作的新手走完一本长篇,也适合研究 AI Native 应用、Agent Workflow、LangGraph 编排和长链路任务的开发者参考。

Windows 桌面版

如果你只是想直接下载安装并开始使用,优先从桌面版入口进入:

  • 下载入口:GitHub Releases
  • 最新版本页:Latest Release
  • 建议优先下载 Setup.exe 安装版;如果你不想安装,或者想放在 U 盘 / 临时目录里直接运行,再选择 portable 版本
  • 公开介绍站:GitHub Pages 介绍站 提供功能预览、模块文档和使用指南

项目定位

很多 AI 写作工具的使用方式其实差不多:你输入一句 Prompt,它回你一段正文,不满意就重试。写短篇还行,写长篇容易越写越散。

这个仓库是"AI 导演式长篇小说生产系统",核心产品判断是:

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

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

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

现在已经能做什么

1. AI 自动导演开书与四种运行模式

  • 从一句灵感直接进入自动导演,无需先手写世界观、主线、角色和卷纲;系统先整理项目设定、对齐书级 framing,再生成多套整本方向和对应标题组
  • 方向不满意时可以继续生成、定向修订某一套方案、或只重做某套方案的标题组,避免"满意就确认 / 不满意就整批重来"
  • 自动导演提供四种运行模式:先准备到可开写(推荐第一本书)、全书自动成书按范围执行(全书 / 前 N 章 / 第 1 卷)、正文后去 AI 检测与修正(叠加质量闭环)
  • 全自动驾驶模式下遇到模型不可用、配额耗尽、连续修复失败、要求重新规划等情况会主动停下,而不是无限重试;所有状态保存到导演跟进,可从原检查点恢复
  • 全自动模式下每批章节完成后自动确认 pending 候选角色,角色进入正式名册并触发动态重建,消除后续章节角色一致性漂移
  • 链路覆盖书级方向、故事宏观规划、本书世界、角色准备、卷战略 / 卷骨架、节奏板、章节清单、章节细化、章节执行、审核、修复,每一阶段都支持检查点恢复、接管和换模型重试

2. Creative Hub 与 Agent Runtime

  • 统一创作中枢承载对话、追问、规划、工具调用、任务状态和回合总结,不再是分散的功能按钮
  • 系统内有明确的 Planner、Tool Registry、Runtime、审批节点、状态卡片和中断恢复链路;自然语言意图会被路由到对应的自动导演阶段或章节任务
  • 浏览器暂停通知:到达 checkpoint 时弹出系统通知,长链路任务挂机更安心

3. 整本生产主链与章节执行

  • 单章运行时、章节执行和整本批量 pipeline 收敛到同一条主链
  • 章节生成上下文按本章参与者精准筛选角色资源账本,避免把全部角色塞进 prompt;高风险已入账与待确认提案分别走不同审计代码,正文不会把待确认资源写成既成事实
  • 章节执行链覆盖正文生成、AI 审核、可修复问题处理、质量债务记录、角色状态 / 事实 / 伏笔回灌、下一章入口
  • LLM 限速器修复内存泄漏:provider 配置变更时淘汰旧限速器,长期运行内存稳定

4. 拆书工作台与角色形象演变

  • 拆书角色档案分简要 / 标准 / 深入 / 完整四档,深入和完整档案会回溯原文片段补全维度
  • 角色形象演变:按 25% / 50% / 75% / 100% 覆盖率增量扫描出场章节,沉淀每章外貌、服装、状态和场景锚点,并基于章节快照生成同一角色阶段形象图;提取的短外貌词条放入待确认区,勾选后融合到角色档案
  • 章节形象图可引用角色基础形象图,保持脸型 / 发型 / 标志细节一致
  • 拆书还提供双栏阅读、章节证据回溯、范围定向分析、token 预算守卫、稿件诊断模式

5. 写法引擎与反 AI 规则

  • 写法不再只是提示词里的一段说明,而是可保存、编辑、绑定、试写、复用的长期资产
  • 可从现有文本提取写法特征 + 原文样本;特征沉淀为可见特征池,逐项启用 / 停用 / 组合,规则同步重编译
  • 写法引擎参与生成、检测和修正链路;反 AI 规则减少正文模板感、解释感和空泛表达

6. 本书世界、角色、知识库联动 + RAG

  • 世界观从大段设定文本升级为可生成 / 复用 / 同步的本书世界;地图、势力图谱会进入章节上下文
  • 拆书结果和知识库文档通过 RAG 回灌到规划、续写和正文生成
  • RAG 索引流式并行:Embedding 与 Qdrant 写入并发可调;拆书产物入 facets 索引让召回包含拆书结论;chunk hash 去重防止重建产生重复向量;retrieval trace 后端可追踪召回为什么命中

7. 漫画与短剧衍生工坊

  • 漫画工作台:场景一致性、角色视觉资产、视觉锚点控制;分镜与角色面板支持图像生成确认弹窗,避免误触消耗额度
  • 短剧改编生产管线 v3:从小说内容衍生短剧剧本和镜头
  • 衍生工坊不在主链跑通前打开——它们消费的是小说已生成的章节、角色和场景

8. 公开介绍站与文档体系

  • GitHub Pages 公开介绍站(端口 4173)展示主链、产品截图、文档入口与下载链接
  • 文档站提供本地全文搜索、面包屑、文内目录、上 / 下一篇导航、tip / warn / checkpoint 提示块、GFM 表格
  • 33 篇公开文档:项目介绍、安装与准备、常见问题、故障排查、第一本小说实操路径、按阶段恢复手册、端到端生产链、自动导演阶段全景、章节执行链、知识与 RAG 召回链 + 模块说明
  • 模块文档配套真实产品截图;自动导演阶段名用中文表达,技术别名对照表保留在自动导演阶段全景文末供开发者查阅

9. 模型路由与本地运行

  • 支持 OpenAI、DeepSeek、SiliconFlow、xAI 等多提供商;规划、正文、审阅、拆书等链路可按任务拆开路由
  • 默认 SQLite 即可跑通主链;需要 RAG 检索时再接入 Qdrant
  • RAG 并发数、限速等运行时参数从 .env 迁到设置面板,改完即生效无需重启
  • Monorepo 拆分(pnpm workspace),桌面版 / 介绍站 / 服务端 / 客户端独立可构建

典型使用路径

  1. 在小说创建页输入一句灵感,先让 AI 自动导演给出整本方向候选。
  2. 进入 项目设定,先把题材、卖点、目标读者感受和前 30 章承诺定下来。
  3. 故事宏观规划本书世界角色准备,把整本主线、舞台边界和角色网补到能写。
  4. 进入 卷战略 / 卷骨架 决定怎么分卷,再到 节奏 / 拆章 把当前卷落到章节列表和单章细化。
  5. 按需绑定拆书结果、知识库文档和写法资产,让后续正文不只是靠一次性提示词。
  6. 进入 章节执行 逐章写作、审计、修复,必要时回到卷工作台做再平衡和重规划。
  7. 想加速推进时,再启动整本生产任务,持续查看状态、失败原因和回灌结果。

当前长篇生成能力支撑图

当前长篇生成能力支撑图

  • 开书定盘负责先把这本书“要写成什么样”说清楚,避免后面越写越散。
  • 整本控制层和卷级规划层负责把长篇拆成可推进、可回看、可调整的结构,而不是一次性写死。
  • 角色、世界观、写法、知识库和质量控制一起托住单章生成,让每一章都尽量还在同一本书里。
  • 每写完一章,系统都会把新状态回灌回去,继续影响后续章节、卷级节奏和必要时的重规划。

最新更新

完整历史更新见 docs/releases/release-notes.md

v0.4.0(2026-06-29 发布)

本次版本把 0.3 系列累积的 70 个改动整合发布,覆盖自动导演稳定性、章节生成上下文对齐、拆书深度档案、RAG 性能与召回质量、漫画与短剧改编工作台、公开介绍站和文档体系。

自动导演与小说生成主链

  • 全自动成书模式:每批章节完成后自动确认 pending 候选角色,角色进入正式名册并触发动态重建,消除后续章节角色一致性漂移
  • 章节生成上下文:按本章参与者精准筛选角色资源账本,避免把全部角色塞进 prompt;高风险已入账与待确认提案分别走不同审计代码,正文不再把待确认资源写成既成事实
  • LLM 限速器内存泄漏修复:provider 配置变更时淘汰旧限速器实例,长期运行不再持续累积内存
  • 四种运行模式完整说明上线:先准备到可开写、全书自动成书、按范围执行(全书 / 前 N 章 / 第 1 卷)、正文后去 AI 检测与修正(叠加质量闭环);适用场景和切换路径都有说明
  • 全书自动驾驶遇到模型不可用、配额耗尽、连续修复失败、要求重新规划等情况会主动停下而不是无限重试;中断状态保存到导演跟进,可从原检查点恢复
  • 自动导演浏览器暂停通知:到 checkpoint 时弹出系统通知

拆书工作台与角色形象

  • 拆书角色档案分四档(简要 / 标准 / 深入 / 完整);深入和完整档案会回溯原文片段补全维度
  • 角色形象演变:按 25% / 50% / 75% / 100% 覆盖率增量扫描出场章节,沉淀每章外貌、服装、状态和场景锚点,并基于章节快照生成同一角色阶段形象图
  • 形象演变扫描会额外提取短外貌词条放入待确认区,用户勾选后融合到角色档案;章节形象图可引用角色基础形象图保持脸型 / 发型 / 标志细节一致
  • 拆书新增双栏阅读工作区、章节证据回溯、范围定向分析、token 预算守卫、稿件诊断模式、章节标题修复等能力

RAG 与知识库

  • 知识库索引流式并行:Embedding 与 Qdrant 写入并发可调,长文档不再需要等全部 Embedding 完成才开始写入向量库
  • 检索可追踪:新增 retrieval trace 后端,方便复盘召回为什么命中或没命中
  • 拆书产物入 RAG facets 索引:召回结果包含拆书结论
  • chunk 去重:通过内容 hash 自动去重,重建索引不会产生重复向量
  • 知识库上传 改为拖拽区域 + 两步确认;百万字级小说原文预览改为虚拟滚动,不再卡顿

漫画与短剧工作台

  • 漫画工作台:场景一致性、角色视觉资产、视觉锚点控制;分镜与角色面板支持图像生成确认弹窗,避免误触消耗额度
  • 短剧改编生产管线 v3:从小说内容衍生短剧剧本和镜头

公开介绍站与文档体系

  • GitHub Pages 公开介绍站上线:从一句灵感到整本小说的主链、产品控制台截图、文档入口和下载入口
  • 介绍站从 5173 改为 4173,避免和其它 vite 项目或主程序冲突;品牌图标和浏览器 favicon 改为项目实际应用图标
  • 文档站新增本地全文搜索、面包屑、文内目录、上 / 下一篇导航、tip / warn / checkpoint 提示块、GFM 表格支持
  • 文档目录按"开始使用 / 实战手册 / 生产链深度 / 模块总览 / 创作主链 / 知识与写法 / 设定资产 / 衍生工坊 / 系统配置 / 项目动态"重新分组
  • 新增 33 篇公开文档:项目介绍、安装与准备、常见问题、故障排查、第一本小说实操路径、按阶段恢复手册、端到端生产链、自动导演阶段全景、章节执行链、知识与 RAG 召回链;模块文档配套真实截图
  • 公开文档不再出现内部 snake_case 阶段 key,统一使用「灵感对齐」「卷骨架」等中文名;技术别名对照表保留在自动导演阶段全景末尾供开发者查阅
  • 开发计划重写为"已完成 / 进行中 / 下一步关注"三段,列出真实在做的能力(漫画改编、短剧改编、章节编辑器 v2、角色资源账本、自动导演执行面隔离等)

升级提示

  • 升级后首次启动会沿用现有数据库与配置,无需手动迁移
  • 如果你曾在 .env 配置过 RAG 并发数或类似运行参数,新版会把这类参数迁到设置面板里管理;旧 .env 值不会自动读入

查看完整更新历史:docs/releases/release-notes.md

功能预览

功能概览中的95%以上编写都是AI完成

下面这组截图优先展示当前版本正在使用的单书工作流:从自动导演开书,到项目设定、故事宏观规划、角色准备、卷战略、节奏拆章、章节执行,再到质量修复,已经开始收成一条连续推进链,而不是一组彼此割裂的演示页。

Creative Hub

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

创作中枢

自动导演模式

自动导演创建页现在会把一句灵感、导演起始参数、书级 framing、模型设置和运行方式收进同一面板;进入方向选择后,不只是给你两套整本方案,还会配套书名组选项、推荐理由和定向重做入口,适合先把这本书“该怎么开”定下来。

自动导演创建

自动导演选择方向

自动导演执行中

自动导演交接与继续执行

项目设定

项目设定已经挂到单书工作台的连续流程里:左侧能直接看到当前步骤与整体进度,上方能看到 AI 接管状态,正文区则集中处理标题、简介、书级 framing、写法确认和本书真正会用到的世界边界。

项目设定

故事宏观规划

故事宏观规划不再只是大段摘要,而是先把故事引擎、推进与兑现摘要、长期对立和前 30 章承诺压成后续可继承的书级引导层,先保证整本主线能推,再把卷级和章节级规划建在这套底盘上。

故事宏观规划

角色准备

角色准备页现在更像角色工作台而不是角色表单:会先盘点目标区段的核心角色,再给出 AI 阵容方案、结构关系网和动态角色系统,减少开书后角色断档、功能位缺失和关系推进失速。

角色准备

卷战略 / 卷骨架

卷战略阶段已经开始显式区分“卷战略、卷骨架、节奏板、拆章节”四个阶段完成度。系统会先判断当前是不是已经具备继续推进条件,再生成卷战略建议、审查卷骨架,并把版本控制与影响分析收进同一页。

卷战略 / 卷骨架

节奏 / 拆章

节奏 / 拆章现在把节奏段列表、批量细化、单章标题、摘要、章节目标和任务单放进同一工作区;可以按当前可见章节或指定范围连续细化,也可以对摘要和目标做局部 AI 修正,更适合连载网文式的持续推进。

节奏 / 拆章

章节执行

章节执行页现在更像主写作工作台:左侧是章节卡片与下一步状态,中间是已保存正文和版本区,右侧则把执行计划、正文写作、审核、修复、状态同步和伏笔回填收在同一套动作面板里,适合逐章推进。

章节执行

质量修复

质量修复已经从零散按钮收成独立工作台:可以围绕当前章节执行审核、执行修复、生成钩子,并结合当前批次、质量阈值和 AI 输出继续往后处理,适合把“写完之后怎么稳住质量”也纳入主流程。

质量修复

正文修改

当一章已经写出正文后,还可以进入独立正文编辑器继续局部改写。正文修改页会把任务单、审计结果和修复链路继续挂在这章身上,避免用户在“主写作区”和“精修区”之间断掉上下文。

正文修改

小说列表

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

小说列表

拆书分析

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

拆书分析

知识库

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

知识库

世界观

世界观不再只是描述文本,而是能生成世界骨架、维护世界手册,并绑定为每本小说自己的本书世界上下文。

世界观

角色库

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

角色库

类型管理

集中维护题材与类型资产,让故事规划、角色准备和正文生成共享同一套题材语言。

类型管理

流派管理

把推进模式、兑现方式和冲突边界收成可复用的流派模式资产,让整本书更容易保持读者预期。

流派管理

标题工坊

批量生成、筛选和微调书名与标题方向,降低新手在开书命名阶段的试错成本。

标题工坊

写法引擎与反 AI 规则

统一管理写法资产、风格约束和反 AI 规则,让正文更像作品本身,而不是模板式补全文本。

写法引擎与反 AI 规则 配置写法引擎的效果

任务中心

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

任务中心

模型配置

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

模型配置

快速开始

环境要求

  • Node.js ^20.19.0 || ^22.12.0 || >=24.0.0 推荐直接使用 20.19.x LTS
  • pnpm >= 10.6 推荐直接使用仓库声明的 pnpm@10.6.0
  • 至少一组可用的 LLM API Key 也可以先把项目跑起来,再在页面里配置
  • 如果你要完整体验知识库 / RAG,再额外准备可用的 Qdrant

1. 安装依赖

pnpm install

默认的 pnpm install 现在只准备 Web / Server 开发所需依赖,不会在首次安装时强制下载 Electron 桌面运行时。

  • 如果你只是运行现有 Web / Server 开发流,到这里就够了
  • 如果你要启动桌面端开发壳,首次运行 pnpm dev:desktop 时会自动补拉 Electron 运行时
  • 如果你想提前完成这一步,也可以手动执行:
pnpm run prepare:desktop-runtime

桌面端运行时首次下载需要可访问 Electron 分发源的网络环境;如果你所在网络无法访问 GitHub Releases,建议先配置代理或镜像后再执行桌面端命令。

如果你在 Windows 上执行 pnpm install 时卡在 prisma preinstall,通常先检查这两类问题:

  1. Node 版本过低 Prisma 7 目前要求 Node ^20.19.0 || ^22.12.0 || >=24.0.0。如果你还在 20.0 ~ 20.18,建议先升级到 20.19.x LTS 再安装。
  2. script-shell 被配置成了交互式 shell 如果全局 npm/pnpm script-shell 被设成了 cmd.exe /k 之类会保留提示符的形式,Prisma 的 lifecycle script 可能不会自动退出,看起来就像安装“卡死”在: node_modules/.../prisma>

可以先运行下面几条命令自查:

node -v
pnpm config get script-shell
npm config get script-shell

如果 script-shell 返回的是带 /kcmd.exe,建议删除这项配置后重新打开终端:

npm config delete script-shell
pnpm config delete script-shell

然后重新执行:

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

这也包括“同一台机器启动服务,然后用局域网 IP 在别的设备上访问”的场景。 例如页面开在 http://192.168.0.37:5173,前端默认会自动把 API 指到:

http://192.168.0.37:3000/api

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

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

如果你已经复制了 client/.env.example,又发现浏览器请求都跑到了 http://localhost:3000/api,通常就是因为你把 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

如果你已经复制好了 server/.envclient/.env,默认就是直接运行这一条。 不需要在首次启动前手动再执行 prisma generateprisma db pushpnpm db:migrate

默认情况下:

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

首次启动服务端时,会自动执行 Prisma generate 和 db push。 只有在你自己修改了 Prisma schema,或者要处理正式迁移流程时,才需要手动使用 Prisma / 数据库相关命令。

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

  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 dev 的前置步骤:

pnpm db:seed
pnpm db:studio

常用命令

```bash pnpm dev pnpm build pnpm typecheck pnpm lint

仅在你开发/调整 Prisma schema 时再手动使用

pnpm db:migrate pnpm db:seed pnpm db:studio pnpm --filter @ai-novel/server test pnpm --filter @ai

Extension points exported contracts — how you extend this code

ChapterStreamProductionPort (Interface)
(no doc) [7 implementers]
server/src/services/novel/novelCoreGenerationService.ts
SqliteStatement (Interface)
(no doc) [2 implementers]
desktop/src/runtime/dataImport.ts
DesktopPackageJson (Interface)
(no doc)
client/vite.config.ts
ImportMetaEnv (Interface)
(no doc)
client/src/vite-env.d.ts
CharacterImagePromptCharacterContext (Interface)
(no doc)
shared/imagePrompt.ts
DirectorArtifactRef (Interface)
(no doc)
shared/types/directorRuntime.ts
AutoExecutionScopeRuntimeDeps (Interface)
(no doc) [6 implementers]
server/src/services/novel/director/automation/novelDirectorAutoExecutionScopeRuntime.ts
BrowserWindowOptions (Interface)
(no doc)
desktop/src/@types/electron/index.d.ts

Core symbols most depended-on inside this repo

push
called by 1132
server/src/llm/reasoning.ts
get
called by 702
desktop/src/runtime/dataImport.ts
push
called by 565
server/src/services/rag/RagIndexService.ts
validate
called by 448
server/src/middleware/validate.ts
has
called by 432
server/src/services/adaptation/source/SourceContentPort.ts
update
called by 278
server/src/services/novel/NovelDecisionService.ts
createContextBlock
called by 170
server/src/prompting/core/contextBudget.ts
cn
called by 127
client/src/lib/utils.ts

Shape

Function 6,804
Interface 2,021
Method 2,017
Class 562

Languages

TypeScript100%
Python1%

Modules by API surface

server/src/services/novel/application/NovelApplicationServices.ts108 symbols
client/src/api/comic.ts96 symbols
shared/types/directorRuntime.ts70 symbols
shared/types/novel.ts67 symbols
client/src/api/drama.ts64 symbols
server/src/services/novel/NovelCoreService.ts59 symbols
desktop/src/@types/electron/index.d.ts59 symbols
server/src/services/world/worldStructure.ts58 symbols
shared/types/novelDirector.ts53 symbols
shared/types/styleEngine.ts52 symbols
server/src/services/novel/novelCoreShared.ts48 symbols
server/src/services/world/WorldService.ts45 symbols

Dependencies from manifests, versioned

@ai-novel/serverworkspace:* · 1×
@ai-novel/sharedworkspace:* · 1×
@assistant-ui/react0.12.17 · 1×
@assistant-ui/react-devtools1.0.2 · 1×
@assistant-ui/react-langgraph0.13.3 · 1×
@assistant-ui/react-ui0.2.1 · 1×
@aws-sdk/client-s33.910.0 · 1×
@hookform/resolvers5.2.2 · 1×
@langchain/core1.1.29 · 1×
@langchain/langgraph-sdk1.7.2 · 1×

Datastores touched

ai_novelDatabase · 1 repos
appDatabase · 1 repos

For agents

$ claude mcp add AI-Novel-Writing-Assistant \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact