← 开源
RhythmicWave

NovelForge

AI辅助长篇小说创作,卡片式创作,支持基于 JSON Schema的结构化 AI 生成与上下文引用,可扩展性强。

ApplicationsContent creationPython
在 GitHub 打开
增长势头
+124 小时新增 Star+0.1%
1.25k
Star
226
Fork
+10
本周
8
贡献者
创建于 2025-08-09 · 更新于 2026-10-16 · 今日第 5695 名
主要开发者
RhythmicWaveWuLiuqi9527sangsangde3

RhythmicWave/NovelForge 排名第 5,695,有 1,248 个星标。

同类别比较

RhythmicWave/NovelForge 排名第 5,695,此处有 8 个同类条目;NeymarL/ChineseChess-AlphaZero 排名第 5,694。

同类别比较
名称排名指标
antfu/qrcode-toolkit5,686
语言:
Vue
星标数:
1,258
分叉数:
136
简介:
Anthony's QR Code Toolkit for AI generated QR Codes
wfjsw/danbooru-diffusion-prompt-builder5,688
语言:
TypeScript
星标数:
1,257
分叉数:
122
简介:
Danbooru / NovelAI 标签超市
JayWebtech/autoshorts5,689
语言:
Rust
星标数:
1,256
分叉数:
237
简介:
AutoShorts is a local-first desktop application for turning long-form video or audio recordings into high-impact, vertical short-form clip candidates (9:16 portrait) with AI-powered viral moment ranking.
NeymarL/ChineseChess-AlphaZero5,694
语言:
Python
星标数:
1,250
分叉数:
361
简介:
Implement AlphaZero/AlphaGo Zero methods on Chinese chess.
bowang-lab/MedRAX5,699
语言:
Python
星标数:
1,246
分叉数:
207
简介:
MedRAX: Medical Reasoning Agent for Chest X-ray - ICML 2025
goodroot/hyprwhspr5,705
语言:
Python
星标数:
1,242
分叉数:
104
简介:
Native speech-to-text for Linux - Fast, accurate, private, and hackable system-wide dictation
thClaws/thClaws5,708
语言:
Rust
星标数:
1,238
分叉数:
183
taranis-ai/taranis-ai5,717
语言:
Python
星标数:
1,229
分叉数:
181
简介:
Taranis AI is an advanced Open-Source Intelligence (OSINT) tool, leveraging Artificial Intelligence to revolutionize information gathering and situational analysis.
关键参数与规格
关键参数与规格
参数值
语言Python
类别Applications
子类别Content creation
关键词Context engineering, Creative writing, Prompt engineering, Structured outputs
星标数1,248
分叉数226
贡献者8
创建日期2025-08-09
更新日期2026-10-16
1 天星标数1
7 天星标数10
排名5,695
上次排名10,940
排名变化5,245
7 天星标排名4,021
上次 7 天星标排名3,662
7 天星标排名变化-359
总星标排名9,383
上次总星标排名9,384
总星标排名变化1
README 摘录

NovelForge 新一代 AI 长篇小说创作引擎 目录 • 核心特性 • 更新日志 • 运行指南 • 创作流程 高级功能 • 工作流系统 • 项目结构 • 贡献指南 • 后续规划 • 交流群 **NovelForge** 是一款具备数百万字级长篇创作潜力的 AI 辅助写作工具

。 为此,NovelForge 围绕四大核心理念构建:模块化的 **“卡片”**、可自定义的 **“动态输出模型”**、灵活的 **“上下文注入”** 与保证一致性的 **“知识图谱”**。 7 **内置提示词与知识库管理增强** 新增内置项状态显示,区分自定义、内置和

已修改状态 增加安全约束,避免误删内置资源或覆盖用户修改 优化内置项分页、初始化及重置逻辑 **后端端口配置增强** 支持通过 中的 自定义后端服务端口 默认端口保持为 ,并增加 范围校验 其它

bug修复 v0. 6 优化提示词 若干功能优化 **LLM 配置页能力检测** **灵感助手批量正文修改建议** **任务完成提醒** bug修复 v0. 5 修复工作流bug 将拆书工作流改为默认指令流模式,提高成功率 修复部分UI在不

同分辨率显示问题 v0. 4 **记忆层信息增强(角色/关系/场景/组织/物品/概念)** 统一提取预览 / 确认写入流程 统一交互方式为: 本次新增并补齐了以下实体类型的轻量状态 / 记忆能力 (按需使用,不一定全部

都要用上,避免增加上下文复杂度): 优化移动端css排版,增加左下角导航显隐功能 其它优化、修复若干 bug v0. 3 **章节正文字数控制重构** 章节正文续写的字数控制收敛为两种模式: 控制模式当前采用

固定多轮预算策略,提升长章节续写时的稳定性

常见问题

记录了多少星标和分叉?

RhythmicWave/NovelForge 有 1,248 个星标和 226 个分叉。

仓库排名是多少?

RhythmicWave/NovelForge 排名第 5,695。

记录的语言和类别是什么?

RhythmicWave/NovelForge 有 1,248 个星标,语言为 Python,类别为 Applications。

哪个仓库排名最接近?

RhythmicWave/NovelForge 与 NeymarL/ChineseChess-AlphaZero 比较,后者排名第 5,694,有 1,250 个星标。

README

NovelForge

新一代 AI 长篇小说创作引擎

目录 • 核心特性 • 更新日志 • 运行指南 • 创作流程

高级功能 • 工作流系统 • 项目结构 • 贡献指南 • 后续规划 • 交流群

NovelForge 是一款具备数百万字级长篇创作潜力的 AI 辅助写作工具。它不仅是编辑器,更是一套集世界观构建、结构化内容生成于一体的解决方案。

长篇创作中,维持一致性、保证可控性、激发持续灵感是最大的挑战。为此,NovelForge 围绕四大核心理念构建:模块化的 “卡片”、可自定义的 “动态输出模型”、灵活的 “上下文注入” 与保证一致性的 “知识图谱”。


📑 目录

快速导航

按功能跳转

协作与规划


✨ 核心特性

  • 📚 Schema 驱动的卡片创作

    • 每种卡片都可定义结构(Schema),AI 生成会按结构校验,减少“看起来能用、落地却混乱”的输出。
  • ⚡ 指令流式 AI 卡片生成

    • 不再是“一次性整段生成”。现在是“输入要求 → 字段粒度流式填充 → 你确认或反馈继续生成”,更可控、更容易修正。生成过程更加丝滑,避免长时间等待生成结果。
    • 该能力聚焦于“当前这张卡片”的生成与完善,关闭生成对话框后本次会话即结束。
  • 📝 章节正文字数控制

    • 章节正文续写支持两种模式:提示词约束 与 控制模式。
    • 提示词约束 更自然、成本更低;控制模式 会按目标总字数切分多轮预算,控制更稳,但会消耗更多 token。
  • ✅ 通用审核与审核结果卡片

    • 审核统一采用“草稿预览 → 确认保存为审核结果卡片”的流程。
    • 不同卡片类型可切换不同审核提示词,但结果卡片结构保持一致,便于统一查看与引用。
  • 🧠 上下文注入 + 知识图谱一致性

    • 通过 @DSL 精准引用项目数据;结合 关系图谱与动态信息,让后续生成更贴近已写内容与角色关系。
  • 🔮 灵感助手(Agent)

    • 可持续对话、引用卡片、调用工具修改内容。你可以像和搭档协作一样打磨设定,而不是反复整卡重生成。
  • 🧩 代码式工作流系统

    • 已重构为代码式工作流主线(去掉旧 DAG 方案),支持可视化编辑、触发执行与复用,适合把常用创作流程自动化。
  • 🤖 工作流 Agent

    • 你可以直接用自然语言描述需求,让 Agent 帮你写/改工作流代码、做校验并应用变更。
  • 💡 灵感工作台 (Ideas Workbench)

    • 支持自由卡片、跨项目引用、移动/复制回正式项目,适合专门做脑暴和素材沉淀。

📅 更新日志

v0.9.8

  • 修复灵感助手等若干bug
  • 优化Web移动端界面
  • 其它若干优化

v0.9.7

  • 内置提示词与知识库管理增强

    • 新增内置项状态显示,区分自定义、内置和已修改状态
    • 增加安全约束,避免误删内置资源或覆盖用户修改
    • 优化内置项分页、初始化及重置逻辑
  • 后端端口配置增强

    • 支持通过 backend/.env 中的 APP_PORT 自定义后端服务端口
    • 默认端口保持为 54321,并增加 1-65535 范围校验
  • 其它bug修复

v0.9.6

  • 优化提示词
  • 若干功能优化
    • LLM 配置页能力检测

      • 可在 LLM 配置页触发模型能力/兼容性测试,辅助判断基础对话、流式、结构化输出、工具调用等兼容情况
    • 灵感助手批量正文修改建议

      • 灵感助手可一次返回多条正文修改建议,编辑器支持逐条查看、接受或拒绝
      • 保留工具结果处理和文本格式降级解析,降低模型返回格式不稳定时的失败概率
    • 任务完成提醒

      • 助手回复或编辑建议生成完成后,可触发提示音和桌面通知(默认关闭,可在助手设置中开关)
  • bug修复

v0.9.5

  • 修复工作流bug
  • 将拆书工作流改为默认指令流模式,提高成功率
  • 修复部分UI在不同分辨率显示问题

v0.9.4

  • 记忆层信息增强(角色/关系/场景/组织/物品/概念)

    • 统一提取预览 / 确认写入流程 章节编辑器中,以下能力已统一到“先预览、后确认”的流程:

      • 角色动态信息
      • 关系提取入图
      • 场景状态
      • 组织状态
      • 物品状态
      • 概念掌握
    • 统一交互方式为:

      • 基于当前章节正文发起提取
      • 先展示预览结果
      • 支持用户在预览中手动调整
      • 确认后再写回卡片或图谱
    • 本次新增并补齐了以下实体类型的轻量状态 / 记忆能力 (按需使用,不一定全部都要用上,避免增加上下文复杂度):

      • 场景卡
      • 组织卡
      • 物品卡
      • 概念卡
  • 优化移动端css排版,增加左下角导航显隐功能

  • 其它优化、修复若干 bug

v0.9.3

  • 章节正文字数控制重构

    • 章节正文续写的字数控制收敛为两种模式:
      • 提示词约束:只做提示词层面的字数约束,文本更自然,适合对字数要求不特别严格的场景
      • 控制模式:按目标总字数切分为多轮并分配预算,字数控制更稳,但会消耗更多 token
    • 控制模式当前采用固定多轮预算策略,提升长章节续写时的稳定性与可控性
  • 审核功能重构

    • 审核流程统一为“先生成审核草稿,再确认创建/更新审核结果卡片”
    • 审核结果不再依赖旧记录模型,统一沉淀为 内容审核卡片
    • 审核结果卡片会自动归档到根级 审核结果 文件夹,便于集中查看与复用
    • 章节正文与通用卡片编辑器的审核入口统一为“审核按钮 + 提示词切换”
  • 其它优化

    • 对 LLM 配置、Responses 模式兼容(灵感助手仍不兼容)、导出排序、章节编辑器与若干 UI 细节进行了优化
    • 修复若干 bug,提升整体稳定性

v0.9.2

  • 增加章节审核、阶段审核,查看审核历史
    • 点击阶段/章节正文卡片顶部的审核按钮即可,审核完成后会弹出审核结果。
    • 在右栏中可以查看审核历史记录
  • 新增卡片搜索、文件夹类型卡片及前后端一键启动,修复树状结构保存折叠问题
  • 自动检查模型元数据与数据库现有表结构的差异检测并补齐“可安全追加”的缺失列
  • 其它优化

v0.9.1

  • 关系图支持 SQLite 存储

    • 关系图存储新增 SQLite 支持(并兼容 Neo4j)
    • 增加关系图管理能力:筛选、批量修改、导入导出等操作
  • 优化章节正文生成与润色相关提示词

    • 优化“内容生成/润色/扩写”等提示词表现,提升输出稳定性与可用性
    • 将文风约束相关内容拆分为知识库注入,便于独立维护与快速调整
  • 增加章节正文润色/修改后的接受/拒绝功能

    • 润色替换支持“接受并替换 / 拒绝并还原”操作,降低误替换风险
  • 增加复制 LLM 配置功能:可基于现有配置快速复制并微调,减少重复配置成本

  • 修复若干bug,提升整体稳定性与交互体验

v0.9.0

  • 🚀 重大更新:0.9.0

  • ✨ 重构AI 卡片生成流程

    • 从“点击后等待整段结果”升级为“输入要求 → 对话框内字段粒度生成 → 确认/反馈继续生成”,显著增强可用性,更加丝滑~
    • 生成过程更可控,修改成本更低。
  • 🧱 工作流系统重构(探索性)

    • 我们探索性地将工作流从旧的 DAG 式编辑器 迁移到新的 代码式工作流(Python 风格语句 + 特殊标记 DSL),并逐步移除了旧的 DAG 方案。
    • 目前更多是基于对可维护性与 AI 友好程度的综合权衡。
    • 代码式工作流的优点(当前体感):
      • 逻辑更线性、更清晰:顺序、等待(Logic.Wait)、异步(async=true)等语义更贴近真实执行过程。
      • 进度处理与异步操作更自然:执行器可按语句计划调度,不需要在图上绕来绕去。
      • 对 AI 更友好:同一个功能,代码式往往几十行就能表达;而 DAG 配置经常需要几百行的节点与连线描述。
    • 代码式工作流的缺点(需要持续打磨):
      • 不如 DAG 直观
      • 对字符串/代码格式更敏感:参数序列化、字典字段类型、变量引用等细节更容易引发校验或运行错误,需要更强的校验与提示词约束。
  • 🤖 新增工作流 Agent

    • 可通过自然语言描述目标,由 Agent 生成/修改工作流代码并做校验。
    • 支持“先预览再应用”的安全变更体验。
    • 可能还有些bug
  • 📚 内置工作流增强

    • 增加“拆书工作流”等实用流程模板,便于开箱使用和二次改造。
  • 🎨 灵感助手 UI 与交互优化

    • 对话渲染、输入区交互、工具调用显示等体验优化。
  • 🧹 工程重构与稳定性提升

    • 前后端目录结构和模块边界大幅改动、整理,代码可维护性提升。
    • 修复一批工作流、可视化参数编辑、Agent 交互相关问题。
  • ⚠️ 由于该版本更新变动较大,旧版本数据库可能无法直接使用,请尝试用发布的迁移脚本进行迁移(不保证成功,建议提前做好数据库db文件备份!)

v0.8.6

  • 增加了版本更新检测功能,默认自动检测(当有新版本时会在设置-关于处出现小红点)
  • 优化了LLM配置界面,增加了获取可用模型列表功能
  • 增加了Web版本适配
  • 代码优化与修复bug

v0.8.5

  • 使用新的agent框架进行了全面替换;优化灵感助手功能、UI
  • 增加了灵感助手相关设置
  • 重新实现了React模式来为模型实现文本格式工具调用,适用工具调用能力不强的模型。可在设置-灵感助手处开启(默认关闭)
  • 兼容了推理模型,增加了thinking模式
  • 建议将DeepSeek、Qwen之类的模型选择/修改提供商为OpenAI兼容,而OpenAI则仅设置为GPT 5等官方模型。
  • 其它若干优化
  • 代码优化与修复bug

v0.8.3

  • 灵感助手功能增强

    • 新增 ReAct 模式:兼容更多 LLM 模型(文本格式工具调用),可在设置中切换标准/ReAct 模式
      (注意:由于时间关系,ReAct 模式实现较为粗糙,可能存在些bug,还是建议优先使用原生工具调用支持比较好的模型)
    • 上下文智能增强:工具返回值增加父卡片信息,AI 可更准确理解卡片层级关系
  • UI 与体验优化

    • 引用卡片区域重构:固定布局、始终可见的 ...(N) 按钮,使用 Popover 替代 Modal
    • 优化工具调用结果展示:显示成功/失败状态、支持跳转卡片、可折叠查看完整 JSON
    • 修复引用卡片与模型选择重叠问题,调整输入框高度
  • 代码优化与修复bug

v0.8.2

  • 优化灵感助手工具调用,增加自动重试功能。可通过.env文件配置最大重试次数
  • 增强卡片拖拽功能,可自由排序
  • 优化灵感助手UI、支持markdown显示
  • 修复bug、清理代码

v0.8.0

  • 章节编辑器重构

    • 从独立窗口迁移到主编辑器中栏,统一编辑体验
    • 新增右键快速编辑:选中文本后右键,可输入要求进行润色/扩写
    • 优化上下文组装:润色/扩写时自动包含上下文,衔接更自然
    • 动态高亮显示 AI 生成内容
  • 灵感助手增强

    • 新增工具调用能力(实验性):可直接在对话中创建/修改卡片,支持搜索、查看类型结构等操作
    • 历史对话管理:按项目存储对话历史,支持新增/加载/删除会话
    • 实时工具调用反馈:显示"正在调用工具...",完成后自动刷新卡片树
    • 优化上下文构建:自动注入项目结构树、统计信息、操作历史
  • 工作流系统优化

    • 节点自动注册机制:新增节点只需一行装饰器,前端自动同步
    • 动态节点库:从后端动态加载节点列表,零配置扩展
  • UI 与体验优化

    • 修复暗黑模式下多处显示问题
    • 优化卡片编辑器布局与交互细节
    • 改进流式输出的视觉反馈

注意:如果之前选择本地开发,则当前版本更新需重新安装一下后端requirements

v0.7.8

  • 工作流系统(实验性)继续推进

    • 新增“项目创建时触发(onprojectcreate)”,用工作流替代旧项目模板
    • 画布交互优化:拖拽创建节点、删除连接线、坐标定位更准确
    • 工作流工作室与节点参数面板的若干易用性优化
    • 注:工作流仍处于实验阶段,当前主要用于逐步替换原有硬编码逻辑,扩展新能力仍有较大提升空间
  • 优化代码

    • 清理旧项目模板相关代码与界面,统一到工作流体系

v0.7.7

  • 优化作品标签卡片
    • 增加标签项、选项数据
    • 将标签项类别数据抽离出来,设置为知识库文件存储,可在设置-知识库中编辑作品标签,自由的修改标签项类别
  • 增加卡片AI生成时中断功能
  • 优化代码、修复bug,可通过.env配置是否在启动时重置知识库、提示词等内容

v0.7.6

  • 增强LLM 管理

    • LLM 配置支持“测试连接”。
    • 支持用量设置:可设定 Token 上限、调用次数上限(-1 表示不限)。
    • 列表展示“已用(输入/输出/调用)”,并提供“一键重置统计”。(目前统计的token用量是粗略统计,不同模型计算方式可能不同,仅供参考)
  • 优化代码、体验

v0.7.5

  • 优化:灵感助手

    • 支持自由引用多个卡片数据(跨项目、去重与来源标记)。
    • 可在对话中选择 LLM 模型(可覆盖卡片配置)。
    • 对话历史按项目保存与恢复,重载不丢失。
    • 若干 UI 与交互细节优化。
  • 初步:工作流(实验性)

    • 新增“工作流工作室”:画布(Vue Flow)、参数侧栏、节点库与触发器基础 CRUD。
    • 运行与事件:支持 SSE,run_completed 携带 affected_card_ids,前端按卡片粒度精确刷新。
    • 重要说明:当前为实验性功能,UI交互/DSL/校验/Runner/触发器等功能仍在完善。

v0.7.0

  • 新增:灵感助手(Inspiration Assistant)

    • 右侧面板中的对话式协作工具,支持实时讨论和迭代优化卡片内容。
    • 跨项目卡片引用功能,可将任意项目的卡片数据注入对话,激发创意碰撞。
    • 自动引用当前选中卡片,实现无缝上下文切换。
    • 一键“定稿生成”,将对话成果直接应用到卡片内容。
    • 重置对话功能,便于开启新的创意讨论。
  • 新增:灵感工作台(Ideas Workbench)

    • 独立窗口模式,提供专注的创意探索环境。
    • 自由卡片系统,不受项目结构约束。
    • 跨项目引用与创意融合能力。
    • 一键将自由卡片移动/复制到正式项目。
  • 优化:导入卡片功能

    • 将“导入自由卡”升级为“导入卡片”,支持从任意项目导入。
    • 改进卡片选择器,按类型分组并支持折叠/展开。
    • 优化引用数据缓存,提升性能与响应速度。

v0.6.5

  • 新增:项目模板(Project Templates)- 已在 v0.7.8 中迁移至工作流系统
    • 设置页新增"项目模板"管理,支持配置新建项目时自动创建的卡片类型与顺序,形成可复用的创作管线;可维护多个模板。
    • 新建项目支持选择模板。
    • 后端新增模板数据模型与 CRUD 接口,应用启动自动写默认项目模板。

🛠️ 技术栈

  • 前端 (Frontend): Electron, Vue 3, TypeScript, Pinia, Element Plus
  • 后端 (Backend): FastAPI, SQLModel (Pydantic + SQLAlchemy), Uvicorn
  • 数据库 (Database): SQLite (核心数据), Neo4j (知识图谱)

🚀 运行指南

无论你是想直接体验,还是参与开发,都可以轻松开始。

0. Neo4j Desktop(可选,非必须)

项目已默认使用sqlite代替实现关系图谱存储,但也可以切换为neo4j来存储,步骤如下

  • 请下载并安装 Neo4j Desktop,推荐版本 5.16 或更高。
  • 下载地址: Neo4j Desktop
  • 安装后,创建一个本地数据库实例,并确保其处于运行状态。默认连接信息可在 .env 文件中配置。

方式一:从源码运行 (开发者/最新功能)(非开发者建议用方式二)

1. 后端 (Python / FastAPI)

# 克隆仓库
git clone https://github.com/RhythmicWave/NovelForge.git
cd NovelForge/backend

conda create -n NovelForge python=3.11
conda activate NovelForge

# 安装依赖
pip install -r requirements.txt

将backend/.env.example文件修改为.env

# 如默认端口被占用,可在 backend/.env 中修改(范围 1-65535)
APP_PORT=53210

# 运行后端服务
python main.py

2. 前端 (Node.js / Electron)

# 进入前端目录
cd ../frontend

# 安装依赖
npm install

# 启动开发服务器
npm run dev
# 也可以用下面命令启动web页面
// npm run dev:web

3. 一行命令同时启动前后端(npm)

npm run dev

重要:.env 的 BOOTSTRAP_OVERWRITE

启动后端时,系统会按需初始化/更新内置资源(知识库、提示词、工作流等)。是否覆盖更新由 .env 中的 BOOTSTRAP_OVERWRITE 控制。

  • 建议设置:

    • 如果你没有直接修改过内置资源,建议设置为:
      BOOTSTRAP_OVERWRITE=true
      
      这样可以在升级版本或重启时自动同步最新的内置知识库/提示词/工作流。
    • 如果你曾直接修改过“内置”资源,建议设置为 false,以避免被覆盖。
  • 建议(避免被覆盖):

    • 不要直接编辑“内置”资源。
    • 如需定制,请新建一个副本(复制知识库/提示词/工作流后重命名),在副本上修改。这样即使将来设置 BOOTSTRAP_OVERWRITE=true,你的自定义副本也不会被更新逻辑覆盖。

方式二:使用发行版 (快速上手)

不定期打包发布版本,无需配置开发环境,开箱即用。

  1. 前往项目的 Releases 页面下载最新的便携版压缩包 (.zip 或 .7z)。
  2. 解压到任意位置。
  3. 进入解压后的文件夹,找到 backend 目录,按需编辑 .env 文件以配置数据库连接。 如默认的 54321 端口被占用,可修改 APP_PORT;后端与桌面前端会读取同一配置。
  4. 运行 backend/NovelForgeBackend.exe 启动后端服务。
  5. 返回上一级,运行 NovelForge.exe 启动主程序。

大部分数据都存储在backend/novelforge.db数据库中,当版本更新/迁移时,将该数据库文件复制到对应位置即可。


✍️ 创作流程

  1. 配置大语言模型 (LLM)

    • 首次启动后,在设置中添加你的 AI 模型配置,如 API Key、Base URL 等。 推荐使用Gemini 2.5Pro级别以上的LLM进行创作
  2. 创建项目与初始化工作流

    • 新建项目时,可以选择一个初始化工作流(通常是 onprojectcreate 类型)来自动创建预设卡片。系统内置了"项目创建·雪花创作法"工作流,会按照雪花创作法自动创建一套完整的卡片树。
  3. 自顶向下,填充核心设定

    • 从最高层卡片开始逐步推进(一句话梗概 → 故事大纲 → 世界观 → 核心蓝图)。
    • 每张卡片都可以打开 AI 生成对话框,输入本次要求,系统会按字段粒度流式生成。
    • 你可以在生成后选择“确认”直接落库,或提交反馈意见继续迭代,不满意不必整卡重来。 完成核心蓝图卡片创作后,点击保存,会自动根据分卷数量创建对应分卷卡片。 继续完成分卷大纲创作即可,从第1卷开始。 完成之后,会自动根据阶段数创建阶段大纲子卡片、写作指南卡片。建议先生成写作指南卡片,生成写作指导信息,再进行阶段大纲卡片创作。 AI生成卡片示例流程: 生成完成后点击完成,再保存卡片即可。或者对某些字段不满意,则输入指导意见进行反馈。
  4. 借助灵感助手完善内容

    • 在写作过程中,如果你想进一步打磨或优化卡片内容,可以随时使用右侧的灵感助手。
    • 选中任意卡片后,灵感助手会自动读取该卡片的内容,方便你参考和思考。
    • 你可以直接向助手提出具体问题,比如“这个角色的动机是否合理?”、“怎样让这个场景更有张力?”等。
    • 灵感助手会结合当前卡片内容,给出针对性的建议,你可以与助手反复交流,逐步完善想法。
    • 通过“添加引用”按钮,还能把当前项目或其他项目的相关卡片内容加入对话,激发更多创意火花。
    • 灵感助手具备感知上下文、调用工具修改/创建卡片内容的能力(实验性)

AI 生成对话框 vs 灵感助手(如何选择)

  • AI 生成对话框:聚焦当前单张卡片,用于快速生成与迭代该卡片内容;会话仅持续到本次生成流程结束,关闭对话框后会话清空。
  • 灵感助手:用于跨卡片、跨项目的持续对话与创作;可引用多个卡片进行分析与联动创作,并且对话历史可持久保存。
  • 建议用法:
    • 目标是“把这张卡片写好” → 用 AI 生成对话框。
    • 目标是“跨设定联动思考/长期讨论/多卡片协作” → 用灵感助手。
  1. 完成阶段大纲创作后,自动生成章节大纲、章节正文卡片,并自动注入每章需要参与的实体。

  2. 进入章节创作

    • 完成上述步骤后,点击对应的章节正文卡片,打开章节编辑器,进入核心的写作界面。右侧的上下文面板会自动为你准备好当前章节所需的全部背景资料。

    • 可点击续写进行AI生成(如果没有任何内容,则自动从头开始写)。

    • 续写时可选择两种字数控制模式:

      • 提示词约束:只做提示词层面的字数约束,文本更自然,也更省 token。
      • 控制模式:按目标总字数切分为多轮预算,适合对章节总字数要求更严格的情况,但会消耗更多 token。
    • 若对生成内容不满意,可选中内容点击右键进行快速编辑,然后输入要求,点击润色/扩写,可以重写这部分内容。

    • 章节正文也支持直接审核:

      • 点击顶部 审核 按钮即可运行审核
      • 可通过按钮右侧下拉切换审核提示词
      • 审核会先返回草稿,确认后再保存为审核结果卡片
      • 保存后的结果会自动放入根级 审核结果 文件夹,并可在右侧面板中查看
    • 内容创作完成后,点击入图关系,解析出角色之间的关系存入知识图谱,供后续写作时参考。 提取完成后,点击确认即可存入neo4j数据库。

    • 建议再提取角色动态信息,可用成本更低的模型进行提取。

    • 以上步骤完成后,进行下一章创作时,自动注入相关参与实体的信息

  3. 灵感工作台:捕捉创意火花

    • 有了新点子却一时不知道归属哪个项目?点击页面顶部的“灵感”按钮,即可打开独立的灵感工作台窗口。
    • 在这里,你可以随手记录各种想法,自由创建不同类型的卡片,无需考虑项目结构,专注于把灵感落到实处。
    • 右侧的灵感助手支持引用任意项目的卡片内容,方便你跨项目查阅、对比和组合,激发更多创意。
    • 当某个想法逐渐成型,只需用顶部的“移动/复制到项目”功能,就能把自由卡片一键归入正式项目,创意自然衔接到后续创作中。

⚙️ 高级功能与配置

虽然 NovelForge 提供了一套推荐的创作流程,但其真正的强大之处在于高度的灵活性。你可以完全抛开预设,利用以下工具,组合出专属于你自己的创作体系。

Schema-first:类型/实例结构与参数

  • 在 设置 -> 卡片类型 中,使用结构构建器为类型定义 json_schema(支持基础类型、relation(embed)、tuple 等)。类型 Schema 将作为该类型卡片的默认结构。

  • 在具体卡片中,可打开 结构(Schema Studio)对该卡片实例的结构进行覆写,或一键"应用到类型"。

    应用到类型之后,后续再创建该类型卡片将使用新的结构。

  • 卡片 AI 参数:通过编辑器工具栏设置模型、提示词与温度等参数(llm_config_id、prompt_name、temperature、max_tokens、timeout)。

  • 完成以上设置后,即可在项目中创建该类型卡片并进行 AI 生成。系统会将该卡片的"有效 Schema"一并用于结构化校验与输出。 新建卡片时也可以直接从已有卡片中拖动到下方,自动创建

  • Schema 支持嵌入($ref 到类型 $defs),可以组合复用已有结构,便于复合能力搭建。

注意,尽量新增模型而不是修改已存在模型结构,避免和已有数据冲突。

章节审核与通用审核

除章节正文外,其它卡片(例如阶段大纲、通用文本等)也可以直接使用顶部的 审核 按钮。

  • 审核入口统一为一个按钮,按钮右侧可切换审核提示词
  • 阶段大纲默认使用 阶段审核 提示词
  • 普通卡片默认使用 通用审核 提示词
  • 审核结果统一保存为 内容审核卡片

这样你既可以为不同卡片类型配置不同审核标准,又能保持统一的审核结果结构和查看方式。

提示词工坊 (Prompt Workshop)

  • 所有 AI 功能的背后都是可编辑的提示词模板。你可以在这里修改预设模板,或创建全新的模板。
  • 知识库注入: 支持通过 @KB{name=知识库名称} 语法,在提示词中动态引用"知识库"内容,为 AI 提供更丰富的背景信息。

上下文注入 (@DSL) 详解

这是 NovelForge 的特色。它允许你在提示词模板中,用 @ 符号精确地引用项目中的任何数据注入为上下文。

  • 按标题引用: @卡片标题 或 @卡片标题.content.某个字段
  • 按类型引用: @type:角色卡 (所有角色卡)
  • 特殊引用: @self (当前卡片), @parent (父卡片)
  • 强大的过滤器:
    • [previous]: 获取同级的前一个卡片。
    • [previous:global:n]: 获取全局顺序(树状先序)中最近的n个同类型卡片。
    • [sibling]: 获取所有同级兄弟卡片。
    • [index=...]: 按序号获取,支持表达式,如 $self.content.volume_number - 1。
    • [filter:...]: 按条件过滤,如 [filter:content.level > 5] 或 [filter:content.name in $self.content.entity_list]。
  • 字段级别选中: 可选中整个卡片数据,也可以单独选中卡片的字段。

例如,引用最近3章的章节标题及原文:

工作流系统(代码式工作流 + Workflow Agent)

工作流系统用于把常见创作动作(初始化项目、保存后自动生成子卡、批量处理内容等)编排成可复用流程,并在合适时机自动执行。

当前已完成代码式主线重构,旧 DAG 式工作流方案已移除。

工作流系统

  • 访问“工作流”页面,可在可视化与代码视图中编辑工作流。
  • 可通过节点库快速搭建流程,也可以直接编写/修改代码。
  • 参数面板支持实时编辑与校验,修改后可安全应用到工作流代码。
  • 支持查看运行记录、执行结果与错误信息,便于迭代调试。

触发器配置

每个工作流可以配置一个或多个触发器,定义何时自动执行:

  • 保存时触发:当指定类型卡片保存时自动执行
  • 创建项目时触发:新建项目后自动执行(常用于项目初始化)

工作流状态栏(全局后台运行)

  • 工作流运行后,状态会显示在全局工作流状态栏中(不局限于工作流页面)。
  • 你可以切换到其它页面继续创作,工作流在后台执行。
  • 状态栏会显示运行中数量、当前节点、总体进度与完成状态。

节点级进度与中断恢复(Beta)

  • 系统支持节点级进度上报,可看到“当前执行到哪个节点”。
  • 支持暂停/恢复执行,并保留运行状态用于续跑。
  • 支持运行记录持久化与查看。
  • 说明:这部分能力已可用,复杂流程下可能存在少量边界问题(如个别恢复场景)。

持久化工作流 vs 临时工作流

  • 临时工作流(默认):运行记录用于当前查看与调试,后续会被自动清理。
  • 持久化工作流:开启“持久化保存”后,运行记录会长期保留(受系统保留策略影响)。

内置工作流模板

系统预置了多个常用工作流,可直接使用或作为参考:

  • 项目创建·雪花创作法: 新建项目时按照雪花创作法自动创建初始卡片结构
  • 世界观·转组织: 从世界观设定的势力列表自动生成组织卡
  • 核心蓝图·落子卡: 根据蓝图内容自动创建角色卡、场景卡和分卷卡片
  • 分卷大纲·落子卡: 根据分卷大纲自动创建阶段大纲和写作指南
  • 阶段大纲·落章节卡: 根据阶段大纲的章节列表自动创建章节大纲和正文卡片
  • 拆书工作流: 用于拆解既有文本结构并落地到卡片体系

项目初始化工作流

新建项目时,可以选择一个 onprojectcreate 触发器的工作流作为项目模板:

  • 默认选择"项目创建·雪花创作法",自动创建作品标签、金手指、一句话梗概、故事大纲、世界观设定、核心蓝图等卡片
  • 也可以在工作流工作室中创建自己的项目初始化工作流,完全自定义项目起始结构
  • 支持复杂的初始化逻辑,如根据条件创建不同的卡片结构

工作流 Agent(自然语言编写工作流)

  • 在工作流页面打开工作流 Agent,对它说出你的目标,例如“创建一个多 AI 辩论流程并输出到指定项目”。
  • Agent 会自动读取当前工作流、生成修改方案、校验后给出可应用结果。
  • 使用这种方式,无需自己搭建工作流,可以快速实现复杂流程。
  • 目前可能还存在一些bug

(右边执行界面是详细进度显示,工作流状态栏是简单的进度展示) 一些长时间任务执行可以切换到其它界面,无需一直在工作流界面等待。执行完成后工作流状态栏会闪烁提示。

工作流使用示例

拆书工作流 先建一个空项目

进入工作流界面,选择拆书工作流

设置目标项目、模型名、小说章节目录

注意,小说文件存放需按满足预设的格式要求,例如按每章节进行分割存储为txt文件

点击执行即可

拆书结果:

提取章节大纲→划分阶段故事线→根据所有阶段故事性进行全局分析


许可证协议

本项目采用双许可证授权模式:

  • 默认情况下,本项目基于 GNU Affero General Public License v3.0 (AGPLv3) 授权协议
  • 提供服务型商用:将本项目(或其修改版本)作为后端以 SaaS、托管或其他形式向第三方提供服务,须通过作者获取商业授权许可。

请遵守开源协议条款,并在适用场景下取得相应授权。


📂 项目结构

NovelForge/
  ├── backend/        # FastAPI 后端
  │   ├── app/
  │   │   ├── api/        # API 路由
  │   │   ├── db/         # 数据库模型与会话
  │   │   ├── schemas/    # Pydantic 数据模型
  │   │   └── services/   # 核心业务逻辑
  │   └── main.py       # 入口
  │
  └── frontend/       # Electron + Vue3 前端
      └── src/
          ├── main/       # Electron 主进程
          ├── preload/    # 预加载脚本
          └── renderer/   # Vue 渲染进程
              └── src/
                  ├── components/ # Vue 组件
                  ├── services/   # 前端服务
                  ├── stores/     # Pinia 状态管理
                  └── views/      # 页面视图

展望

NovelForge 目前仍处于迭代的早期阶段,作者深知该项目在创作流程、一致性维持、 UI 设计、交互体验等方面还有巨大的改进空间。

最好的工具源于社区的智慧。无论你是创作者还是开发者,都真诚地欢迎你:

  • 在 Issues 中提出宝贵的功能建议或反馈问题。
  • 分享你对创作流程的独到见解。

交流群

排名相邻
同类项目