news 2026/9/15 14:46:49

Webnovel Writer 章节事实提取实现:accepted_events、state_deltas 与 entity_deltas 数据流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Webnovel Writer 章节事实提取实现:accepted_events、state_deltas 与 entity_deltas 数据流

Webnovel Writer 章节事实提取实现:accepted_events、state_deltas 与 entity_deltas 数据流

【免费下载链接】webnovel-writer基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200 万字量级 连载创作。项目地址: https://gitcode.com/GitHub_Trending/we/webnovel-writer

Webnovel Writer 是一个基于 Claude Code 的长篇网文辅助创作系统,专门解决 AI 写作中的「遗忘」和「幻觉」问题。它的核心机制之一就是章节事实提取:每写完一章,系统通过accepted_eventsstate_deltasentity_deltas三条数据流,把本章发生的新事实结构化地沉淀进状态系统,支撑 200 万字量级的连载创作。

这篇文章面向新手,带你完整看懂这三份数据的字段含义、生成流程和下游去向——不贴大段代码,只用一张数据流图 + 几个最小 JSON 示例。

为什么章节事实提取是长篇网文的命门?

长篇连载最怕的不是文笔,而是写到第 80 章、200 章后 AI「失忆」:

  • 角色战力悄悄漂移,前后战力体系打架
  • 伏笔埋了不收、收了忘了埋
  • 新出场人物没有登记,后续章节张冠李戴

Webnovel Writer 的思路是:每一章的事实必须「入账」,而不是只存在于正文里。入账的入口就是事实提取产物extraction_result.json,它由三个核心数组组成:

数据流一句话理解回答的问题
accepted_events事件流水账这一章发生了什么
state_deltas状态变化单谁的哪个属性从什么变成了什么
entity_deltas实体登记卡新出场/变更了?

三者分工清晰:事件是「流水」,状态是「余额」,实体是「账本上的账户」。

accepted_events:本章事实的「事件流水」

accepted_events是提取结果里信息密度最高的部分。每条事件必须包含 5 个字段:

  • event_id:章内稳定 ID,如evt-ch100-001(缺失时系统会按内容哈希自动生成,见 chapter_commit_schema.py)
  • chapter:当前章号
  • event_type:事件类型(枚举见下)
  • subject:主体实体的entity_id(注意:是 ID,不是中文名)
  • payload:该类型事件的必备字段

event_type 共 10 种枚举(定义在>{"event_id": "evt-ch100-001", "chapter": 100, "event_type": "open_loop_created", "subject": "three_year_promise", "payload": {"content": "三年之约提及"}}

新手最容易踩的坑在这里:

  1. 别名自动归一:写promisebreakthroughmystery_introduced这类口语化类型,系统会通过 EVENT_TYPE_ALIASES 自动映射成规范枚举,不用死记硬背。
  2. subject 必须是 entity_id:投影器按 ID 记账,写「萧炎」而不是xiaoyan会导致事实记不到正确实体上。
  3. 摘要里的伏笔必须同步入账:每条埋设的伏笔都要对应一条open_loop_created事件,否则伏笔管理形同虚设。

state_deltas:角色状态的「前后变化单」

state_deltas记录属性级的变化,每条子项固定 4 个字段:entity_id+field+old+new

{"entity_id": "xiaoyan", "field": "realm", "old": "斗者", "new": "斗师"}

两个新手友好细节(来自>{"entity_id": "hongyi_girl", "action": "upsert", "entity_type": "角色", "payload": {"name": "红衣女子"}}

  • entity_type枚举:角色 | 组织 | 地点 | 物品 | 势力(默认按「角色」处理)
  • payload里可带is_protagonist: true标记主角,系统会同步主角状态

配合entities_appeared(本章出现的实体 + 置信度),消歧规则很明确:置信度 > 0.8 自动采用,0.5–0.8 采用并告警,< 0.5 标记待人工——保证低置信猜测不会污染账本。

数据流全链路:从正文到五路投影

理解单个字段后,来看它们如何流动。整条链路分三步:

第 1 步 · 提取。由>CHAPTER_COMMIT(.story-system/commits/,唯一事实源头) ├── state → .webnovel/state.json(角色状态、进度、伏笔) ├── index → index.db(实体、关系、别名检索) ├── summary → summaries/(章节摘要) ├── memory → memory_scratchpad.json(长期记忆) └── vector → vectors.db(向量检索)

值得新手注意的是事件路由表(EventProjectionRouter):不同事件类型流向不同投影,而不是无脑全量广播——

  • open_loop_created/open_loop_closed→ state + memory(伏笔既要看当前状态,也要进长期记忆)
  • relationship_changed/artifact_obtained→ index + vector(重点是实体关系可检索)
  • world_rule_revealed→ memory + vector(世界观规则沉淀为知识)

也就是说:accepted_events是「路由信号源」,state_deltas走 state 投影,entity_deltas触发 index 投影——三份数据在投影阶段各司其职。所有投影执行结果会追加到.webnovel/projection_log.jsonl,哪一路没同步一眼可查。

新手自检:3 个快速验证方法

  1. 看提交文件.story-system/commits/chapter_xxx.commit.jsonmeta.statusaccepted,且projection_status各路由不是pending/failed
  2. 跑体检/webnovel-doctor会直接摆出主链与运行状态;某路投影失败可用projections retry补跑,data-agent 不负责修投影
  3. 看面板/webnovel-dashboard只读展示 state、实体图谱与追读力数据,如果新写章节的角色状态没更新,基本可定位到 state 投影

常见误区清单 📌

  • ❌ 把accepted_events等字段包在extraction外层对象里 → schema 直接校验失败
  • subject写角色中文名 → 事实记错实体
  • ❌ 伏笔只写进摘要不写事件 → 伏笔台账缺失,后续无法回收
  • ❌ 让 contenteditable="false">【免费下载链接】webnovel-writer基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200 万字量级 连载创作。项目地址: https://gitcode.com/GitHub_Trending/we/webnovel-writer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 14:44:35

iTerm2-Color-Schemes:450+套终端配色方案,5分钟导入iTerm2

iTerm2-Color-Schemes&#xff1a;450套终端配色方案&#xff0c;5分钟导入iTerm2 【免费下载链接】iTerm2-Color-Schemes Over 450 terminal color schemes/themes for iTerm/iTerm2. Includes ports to Terminal, Konsole, PuTTY, Xresources, XRDB, Remmina, Termite, XFCE,…

作者头像 李华
网站建设 2026/9/15 14:44:30

OpenCV ORB图像拼接实战:无人机正射镶嵌全链路实现

简介&#xff1a;本资源是一套基于OpenCV与ORB特征匹配算法实现的图像拼接C完整项目源码&#xff0c;面向计算机、人工智能、软件工程等专业的在校学生、教师及初级开发者&#xff0c;适用于毕业设计、课程设计、实验教学与算法原理实践。项目代码经过完整测试并成功通过答辩&a…

作者头像 李华
网站建设 2026/9/15 14:43:11

求职者个人作品集网站实战指南:叙事、设计与项目文档全攻略

求职者个人作品集网站实战指南&#xff1a;叙事、设计与项目文档全攻略 【免费下载链接】curriculum The open curriculum for learning web development 项目地址: https://gitcode.com/GitHub_Trending/cu/curriculum 本篇指南以 The Odin Project 课程仓库 中 求职准…

作者头像 李华
网站建设 2026/9/15 14:41:49

CAD夹点编辑法:提升绘图效率的实用技巧

1. 项目概述&#xff1a;CAD夹点编辑法的核心价值在CAD制图领域&#xff0c;夹点编辑&#xff08;Grip Editing&#xff09;是提升绘图效率的利器。2026年3月18日的这次学习记录&#xff0c;聚焦于夹点编辑法在第三张图纸中的实际应用。不同于传统修改命令需要反复输入参数的操…

作者头像 李华
网站建设 2026/9/15 14:40:25

六大高危端口实战加固指南:80/443/22/3389/3306/6379安全配置

1. 这不是端口号清单&#xff0c;而是六把悬在系统头顶的达摩克利斯之剑你扫一眼标题里的这六个数字&#xff1a;80、443、22、3389、3306、6379——它们不是随机排列的幸运号码&#xff0c;而是当前互联网基础设施中暴露面最广、攻击载荷最密集、真实攻防对抗最频繁的六个“战…

作者头像 李华