### 第 N 章:{标题}
- 目标: {20字以内}
- 爽点: {类型} - {30字以内}
- Strand: {Quest|Fire|Constellation}
- 反派层级: {无/小/中/大}
- 视角/主角: {主角A/主角B/女主/群像}
- 关键实体: {新增或重要出场}
- 钩子: {类型} - {30字以内} ← 本章应设置的章末钩子
1. 本章核心任务 ← 章纲"目标"字段
2. 接住上章 ← 上章"钩子"字段(从 chapter_meta 读取)
3. 出场角色 ← 章纲"关键实体"字段
4. 场景与力量约束 ← 从设定集推断
5. 风格指导 ← 章纲"Strand"字段
6. 连续性与伏笔 ← 从 index.db 读取
7. 追读力策略 ← 章纲"钩子"字段(本章应设置的)
1. 本章核心任务(冲突一句话、必须完成、绝对不能、反派层级)
2. 接住上章(上章钩子、读者期待、开头必须)
3. 出场角色(状态、动机、情绪底色、说话风格、红线)
4. 场景与力量约束(地点、可用能力、禁用能力)
5. 风格指导(本章类型、参考样本、最近模式、本章建议)
6. 连续性与伏笔(时间/位置/情绪连贯;必须处理/可选伏笔)
7. 追读力策略(章末钩子类型+强度、微兑现建议、差异化提示)
| 章纲字段 | context-agent 使用 | webnovel-write 使用 |
|---|---|---|
| 反派层级 | 写入"本章核心任务" | 写作时体现反派出场/冲突 |
| Strand | 写入"风格指导" | 决定章节类型(Quest/Fire/Constellation) |
| 爽点 | 写入"追读力策略"的微兑现建议 | 写作时设计爽点场景 |
| 关键实体 | 写入"出场角色" | 写作时安排角色登场 |
| 目标 | 写入"本章核心任务" | 写作时完成目标 |
| 章纲字段 | 本章使用 | 下章使用 |
|---|---|---|
| 钩子 | 写作时设置章末钩子 | context-agent 读取为"上章钩子" |
数据流:
第 N 章章纲.钩子
→ 写作时实现
→ 写入 chapter_meta[N].hook
→ 第 N+1 章 context-agent 读取
→ 写入"接住上章"板块
→ 第 N+1 章写作时兑现
章纲的"钩子"字段:
验证方式:
# 第 100 章章纲
钩子: 悬念钩 - 神秘人身份即将揭晓
# 第 100 章写作后,chapter_meta[100].hook 应该是:
{
"type": "悬念钩",
"content": "神秘人身份即将揭晓",
"strength": "strong"
}
# 第 101 章 context-agent 读取 chapter_meta[100].hook
# 输出到"接住上章"板块:
上章钩子: 悬念钩 - 神秘人身份即将揭晓
读者期待: 本章必须揭示神秘人身份
开头必须: 安排神秘人出场或身份揭示场景
| 数据 | context-agent 需求 | 当前解决方案 |
|---|---|---|
| 上章钩子如何兑现 | "接住上章"板块需要明确兑现方式 | 从 chapter_meta 读取 + 推断 ✅ |
| 角色动机 | "出场角色"板块需要动机 | 从大纲+角色状态推断 ✅ |
| 场景地点 | "场景与力量约束"板块需要地点 | 从设定集+上章推断 ✅ |
| 最近模式 | "风格指导"板块需要差异化 | 从 index.db 读取 ✅ |
结论:所有缺失数据都有推断机制,无需修改章纲格式。
在 webnovel-plan SKILL.md 中补充:
**钩子字段说明**:
- 章纲的"钩子"字段是规划本章应设置的章末钩子
- 不是上章留下的钩子(那个由 context-agent 从 chapter_meta 读取)
- 例:钩子: 悬念钩 - 神秘人身份即将揭晓
- 意思是:本章结尾要设置这个悬念钩子
- 下章 context-agent 会读取这个钩子,生成"接住上章"指导
1. webnovel-plan 生成第 100 章章纲
- 钩子: 危机钩 - 敌人大军压境
2. webnovel-write 第 100 章
- context-agent 读取第 99 章的 chapter_meta[99].hook
- 生成"接住上章":兑现第 99 章的钩子
- 生成"追读力策略":本章要设置"危机钩 - 敌人大军压境"
- 写作时在章末实现这个钩子
- 写入 chapter_meta[100].hook = {type: "危机钩", content: "敌人大军压境"}
3. webnovel-write 第 101 章
- context-agent 读取 chapter_meta[100].hook
- 生成"接住上章":本章必须处理"敌人大军压境"危机
1. webnovel-plan 生成第 1 章章纲
- 钩子: 悬念钩 - 主角身世之谜
2. webnovel-write 第 1 章
- context-agent 检测到无上章,跳过"接住上章"板块
- 生成"追读力策略":本章要设置"悬念钩 - 主角身世之谜"
- 写作时在章末实现这个钩子
1. 章纲规划:钩子: 悬念钩 - 神秘人身份
2. 实际写作:设置了危机钩(偏离规划)
3. reader-pull-checker 检测到偏差
4. 润色阶段修正或记录 Override Contract
在 Chapter format 部分补充:
- 钩子: {类型} - {30字以内}
- 说明:本章应设置的章末钩子(规划用)
- 例:悬念钩 - 神秘人身份即将揭晓
- 下章 context-agent 会读取这个钩子,生成"接住上章"指导
在"关键数据来源"部分补充:
- 章纲的"钩子"字段:本章应设置的章末钩子(规划)
- chapter_meta[N].hook:本章实际设置的钩子(执行结果)
- context-agent 读取 chapter_meta[N-1].hook 作为"上章钩子"
在 Step 3 审查阶段补充:
**钩子一致性检查**:
- 章纲规划的钩子类型 vs 实际写作的钩子类型
- 如果不一致,reader-pull-checker 应标记为 medium 问题
- 允许合理偏离(如更强的钩子类型),但需记录原因
✅ 数据流完整:webnovel-plan → context-agent → webnovel-write 的数据流完整,所有必需字段都能正确传递。
✅ 语义明确:章纲的"钩子"字段含义明确(本章应设置的章末钩子),不会与 chapter_meta.hook 混淆。
✅ 推断机制:缺失数据有完善的推断机制,无需修改章纲格式。
⚠️ 需要补充文档:在 webnovel-plan 和 context-agent 中补充钩子字段的说明,避免理解偏差。