Skip to content

Kerlewor/narrative_workbench

Repository files navigation

Narrative Workbench / 叙事工作台

面向 Claude Code 的长篇 AI 小说工程框架。你对 AI 说话,AI 调度一切。

长篇创作的核心困难不在文笔,在工程。

让 AI 直接写长篇,天然有短板:单次输出质量有天花板,几十章后设定悄悄漂移,没人专职检查角色一致性和伏笔回收,AI 腔也会随自由发挥越渗越多。

自己执笔写,也有自己的问题:大纲搭了但不成体系,角色弧光写着写着就断了,第 7 章埋的伏笔到第 40 章忘了提,每次回顾前面都要翻几十个文档——你有创作力,但缺一个帮你记住一切、检查一切的工程系统。

这个框架为这两种情况各准备了一条路。AI 流水线模式让你从第 1 章一路写到完结——AI 调度 Writer / Polish / Review / Fixer 四 Agent 接力,每章前后自动做漂移检测和门禁检查。共创模式让你自己执笔——写完后 AI 替你审查角色一致性、伏笔遗漏和 AI 腔,按需介入润色,原稿始终不覆盖。

License: AGPL v3 Platform

这是什么

一个给 AI 用的框架,不是给你用的命令行工具。 它的"用户界面"就是你跟 AI 说的自然语言。

  • 你说"写第 1 章",AI 在后台调度 Writer → Polish → Review → Fixer 四个 Agent,跑完门禁检查,把定稿写入正文目录,同步所有状态文件。
  • 你说"继续下一章",AI 自动确定章号,复用已有的 Agent 会话,不需要你重复交代设定。
  • 你说"审查第 5 章",AI 对你手写的章节做一致性审查,出问题清单但不改你的原文。

31 个确定性检查脚本在后台默默运行——体检、门禁、伏笔审计、角色漂移检测——你不需要知道它们的名字。AI 会自动调用。

本项目受 InkOS(AGPL-3.0)启发并独立构建。详见 ORIGIN.md

核心能力:

  • 四 Agent 流水线 — Writer → Polish → Review → Fixer,职责分离,每个 Agent 只做一件事
  • 伏笔追踪 — 全生命周期管理(open/advance/escalate/resolve),半衰期防遗忘,活跃预算控制
  • 角色一致性 — 四轮深度设计协议 + Personality Lock + 贯穿全链路的角色行为校验
  • 去 AI 味 — style_blacklist 负面清单 + scene-beat 场景施工 + Polish 润色层
  • 知识库 — 领域考据资料索引,写作时自动注入相关知识
  • 文风分析 — 从你的手写样章中提取文风 profile,AI 写作时对齐
  • Skill 扩展 — 注册制可插拔模块,按需扩展专项能力
  • 共创模式 — 你手写,AI 审查一致性 + 按需润色,互不干扰

我需要装 Python 吗

不需要。 没有 Python 环境也能正常使用。AI 会手动执行等效检查,功能完整。

如果你愿意装(pip install -e ".[test]"),检查更快更可靠。

快速开始

在 Claude Code 中打开项目目录(或者复制项目地址到对话框),然后与 AI 对话:

从零搭建大纲

你: 创建新项目"临安雪"

AI: 项目已创建。要开始搭建大纲吗?

你: 搭建大纲

AI: 好,先确认故事内核——
      这本书一句话讲什么?

你: 南宋绍兴年间,一个精通医术的女子为躲避金兵追杀,
      伪装身份混入太医院,却卷入了宫廷内部的权力斗争。

AI: 明白了。接下来确认前台/后台双层结构——
      明面上是她在太医院周旋求生,
      背后隐藏的真相或更大的危机是什么?

   [... 五阶段逐层推进 ...]

   AI 不会一口气要你填完所有设定,而是分阶段引导:
   故事内核 → 前台/后台双层咬合 → 分卷设计(每卷有 Objectives 和情绪曲线)
   → 角色四轮深度设计 → 世界观铁律与禁令。

   大纲产出:story_frame.md、volume_map.md、book_rules.md、角色卡等。
   每阶段确认后才进入下一阶段,不会自作主张替你定设定。

深化角色

大纲阶段对角色有了基础设定之后,随时可以挑核心角色做四轮深化:

你: 深化角色 林半夏

AI: Round 1 — 核心人格。
      林半夏的底层恐惧是什么?她最不想让人看到的弱点是什么?

你: 她怕被人当成累赘。小时候母亲为保护她而死,
      她一直觉得自己必须有用才配活着。

AI: Round 2 — 人格压力测试。
      如果有一天,她救人的能力反而害死了身边的人,
      她的第一反应是封闭自己、推锅、还是崩溃后重建?

   [... AI 主动追问、挑战矛盾 ...]

   Round 3 — 关系中的性格张力。
   AI 挑出她和另外两个关键角色之间的摩擦点,
   追问她在不同关系面前的不同面具。

   Round 4 — 声音与表达。
   产出 Personality Lock + Behavioral Constraints + 对白风味 + 动作锚点。

   AI 不只是记标签,而是在四轮讨论中追问矛盾、探测极限。
   产出的角色卡贯穿后续写作和审阅——Writer 参照它写,
   Review 对照它检查角色行为是否越界。

写一章,审一章,修一章

你: 写第 1 章

AI: [drift check — 确认当前项目状态无冲突]
    [创建 intent/plan — 本章目标、必须推进的伏笔、出场角色、弧光差值]
    [Writer] 生成原始草稿,只管情节、角色、节奏
    [Polish] 去 AI 味、校准文风,不碰情节
    [Review] 出审阅报告:连续性检查、伏笔账、人格一致性、信息边界
    [Fixer] 按 Review 报告逐条修复
    [gatekeeper] 确定性门禁 — 文件格式、hook 记录、状态一致性全部通过
    → 定稿写入 chapters/0001_临安雪.md
    → 同步 current_state、chapter_summaries、pending_hooks、emotional_arcs

你: 写第 2 章

AI: Agent 已是持久会话,无需重发设定——
    主会话只发本章 intent + plan + 上一章正文 + 出场角色卡。

你: 写接下来5章        # 批量模式,单批最多 5 章

Agent 是持久会话,首次创建后跨章存活,连续处理超 8 章自动重置。写作流水线支持并行:第 4 章在起草时,第 3 章正在润色,第 2 章已在审查——主会话统一调度。

想先看看项目长什么样?打开 examples/linan_snow_demo/——一个完整的演示项目,包含角色卡、伏笔池和示例章节。

你能对 AI 说什么

你说 AI 做什么
搭建大纲 五阶段从零搭建新书设定(故事内核→双层结构→分卷→角色→世界观)
导入现成大纲 拆解你已有的大纲,检测缺口和冲突,追问必要信息
深化角色 <角色名> 对已有角色做四轮深度讨论(人格→压力测试→关系张力→声音表达)
规划第 N 章 生成本章写作约束简报,不启动写作
写第 N 章 完整流水线:drift check → 四 Agent → 门禁 → 状态同步
继续下一章 自动确定下一章号,执行完整流水线
写接下来 3-5 章 批量创作,单批最多 5 章
审阅第 N 章 根据章节状态从适当阶段切入返修
审查第 N 章 对你手写的章节做一致性审查,出问题清单,不改原文
润色第 N 章 --模式 <模式名> 按指定模式润色你的手写稿(5 种模式可选)
第 N 章写作简报 告诉你这一章承担什么功能、必须推进什么、禁止写什么

以上只是最常用的说法。AI 能理解大部分自然语言——你说"帮我看看第 3 章有没有问题"、"接着写"、"来,搞下一章"、"大纲搭好了,开始写吧"都可以。

AI 写长篇的天然短板

让 AI 直接生成小说章节,会遇到几个固有问题:

  • 单次输出质量天花板。 一个模型同时负责情节推进、语言打磨、伏笔落实、人设一致性——任何一项失手,整章就得返工。
  • 越写越漂移。 几十章之后,AI 忘了早期的设定细节,角色性格悄悄走样,伏笔开了没人记得回收。
  • AI 腔渗透。 自由发挥越多,"作文腔"、主题金句、万能氛围句就越容易渗进正文。
  • 职责混在一起。 起草、润色、审阅一把抓,结果往往是写完就算,没人真正检查。

四 Agent 流水线怎么解决

这个框架把"写一章"拆成四个独立阶段,每个阶段由专门的 Agent 负责:

主会话: drift check → intent + plan
  ↓
Writer(原始草稿)
  只管情节、角色、节奏。不润色,不审稿。
  ↓
Polish(语言二修)
  去 AI 味、校准文风。不改变情节和事实。
  ↓
Review(审阅报告)
  检查连续性、信息边界、伏笔账、人格一致性。只出报告不改文。
  ↓ Fixer(按报告修复)
  只修 Review 指出的问题,不自由发挥。
  ↓
主会话: 门禁检查 → 最终确认 → 写入正文 → 同步全部状态

职责分离之后,每个 Agent 只做一件事——Writer 不用操心文笔,Polish 不用操心剧情,Review 独立于创作过程来审视。漂移问题则由 Review 的角色人格一致性检查 + 主会话的 drift check 在每章写作前后各守一道关。

Agent 是持久会话——首次创建后跨章存活,后续章节无需重发项目设定。连续处理超 8 章后自动重置,防止上下文膨胀。同时它还是一个流水线形式的系统,理论上可以做到第四章在写,第三章在润色,第二章在审查,而第一章在修改。主对话将会负责调度工作。

共创模式

如果你自己执笔写章节,框架同样有用。你写完之后对 AI 说 审查第 N 章——Review Agent 会对你的手写稿做一致性审查,出问题清单但不改原文。需要局部调整时,润色第 N 章 --模式 <模式名> 提供五种精准润色模式(去 AI 味、文风对齐、对白修整等),改动标注位置和原因,原稿不覆盖。

Skill 扩展

如果你需要专项能力——比如"宋代官制审查"、"医学考据校验"、"战斗场景构造"——直接告诉 AI:

你: 我想注册一个"宋代官制审查"skill,用来检查小说中的官职描写是否准确

AI: 好的。请简单描述检查逻辑和触发条件。

你: 当章节涉及官员出场时触发。检查官职名是否属于南宋、品级与权力是否匹配。

AI: [登记 → 验证 → 注册完成] Skill "song-dynasty-official-review" 已就绪。
     后续章节涉及官员出场时我会自动调用它。

你也可以随时说"调用 xxx skill 检查第 N 章"。Skill 不直接改正文,输出由你最终决定是否采纳。

知识库

小说写作经常涉及专业领域知识——医学考据、古代官制、武术流派、历史细节。这些内容不属于"本书设定"(那是大纲和角色卡的事),而属于"现实世界知识"。你可以把考据资料放进 story/knowledge/ 目录(或者告诉ai位置让ai进行操作,在Claude Code与Codex平台上是可以实现的),然后告诉 AI:

你: 我在 story/knowledge/ 下放了南宋太医院职官、
    《太平惠民和剂局方》摘要和宋代都城布局三份考据资料。帮我建索引。

AI: 索引完成:扫描到 3 个知识领域、47 条实体记录。
     后续写作时我会自动关联相关知识。

你: 写第 3 章     # 本章涉及太医院内部场景

AI: [上下文包已注入太医院职官体系、宋代方剂知识]
     Writer 在写作时可引用这些参考,确保医学描写准确。

知识库是"图书馆",Skill 是"研究员"——Skill 可以查询知识库来校验章节,但知识库本身是唯一的事实来源。

文风分析

如果你有自己的手写样章,可以让 AI 分析你的文风,用于后续对齐:

你: 分析我手写的那章文风

AI: 生成三份文件:
    - 文风分析报告:第三人称限知,短中句为主,情绪通过动作呈现...
    - 文风量化 profile
    - 文风 Skill:Prefer 用动作承载情绪;Avoid 直接总结人物心理...

     是否将文风 Skill 注册到项目?这样后续 AI 写作时会自动对齐你的文风。

已知限制

  • 文笔上限受模型能力限制。 框架通过负面清单和 Polish 层约束下限,但文学品质仍取决于底层模型。
  • 门禁通过 ≠ 章节合格。 确定性检查只能验证流程完整性和格式,创作质量的最终判断在你和主会话 AI。
  • 长篇项目状态文件随章节数增长。 数百章后chapter_summaries.md等文件会很大,AI 已支持按卷分段,但超长项目仍需留意。
  • 目前没有 Web UI 或自动调度器。 交互式使用完全够用,但不适合无人值守的批量生成。

当前版本:v0.5.0。详细路线图见 ROADMAP.md

目录结构

想了解框架内部布局的话,主要目录长这样:

chapters/          正文章节(AI 写入的最终定稿)
story/
  outline/         故事框架、分卷地图
  roles/           角色卡(含人格锁定和行为约束)
  runtime/         Agent 工作区(草稿、审阅报告等中间产物)
  ledger/          结构化事实账本(伏笔、角色弧光等,JSONL 格式)
  views/           作者可读视图(账本的 Markdown 渲染版)
  knowledge/       你的考据资料(AI 自动建索引)
  state/           JSON 状态镜像
  style_samples/   你的风格样本
skills/            可插拔 Skill 注册表
scripts/           31 个检查脚本(AI 自动调用,你不需要碰)
workflow/          系统原则与章节生命周期文档
.claude/agents/    四 Agent + Project Librarian 注册文件

深入了解

许可证

GNU Affero General Public License v3.0 发布。你可以自由使用、修改和分发,但必须以相同协议开源修改版本。

InkOS(AGPL-3.0)启发并保持许可证兼容。

About

面向 Claude Code 与 Codex CLI 的 AI 小说写作工程框架 | Inspired by InkOS | AGPL-3.0

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages