本文档基于前面对 STORYTELLER 论文、当前 webnovel-writer 架构和落地边界的讨论,给出一份从 skills 与 agents 视角出发的修正版实施方案。
目标不是复制论文原系统,而是以最小破坏、最高复用的方式,将“中层情节结构”前移到规划阶段,并让写作、审查、数据回写围绕结构化章纲形成闭环。
最优方案不是新增独立的 webnovel-structure 主流程,而是:
webnovel-plan,输出结构化详细大纲context-agent,把结构化章纲组装进写作包continuity-checker 与 consistency-checker,分别负责节点覆盖与结构冲突data-agent,负责落库覆盖结果与偏差说明这样可以在不打碎现有系统的前提下,为写作链补上 STORYTELLER 最核心的中层结构层。
webnovel-structurewebnovel-plancontext-agent 只聚合,不生成节点continuity-checker 负责结构覆盖consistency-checker 负责结构冲突data-agent 负责落库,不做主判断/webnovel-init
-> 初始化项目骨架与状态
/webnovel-plan
-> 节拍表
-> 时间线
-> 结构化详细大纲(新增节点字段)
/webnovel-write
-> Step 0.5 轻量节点预检
-> Step 1 context-agent 组装写作包
-> Step 2A writer 按节点扩写
-> Step 3 review agents
-> Step 5 data-agent 持久化覆盖与偏差
webnovel-init定位:保留,不做大改。
职责:
.webnovel/state.jsonindex.db / vectors.db大纲/、设定集/、摘要目录等骨架建议新增但不强制:
index.db 预留结构化章纲缓存或索引的升级入口webnovel-plan定位:本次改造的主战场。
目标:把现有“详细大纲”升级成“结构化详细大纲”。
现有输出保留:
大纲/第{volume_id}卷-节拍表.md大纲/第{volume_id}卷-时间线.md大纲/第{volume_id}卷-详细大纲.md每章新增字段:
章节起点(CBN)推进节点(CPNs)章节终点(CEN)必须覆盖节点本章禁区节点格式建议:
主体 | 动作/变化 | 对象/结果
示例:
萧炎 | 抵达 | 迦南学院入口萧炎 | 展示 | 异火控制力药老 | 对萧炎产生 | 明确兴趣节点数量约束:
1 个 CBN2-4 个 CPN1 个 CEN必须覆盖规则:
4 个CBN + CEN + 1~2 个核心 CPN章间衔接规则:
CEN -> 下一章 CBN 必须逻辑承接本章禁区规则:
5 条批次建议:
10章/批8章/批12章/批不建议:
/webnovel-structureplan 之外再维护一份平行节点文件作为主数据源webnovel-write定位:保留为唯一主写作入口。
建议流程:
Step 0.5 轻量节点预检Step 1 context-agent 读取结构化章纲、状态和记忆,组装写作包Step 2A writer 按 CBN -> CPNs -> CEN 扩写正文Step 3 review agents 执行结构覆盖与设定一致性检查Step 5 data-agent 持久化覆盖结果与偏差说明新增 Step 0.5 的边界:
webnovel-review定位:保留,主要用于区间复盘和独立质量检查。
建议增强:
plan vs actual 偏移趋势context-agent定位:保留,增强为“结构化章纲聚合器”。
新增读取:
CBNCPNsCEN必须覆盖节点本章禁区新增输出板块:
情节结构
章节起点推进节点章节终点必须覆盖节点本章禁区Context Contract 新增字段:
plot_structure
cbncpnscenmandatory_nodesprohibitionsStep 2A 节拍映射:
CBN触发 -> CPN推进 -> CPN受阻/变化 -> CEN收束 -> 章末钩子红线新增:
边界:
plot-node-agent当前判断:第一阶段不作为必须组件。
原因:
planCBN/CPN/CEN 的主产物应由 plan 直接生成write 阶段再新增重量级 agent 重复规划保留可能性:
plot-node-agentcontinuity-checker定位:负责“结构覆盖”和“事件承接”。
新增检查:
CBN 承接CEN 落地必须节点覆盖可选节点覆盖(仅统计)输出:
A / B / C / F成功标准:
B边界:
consistency-checker定位:负责“结构与设定冲突”。
新增检查:
本章禁区CBN 冲突CEN 冲突严重度建议:
highCEN 方向冲突:mediumCBN 方向冲突:medium边界:
continuity-checker 重叠ooc-checker定位:保留。
增强方式:
reader-pull-checker / high-point-checker / pacing-checker定位:保留,但执行层收口。
建议:
consistency-checkercontinuity-checkerooc-checker原因:
plandata-agent定位:从“主判断者”改成“持久化与偏差记录器”。
继续保留:
memory facts新增 Step 5B:
plot_coverageplan_deviation_note关键规则:
data-agent 不自己重复做完整覆盖判断continuity-checker 与 consistency-checker 的结果,再写入 chapter_meta推荐写入结构:
{
"plot_coverage": {
"cbn_covered": true,
"cen_covered": true,
"mandatory_hit_rate": 1.0,
"coverage_grade": "A",
"prohibitions_violated": []
},
"plan_deviation_note": ""
}
填写规则:
mandatory_hit_rate < 0.8 时必须填写 plan_deviation_noteplan_deviation_note边界:
skills/webnovel-plan/SKILL.mdagents/context-agent.mdskills/webnovel-write/SKILL.mdagents/continuity-checker.mdagents/consistency-checker.mdagents/data-agent.md原因:
plan 的新字段index.db 中补充结构化章纲缓存或索引context-agent 增加“最近实际承接摘要”读取review 增加区间级偏移复盘plot-node-agent结构化章纲验证
/webnovel-planCBNCPNsCEN必须覆盖节点本章禁区写作包验证
/webnovel-writecontext-agent 输出包含“情节结构”板块审查验证
continuity-checker 输出节点覆盖评级consistency-checker 输出禁区/方向冲突检查数据回写验证
chapter_meta 写入 plot_coverageplan_deviation_note向后兼容验证
/webnovel-write这版方案的重点不是“多加一个系统层”,而是:
plan 产出更可执行的章纲context-agent 成为结构化章纲聚合器review 围绕节点覆盖与结构冲突形成清晰分工data-agent 成为持久化和偏差记录器这条路线既吸收了 STORYTELLER 的核心思想,又避免了额外主流程和重复组件的膨胀。