@cloud411716/fancy-webnovel 3.0.3 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/package.json +1 -1
  2. package/plugins/fancy-analyze/analyze-definitions.md +35 -35
  3. package/plugins/fancy-analyze/templates.js +3 -3
  4. package/plugins/fancy-import/prompts/01-import-prompt.md +20 -20
  5. package/plugins/fancy-scan/prompts/01-analysis-prompt.md +7 -7
  6. package/plugins/fancy-scan/templates.js +2 -2
  7. package/plugins/fancy-story-builder/prompts/01-skeleton-prompt.md +40 -28
  8. package/plugins/fancy-story-builder/prompts/02-flesh-prompt.md +28 -10
  9. package/plugins/fancy-story-builder/prompts/03-rhythm-prompt.md +21 -9
  10. package/plugins/fancy-story-builder/prompts/04-writing-prompt.md +15 -15
  11. package/plugins/fancy-story-builder/prompts/05-deslop-prompt.md +18 -18
  12. package/plugins/fancy-story-builder/purpose-template.md +1 -1
  13. package/plugins/fancy-story-builder/references/glossary.md +8 -8
  14. package/plugins/fancy-story-builder/references/index.md +2 -2
  15. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/00-index.md +2 -2
  16. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/01-scene.md +2 -2
  17. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/02-chapter-workflow.md +2 -2
  18. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/03-opening-chapter.md +2 -2
  19. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/04-dialogue-mastery.md +2 -2
  20. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/05-genre-formulas.md +2 -2
  21. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/06-tone-ensemble.md +2 -2
  22. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/07-ledger-audit.md +2 -2
  23. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/08-diagnosis-revision.md +2 -2
  24. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/09-reading-power.md +7 -7
  25. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/10-deslop.md +6 -6
  26. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/00-index.md +2 -2
  27. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/01-upgrade-rhythm.md +2 -2
  28. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/02-arc-rhythm.md +2 -2
  29. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/03-highpoint-hooks.md +2 -2
  30. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/04-satisfaction.md +2 -2
  31. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/05-foreshadow-density.md +5 -5
  32. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/06-chapter-outline.md +2 -2
  33. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/07-audit.md +1 -1
  34. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/00-index.md +2 -2
  35. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/01-character.md +2 -2
  36. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/02-worldbuilding.md +5 -5
  37. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/03-relations.md +3 -3
  38. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/04-emotion-methods.md +3 -3
  39. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/05-audit.md +1 -1
  40. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/00-index.md +2 -2
  41. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/01-positioning.md +1 -1
  42. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/02-packaging.md +3 -3
  43. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/03-entities.md +2 -2
  44. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/04-conflict.md +2 -2
  45. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/05-quota.md +2 -2
  46. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/06-audit.md +1 -1
  47. package/plugins/fancy-story-builder/storydb/README.md +4 -4
  48. package/plugins/fancy-story-builder/storydb/prompts.js +1 -1
  49. package/plugins/fancy-topic/prompts/01-exploration-prompt.md +6 -5
@@ -1,16 +1,17 @@
1
1
  # 02 血肉阶段产物契约
2
2
 
3
- > 本文件是血肉阶段的**产物契约**:它定义每个文件长什么样、哪些写法会被判错。
4
- >
5
- > **流程由插件驱动**:插件会分批派活,每轮告诉你写哪个文件、哪些条目、写到哪里;
6
- > 插件自己跑校验脚本、判定通过与否,并把判定出来的错误清单回喂给你。
7
- > 你**不需要**自己调校验脚本,**不要**自己判断"通过没通过",**不要**输出"已完成"之类的结论。
3
+ 本文件是血肉阶段的**产物契约**:它定义每个文件长什么样、哪些写法会被判错。
4
+
5
+ **流程由插件驱动**:插件会分批派活,每轮告诉你写哪个文件、哪些条目、写到哪里;
6
+ 插件自己跑校验脚本、判定通过与否,并把判定出来的错误清单回喂给你。
7
+ 你**不需要**自己调校验脚本,**不要**自己判断"通过没通过",**不要**输出"已完成"之类的结论。
8
8
 
9
9
  @meta-only
10
10
 
11
11
  ---
12
12
 
13
13
  <!-- contract:overview -->
14
+
14
15
  ## 你的职责
15
16
 
16
17
  你只做一件事:**按插件每轮给的指令,把指定的条目写成指定格式的 JSON**。
@@ -30,11 +31,12 @@
30
31
  ---
31
32
 
32
33
  <!-- contract:input -->
34
+
33
35
  ## 一、任务输入
34
36
 
35
- > 本节由插件注入,只读,不得修改。
36
- > 数据源:骨架阶段 `设定/raw/sources/骨架/框架.json` 的 `input_snapshot`(目标章节/目标字数取自同文件的 `capacity`)。
37
- > 骨架阶段已经把这次选题的完整输入固化成了这份快照,血肉阶段直接用它,不要另做推测或改写。
37
+ 本节由插件注入,只读,不得修改。
38
+ 数据源:骨架阶段 `设定/raw/sources/骨架/框架.json` 的 `input_snapshot`(目标章节/目标字数取自同文件的 `capacity`)。
39
+ 骨架阶段已经把这次选题的完整输入固化成了这份快照,血肉阶段直接用它,不要另做推测或改写。
38
40
 
39
41
  ${input_snapshot_block}
40
42
 
@@ -49,6 +51,7 @@ ${input_snapshot_block}
49
51
  ---
50
52
 
51
53
  <!-- contract:output-list -->
54
+
52
55
  ## 二、本阶段产出清单
53
56
 
54
57
  | # | 文件 | 路径 | 顶层数组 |
@@ -70,6 +73,7 @@ ${input_snapshot_block}
70
73
  ---
71
74
 
72
75
  <!-- contract:rules -->
76
+
73
77
  ## 三、核心铁律(7 条,违反任意一条都会被判错)
74
78
 
75
79
  1. **不得出现任何章节号**——单章号字段(`chapter` / `ch` / `start` / `end` / `turning` / `midpoint` / `resolution` / `resolution_chapter` / `appear_start` / `appear_end` / `exit_chapter` / `buried_chapter` / `recovered_chapter` / `hook_chapter` / `climax_chapter` / `pleasure_chapter`)、区间字段(`appearance_chapters` / `chapter_range`)、嵌套形式(`escalation_nodes[].chapter` / `info_gaps[].created` / `key_nodes[].chapter` / `arc_stages[].chapter` / `interweaves[].chapter` / `foreshadow_recovery[].chapter`)**全部禁止**;完整清单见 glossary 第六节(脚本按它判定,别自己猜字段名)。血肉脚本会拦截 `FLESH_CHAPTER_FORBIDDEN`。
@@ -84,11 +88,12 @@ ${input_snapshot_block}
84
88
 
85
89
  6. **关系类型必须与骨架完全一致**。`relationships[].relationship_type` 只能取 glossary 第五节 `relation_kind` 的 13 个值(血缘/师徒/雇佣/服从/提携/合作/利益交换/利用/对立/敌对/竞争/中立/其他),而且**必须等于骨架里同一对角色的关系类型**。骨架写"A 服从 B",这里就不能写"上下级"或"盟友";用 `其他` 时必须同时填 `relation_label`(如 附身/寄生/契约)。非人物实体参与的关系在骨架 `other_relations`,本项目不写进 `relationships[]`。`REL_TYPE_MISMATCH` / `REL_LABEL_REQUIRED` / `ENUM` 会拦截。
86
90
 
87
- 7. **描述要写实,不能写空话**。`description` / `core_flaw` / `goals.*` 这类叙述字段要写出一个具体事实,而不是"很好""详细设定。"。`TEXT_TOO_SHORT` / `TEXT_PLACEHOLDER` 会拦截;不同角色不能共用同一段话(`TEXT_DUPLICATE`)。
91
+ 7. **描述要写实,不能写空话**。`description` / `core_flaw` / `goals.*` 这类叙述字段要写出一个具体事实,而不是“很好、详细设定”这类空话。`TEXT_TOO_SHORT` / `TEXT_PLACEHOLDER` 会拦截;不同角色不能共用同一段话(`TEXT_DUPLICATE`)。
88
92
 
89
93
  ---
90
94
 
91
95
  <!-- contract:refs -->
96
+
92
97
  ## 四、参考文件
93
98
 
94
99
  ### 4.1 必读
@@ -143,6 +148,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
143
148
  ---
144
149
 
145
150
  <!-- contract:file:角色 -->
151
+
146
152
  ## 五、角色.json 的字段契约
147
153
 
148
154
  **顶层数组**:`characters` **模板**:`模板/血肉/角色模板.json`
@@ -176,7 +182,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
176
182
  | `language_profile.personality_tone` | 性格基调(冷硬/温和/尖刻/木讷) |
177
183
  | `language_profile.relationship_stage_tone` | 对不同关系的人说话语气怎么变 |
178
184
  | `behavior_repeat_points` | 反复出现的小动作或口头习惯,字符串数组 |
179
- | `traits` | **必填 3-5 条**独有特征/习惯/感官锚点。每条都要能在场景里演出来,不要写"善良""勇敢"这类评价词 |
185
+ | `traits` | **必填 3-5 条**独有特征/习惯/感官锚点。每条都要能在场景里演出来,不要写“善良、勇敢”这类评价词 |
180
186
  | `extensions` | 题材特有的扩展设定;键用中文,值用字符串/数组。不要塞章节号 |
181
187
  | `mirror_type` | 反派专用:与主角互为镜像的类型,取 glossary `mirror_type` 词表。非反派不填 |
182
188
  | `relationships[]` | 关系条目,见下 |
@@ -209,6 +215,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
209
215
  ---
210
216
 
211
217
  <!-- contract:file:冲突 -->
218
+
212
219
  ## 六、冲突.json 的字段契约
213
220
 
214
221
  **顶层数组**:`conflicts` **模板**:`模板/血肉/冲突模板.json`
@@ -239,6 +246,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
239
246
  ---
240
247
 
241
248
  <!-- contract:file:势力 -->
249
+
242
250
  ## 七、势力.json 的字段契约
243
251
 
244
252
  **顶层数组**:`factions` **模板**:`模板/血肉/势力模板.json`
@@ -267,6 +275,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
267
275
  ---
268
276
 
269
277
  <!-- contract:file:剧情 -->
278
+
270
279
  ## 八、剧情.json 的字段契约
271
280
 
272
281
  **顶层数组**:`main_lines` + `branches` **模板**:`模板/血肉/剧情模板.json`
@@ -298,6 +307,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
298
307
  ---
299
308
 
300
309
  <!-- contract:file:地点 -->
310
+
301
311
  ## 九、地点.json 的字段契约
302
312
 
303
313
  **顶层数组**:`locations` **模板**:`模板/血肉/地点模板.json`
@@ -321,6 +331,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
321
331
  ---
322
332
 
323
333
  <!-- contract:file:结局 -->
334
+
324
335
  ## 十、结局.json 的字段契约
325
336
 
326
337
  **顶层数组**:`endings` **模板**:`模板/血肉/结局模板.json`
@@ -356,6 +367,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
356
367
  ---
357
368
 
358
369
  <!-- contract:file:世界观规则 -->
370
+
359
371
  ## 十一、世界观规则.json 的字段契约
360
372
 
361
373
  **顶层数组**:`core_rules` + `information_rules` + `social_rules` + `rule_conflict_plan`
@@ -396,6 +408,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
396
408
  ---
397
409
 
398
410
  <!-- contract:file:关键道具 -->
411
+
399
412
  ## 十二、关键道具.json 的字段契约
400
413
 
401
414
  **顶层数组**:`core_items` + `branch_items` + `symbolic_items` + `details`
@@ -445,6 +458,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
445
458
  ---
446
459
 
447
460
  <!-- contract:file:其他实体 -->
461
+
448
462
  ## 十三、其他实体.json 的字段契约(按需)
449
463
 
450
464
  **顶层数组**:`other_entities` **模板**:`模板/血肉/其他实体模板.json`
@@ -471,6 +485,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
471
485
  ---
472
486
 
473
487
  <!-- contract:quality -->
488
+
474
489
  ## 十四、关系类型与内容质量(照着正例写)
475
490
 
476
491
  脚本不只查结构,也查"写的东西是不是真的"、"两个阶段说的是不是同一件事"。
@@ -514,6 +529,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
514
529
  ---
515
530
 
516
531
  <!-- contract:errors -->
532
+
517
533
  ## 十五、常见错误代码速查
518
534
 
519
535
  插件回喂给你的错误清单里的 `code` 对应下表。**只改被点名的字段**,其余不要动。
@@ -558,6 +574,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
558
574
  ---
559
575
 
560
576
  <!-- contract:forbidden -->
577
+
561
578
  ## 十六、本阶段禁令(12 条)
562
579
 
563
580
  1. **不得出现任何章节号**——单章号字段(`chapter` / `ch` / `start` / `end` / `turning` / `midpoint` / `resolution` / `resolution_chapter` / `appear_start` / `appear_end` / `exit_chapter` / `buried_chapter` / `recovered_chapter` / `hook_chapter` / `climax_chapter` / `pleasure_chapter`)、区间字段(`appearance_chapters` / `chapter_range`)、嵌套形式(`escalation_nodes[].chapter` / `info_gaps[].created` / `key_nodes[].chapter` / `arc_stages[].chapter` / `interweaves[].chapter` / `foreshadow_recovery[].chapter`)**全部禁止**;完整清单见 glossary 第六节(脚本按它判定,别自己猜字段名)。
@@ -587,6 +604,7 @@ node references/upstream-query.js --stage=骨架 --file=关系 --list #
587
604
  ---
588
605
 
589
606
  <!-- contract:semantic -->
607
+
590
608
  ## 十七、语义检查(可选,由用户显式开启)
591
609
 
592
610
  上面的校验全是**确定性脚本**:id 在不在、名字对不对、枚举合不合法、配额对不对得上、关系有没有声明。凡是脚本能判死的问题,都已经被判死了。
@@ -1,18 +1,19 @@
1
1
  # 03 节奏阶段产物契约
2
2
 
3
- > 本文件是节奏阶段的**产物契约**:它定义每个文件长什么样、哪些写法会被判错。
4
- >
5
- > **流程由插件驱动**:插件会分批派活,每轮告诉你写哪个文件、哪些章/哪些条目、
6
- > 写到哪里;插件自己跑校验脚本、判定通过与否,并把判定出来的错误清单回喂给你。
7
- > 你**不需要**自己调校验脚本,**不要**自己判断"通过没通过",**不要**输出"已完成"之类的结论。
8
- >
9
- > 本阶段依赖骨架 + 血肉两个上游,任一未完成不得启动。
3
+ 本文件是节奏阶段的**产物契约**:它定义每个文件长什么样、哪些写法会被判错。
4
+
5
+ **流程由插件驱动**:插件会分批派活,每轮告诉你写哪个文件、哪些章/哪些条目、
6
+ 写到哪里;插件自己跑校验脚本、判定通过与否,并把判定出来的错误清单回喂给你。
7
+ 你**不需要**自己调校验脚本,**不要**自己判断"通过没通过",**不要**输出"已完成"之类的结论。
8
+
9
+ 本阶段依赖骨架 + 血肉两个上游,任一未完成不得启动。
10
10
 
11
11
  @meta-only
12
12
 
13
13
  ---
14
14
 
15
15
  <!-- contract:overview -->
16
+
16
17
  ## 你的职责
17
18
 
18
19
  你只做一件事:**按插件每轮给的指令,把指定的条目写成指定格式的 JSON**。
@@ -32,10 +33,11 @@
32
33
  ---
33
34
 
34
35
  <!-- contract:input -->
36
+
35
37
  ## 一、任务输入
36
38
 
37
- > 本节由插件注入,只读,不得修改。
38
- > 数据源:骨架阶段 `设定/raw/sources/骨架/框架.json` 的 `input_snapshot`(目标章节/目标字数取自同文件的 `capacity`)。
39
+ 本节由插件注入,只读,不得修改。
40
+ 数据源:骨架阶段 `设定/raw/sources/骨架/框架.json` 的 `input_snapshot`(目标章节/目标字数取自同文件的 `capacity`)。
39
41
 
40
42
  ${input_snapshot_block}
41
43
 
@@ -50,6 +52,7 @@ ${input_snapshot_block}
50
52
  ---
51
53
 
52
54
  <!-- contract:output-list -->
55
+
53
56
  ## 二、本阶段产出清单
54
57
 
55
58
  | # | 文件 | 路径 | 顶层键 |
@@ -70,6 +73,7 @@ ${input_snapshot_block}
70
73
  ---
71
74
 
72
75
  <!-- contract:rules -->
76
+
73
77
  ## 三、核心铁律(6 条,违反任意一条都会校验失败)
74
78
 
75
79
  1. **章节号必须在 `[1, T]` 内**(`T = target_chapters`)。`RHYTHM_CHAP_RANGE` 会拦截越界。
@@ -87,6 +91,7 @@ ${input_snapshot_block}
87
91
  ---
88
92
 
89
93
  <!-- contract:refs -->
94
+
90
95
  ## 四、参考文件
91
96
 
92
97
  ### 4.1 必读
@@ -136,6 +141,7 @@ node references/upstream-query.js --stage=血肉 --file=角色 --id=C001
136
141
  ---
137
142
 
138
143
  <!-- contract:file:章节规划 -->
144
+
139
145
  ## 五、章节规划.json 的字段契约
140
146
 
141
147
  **顶层数组**:`chapters` **模板**:`模板/节奏/章节规划模板.json`
@@ -179,6 +185,7 @@ node references/upstream-query.js --stage=血肉 --file=角色 --id=C001
179
185
  ---
180
186
 
181
187
  <!-- contract:file:节奏参数 -->
188
+
182
189
  ## 六、节奏参数.json 的字段契约
183
190
 
184
191
  **顶层**:纯对象(没有顶层数组) **模板**:`模板/节奏/节奏参数模板.json`
@@ -280,6 +287,7 @@ main_progress_chapter_count = T - branch_chapter_total + overlap_chapter_count
280
287
  ---
281
288
 
282
289
  <!-- contract:file:时序映射 -->
290
+
283
291
  ## 七、时序映射.json 的字段契约
284
292
 
285
293
  **顶层**:13 个 `*_timeline` 数组 **模板**:`模板/节奏/时序映射模板.json`
@@ -394,6 +402,7 @@ main_progress_chapter_count = T - branch_chapter_total + overlap_chapter_count
394
402
  ---
395
403
 
396
404
  <!-- contract:file:章节细纲 -->
405
+
397
406
  ## 八、章节细纲.json 的字段契约
398
407
 
399
408
  **顶层数组**:`outlines` **模板**:`模板/节奏/章节细纲模板.json`
@@ -431,6 +440,7 @@ main_progress_chapter_count = T - branch_chapter_total + overlap_chapter_count
431
440
  ---
432
441
 
433
442
  <!-- contract:consistency -->
443
+
434
444
  ## 九、跨文件一致性(本阶段最容易翻车的地方)
435
445
 
436
446
  节奏阶段的多数校验是**全量口径**的——单看一个文件查不出来,必须四个文件对得上。
@@ -469,6 +479,7 @@ main_progress_chapter_count = T - branch_chapter_total + overlap_chapter_count
469
479
  ---
470
480
 
471
481
  <!-- contract:errors -->
482
+
472
483
  ## 十、常见错误代码速查
473
484
 
474
485
  插件回喂给你的错误清单里的 `code` 对应下表。**只改被点名的字段**,其余不要动。
@@ -514,6 +525,7 @@ main_progress_chapter_count = T - branch_chapter_total + overlap_chapter_count
514
525
  ---
515
526
 
516
527
  <!-- contract:forbidden -->
528
+
517
529
  ## 十一、本阶段禁令(11 条)
518
530
 
519
531
  1. **章节号必须在 `[1, T]` 内**。`RHYTHM_CHAP_RANGE` 会拦截越界。
@@ -1,25 +1,25 @@
1
1
  # 04 写作执行须知
2
2
 
3
- > 本文件是写作阶段的**产物契约**:写什么文件、写成什么格式、什么会被校验拦下。
4
- > 怎么写(场景、对话、开篇、文风、诊断)在 `references/写作指导/`。
5
- > 写作的流程编排由插件的写作驱动负责:它按批派活、逐章校验、把错误发回来。
6
- > **你不需要自己跑校验脚本,也不需要自己决定写第几章。**
3
+ 本文件是写作阶段的**产物契约**:写什么文件、写成什么格式、什么会被校验拦下。
4
+ 怎么写(场景、对话、开篇、文风、诊断)在 `references/写作指导/`。
5
+ 写作的流程编排由插件的写作驱动负责:它按批派活、逐章校验、把错误发回来。
6
+ **你不需要自己跑校验脚本,也不需要自己决定写第几章。**
7
7
 
8
8
  ---
9
9
 
10
10
  ## 一、核心铁律(违反任意一条都会被校验拦下)
11
11
 
12
- > 1. **只写驱动指定的章**。本轮要写哪几章、写到哪个路径,驱动会在派活时写清楚。按给定顺序写,不要跳章、不要多写、不要写别的章号。
13
- >
14
- > 2. **章首第一行必须是 `# 第N章 <标题>`**(N 为阿拉伯数字或中文数字,如 `# 第1章 引入` / `# 第001章 灭门` / `# 第十二章 高潮`),且标题中的章号必须与驱动指定的章号一致。正文小标题用 `##` 或 `###`,**不得再出现 `#` 一级标题**。`CHAPTER_TITLE` / `CHAPTER_TITLE_DUP` 会拦截。
15
- >
16
- > 3. **不出现 AI 分析口吻**(`基本一致` / `无重大问题`)。`FORBIDDEN_WORD` 会拦截。
17
- >
18
- > 4. **不出现占位符**:`[X]` / `[Y]` / `[Z]` / `[W]` 出现在正文任何位置都会被拦;`待确认` / `待定` / `待补充` / `TBD` / `N/A` / `未定` / `xxx` **独占一行**时会被拦(正文里当普通词用不算)。统一报 `PLACEHOLDER`。
19
- >
20
- > 5. **每写完一章就更新台账**。章/人物/伏笔/时间线四个台账必须与已写章节同步。
21
- >
22
- > 6. **不修改 `模板/` 和 `references/` 下的任何文件**。这两个目录是只读输入。
12
+ 1. **只写驱动指定的章**。本轮要写哪几章、写到哪个路径,驱动会在派活时写清楚。按给定顺序写,不要跳章、不要多写、不要写别的章号。
13
+
14
+ 2. **章首第一行必须是 `# 第N章 <标题>`**(N 为阿拉伯数字或中文数字,如 `# 第1章 引入` / `# 第001章 灭门` / `# 第十二章 高潮`),且标题中的章号必须与驱动指定的章号一致。正文小标题用 `##` 或 `###`,**不得再出现 `#` 一级标题**。`CHAPTER_TITLE` / `CHAPTER_TITLE_DUP` 会拦截。
15
+
16
+ 3. **不出现 AI 分析口吻**(`基本一致` / `无重大问题`)。`FORBIDDEN_WORD` 会拦截。
17
+
18
+ 4. **不出现占位符**:`[X]` / `[Y]` / `[Z]` / `[W]` 出现在正文任何位置都会被拦;`待确认` / `待定` / `待补充` / `TBD` / `N/A` / `未定` / `xxx` **独占一行**时会被拦(正文里当普通词用不算)。统一报 `PLACEHOLDER`。
19
+
20
+ 5. **每写完一章就更新台账**。章/人物/伏笔/时间线四个台账必须与已写章节同步。
21
+
22
+ 6. **不修改 `模板/` 和 `references/` 下的任何文件**。这两个目录是只读输入。
23
23
 
24
24
  ---
25
25
 
@@ -1,28 +1,28 @@
1
1
  # 05 去 AI 味执行须知
2
2
 
3
- > 本文件是去味阶段的**产物契约**:改什么文件、改成什么样、什么会被拦下。
4
- > 改写手法(怎么把 AI 腔改成人话)在 `references/写作指导/10-deslop.md`。
5
- > 去味的流程编排由插件的去味驱动负责:它逐章检测、备份、派活、复扫、判改动比例、
6
- > 必要时会自动回滚原文。
7
- > **你不需要自己跑检测脚本,也不需要自己决定改哪一章。**
3
+ 本文件是去味阶段的**产物契约**:改什么文件、改成什么样、什么会被拦下。
4
+ 改写手法(怎么把 AI 腔改成人话)在 `references/写作指导/10-deslop.md`。
5
+ 去味的流程编排由插件的去味驱动负责:它逐章检测、备份、派活、复扫、判改动比例、
6
+ 必要时会自动回滚原文。
7
+ **你不需要自己跑检测脚本,也不需要自己决定改哪一章。**
8
8
 
9
9
  ---
10
10
 
11
11
  ## 一、核心铁律
12
12
 
13
- > 1. **只改 AI 味,不改剧情**。人物、事件、因果、伏笔、事实、字数结构一律不动。
14
- > 去味是"换个说法",不是"重写这一章"。
15
- >
16
- > 2. **只改驱动指出的目标文件**,直接覆盖原文件。不要新建文件、不要改文件名、
17
- > 不要改第一行的标题(`# 第N章 <标题>`)。
18
- >
19
- > 3. **不要动台账**。`设定/raw/sources/写作/台账/` 下的文件由写作阶段维护,
20
- > 本阶段碰了会和写作阶段的登记对不上。
21
- >
22
- > 4. **不要动 `模板/` 和 `references/` 下的任何文件**。这两个目录是只读输入。
23
- >
24
- > 5. **改动幅度要小**。驱动按改动比例判级:超过 35% 会**自动回滚原文**,
25
- > 你的这一轮等于白做。改得少而准,比改得多而狠有用。
13
+ 1. **只改 AI 味,不改剧情**。人物、事件、因果、伏笔、事实、字数结构一律不动。
14
+ 去味是"换个说法",不是"重写这一章"。
15
+
16
+ 2. **只改驱动指出的目标文件**,直接覆盖原文件。不要新建文件、不要改文件名、
17
+ 不要改第一行的标题(`# 第N章 <标题>`)。
18
+
19
+ 3. **不要动台账**。`设定/raw/sources/写作/台账/` 下的文件由写作阶段维护,
20
+ 本阶段碰了会和写作阶段的登记对不上。
21
+
22
+ 4. **不要动 `模板/` 和 `references/` 下的任何文件**。这两个目录是只读输入。
23
+
24
+ 5. **改动幅度要小**。驱动按改动比例判级:超过 35% 会**自动回滚原文**,
25
+ 你的这一轮等于白做。改得少而准,比改得多而狠有用。
26
26
 
27
27
  ---
28
28
 
@@ -33,7 +33,7 @@
33
33
 
34
34
  ## Thesis
35
35
 
36
- > TBD
36
+ TBD
37
37
 
38
38
  ## Analysis Workflow
39
39
 
@@ -1,9 +1,9 @@
1
1
  # glossary.md 网文生成系统术语总表
2
2
 
3
- > 本文件是四阶段生成体系的**唯一术语真源**。
4
- > 模板、公式、指导文件、脚本、提示词都以本文件为准。
5
- > 本文件只做"定义",不做"方法论"、不做"量化"、不做"验证"。
6
- > 文件清单以 `references/index.md` 为准,本文件不列出文件数。
3
+ 本文件是四阶段生成体系的**唯一术语真源**。
4
+ 模板、公式、指导文件、脚本、提示词都以本文件为准。
5
+ 本文件只做"定义",不做"方法论"、不做"量化"、不做"验证"。
6
+ 文件清单以 `references/index.md` 为准,本文件不列出文件数。
7
7
 
8
8
  ---
9
9
 
@@ -43,8 +43,8 @@
43
43
 
44
44
  ### 2.1 核心规则
45
45
 
46
- > **"章节号"是节奏阶段的专属。**
47
- > 骨架阶段、血肉阶段出现任何章节号(见第六节清单),都是越界。
46
+ **"章节号"是节奏阶段的专属。**
47
+ 骨架阶段、血肉阶段出现任何章节号(见第六节清单),都是越界。
48
48
 
49
49
  ### 2.2 越界检查
50
50
 
@@ -560,8 +560,8 @@
560
560
 
561
561
  ### 8.2 单向数据流
562
562
 
563
- > **下游只读上游,不写上游。**
564
- > 阶段 2 不能改阶段 1 的 JSON。阶段 3 不能改阶段 2 的 JSON。
563
+ **下游只读上游,不写上游。**
564
+ 阶段 2 不能改阶段 1 的 JSON。阶段 3 不能改阶段 2 的 JSON。
565
565
 
566
566
  ---
567
567
 
@@ -1,7 +1,7 @@
1
1
  # 网文生成系统 · 总索引
2
2
 
3
- > 本文件是整个体系的使用者入口。回答:这套体系有哪些文件、每个文件干什么、文件之间怎么依赖、常见任务怎么查。
4
- > 本文件不定义方法、不写公式、不写验证逻辑、不定义数据结构。
3
+ 本文件是整个体系的使用者入口。回答:这套体系有哪些文件、每个文件干什么、文件之间怎么依赖、常见任务怎么查。
4
+ 本文件不定义方法、不写公式、不写验证逻辑、不定义数据结构。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 写作阶段入口
2
2
 
3
- > 本文件是写作阶段的唯一入口。回答"写作阶段做什么、按什么顺序读、产出什么"。
4
- > 本文件不定义方法、不写验证逻辑、不定义数据结构。
3
+ 本文件是写作阶段的唯一入口。回答"写作阶段做什么、按什么顺序读、产出什么"。
4
+ 本文件不定义方法、不写验证逻辑、不定义数据结构。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 场景写作法
2
2
 
3
- > 写作阶段第 1 份。场景是正文的最小单位,不是章。
4
- > 本文件不定义数据结构、不写验证逻辑、不写具体章节约束。
3
+ 写作阶段第 1 份。场景是正文的最小单位,不是章。
4
+ 本文件不定义数据结构、不写验证逻辑、不写具体章节约束。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 章节生成工作流
2
2
 
3
- > 写作阶段第 2 份。从细纲到正文的固定流程。每次生成按此走,质量才稳定。
4
- > 本文件不定义数据结构、不写验证逻辑。
3
+ 写作阶段第 2 份。从细纲到正文的固定流程。每次生成按此走,质量才稳定。
4
+ 本文件不定义数据结构、不写验证逻辑。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 开篇第一章逐段写法
2
2
 
3
- > 写作阶段第 3 份。第一章决定点击率。按段拆,不平均用力。
4
- > 本文件不定义数据结构、不写验证逻辑。允许出现具体字数和章节号作为写法参考。
3
+ 写作阶段第 3 份。第一章决定点击率。按段拆,不平均用力。
4
+ 本文件不定义数据结构、不写验证逻辑。允许出现具体字数和章节号作为写法参考。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 对话设计
2
2
 
3
- > 写作阶段第 4 份。写对话场景时加载。先看场景路由,再选模式,再查质量。
4
- > 本文件不定义数据结构、不写验证逻辑。
3
+ 写作阶段第 4 份。写对话场景时加载。先看场景路由,再选模式,再查质量。
4
+ 本文件不定义数据结构、不写验证逻辑。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 题材写作公式
2
2
 
3
- > 写作阶段第 5 份。按题材套公式的结构骨架。本文件不重复具体字数(写正文时按平台基准算),只给"节拍顺序 + 必选场景 + 核心规则"。
4
- > 本文件不定义数据结构、不写验证逻辑。
3
+ 写作阶段第 5 份。按题材套公式的结构骨架。本文件不重复具体字数(写正文时按平台基准算),只给"节拍顺序 + 必选场景 + 核心规则"。
4
+ 本文件不定义数据结构、不写验证逻辑。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 基调与结构
2
2
 
3
- > 写作阶段第 6 份。喜剧/悲剧/文学性基调 + 群像/单元剧/非线性结构。按需加载。
4
- > 本文件不定义数据结构、不写验证逻辑。
3
+ 写作阶段第 6 份。喜剧/悲剧/文学性基调 + 群像/单元剧/非线性结构。按需加载。
4
+ 本文件不定义数据结构、不写验证逻辑。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 台账与盘点
2
2
 
3
- > 写作阶段第 7 份。台账记录"已发生",盘点检查"是否闭环"。写作阶段持续使用。
4
- > 本文件不定义数据结构(台账结构在提示词的 7.6 节定义)、不写验证逻辑。
3
+ 写作阶段第 7 份。台账记录"已发生",盘点检查"是否闭环"。写作阶段持续使用。
4
+ 本文件不定义数据结构(台账结构在提示词的 7.6 节定义)、不写验证逻辑。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 诊断与改稿
2
2
 
3
- > 写作阶段第 8 份。出问题怎么诊断、先修哪个、怎么修、修完怎么验。改稿时加载。
4
- > 本文件不定义数据结构、不写验证逻辑。
3
+ 写作阶段第 8 份。出问题怎么诊断、先修哪个、怎么修、修完怎么验。改稿时加载。
4
+ 本文件不定义数据结构、不写验证逻辑。
5
5
 
6
6
  ---
7
7
 
@@ -1,10 +1,10 @@
1
1
  # 09 · 阅读动力(钩子 / 爽点 / 微兑现)
2
2
 
3
- > 这篇讲"读者为什么要继续读"。每章都要用。
4
- >
5
- > **取值以 `scripts/reading-power.js` 为准**(那是唯一真源,校验器拿它判定)。
6
- > 本篇给的是**怎么写**;合法取值的清单由插件在派活时注入提示词,
7
- > 不要凭记忆填 —— 填了词表里没有的类型会被 `HOOK_TYPE_INVALID` 拦下。
3
+ 这篇讲"读者为什么要继续读"。每章都要用。
4
+
5
+ **取值以 `scripts/reading-power.js` 为准**(那是唯一真源,校验器拿它判定)。
6
+ 本篇给的是**怎么写**;合法取值的清单由插件在派活时注入提示词,
7
+ 不要凭记忆填 —— 填了词表里没有的类型会被 `HOOK_TYPE_INVALID` 拦下。
8
8
 
9
9
  ---
10
10
 
@@ -80,8 +80,8 @@
80
80
 
81
81
  爽点是"这章爽不爽"的那一下。写法按**结构**走,不靠词表。
82
82
 
83
- > 这是**通用结构模式**,不是题材公式。复仇题材照样用"嘲讽→反转→震惊"这套骨架,
84
- > 内容换成 `05-genre-formulas.md` 里的复仇公式那几样。两者是骨架与肉的关系,不是二选一。
83
+ 这是**通用结构模式**,不是题材公式。复仇题材照样用"嘲讽→反转→震惊"这套骨架,
84
+ 内容换成 `05-genre-formulas.md` 里的复仇公式那几样。两者是骨架与肉的关系,不是二选一。
85
85
 
86
86
  | 模式 | 英文标识 | 结构 |
87
87
  |---|---|---|
@@ -1,10 +1,10 @@
1
1
  # 10 · 去 AI 味(改写方法)
2
2
 
3
- > 这篇讲"怎么把 AI 腔改成人话"。**只改 AI 味,不改剧情**。
4
- >
5
- > **判定以 `scripts/ai-patterns.js` 为准**(那是唯一真源,校验器拿它判定)。
6
- > 本篇给的是**怎么改**;完整的 24 类清单由插件在派活时注入提示词,
7
- > 不要凭记忆归类。
3
+ 这篇讲"怎么把 AI 腔改成人话"。**只改 AI 味,不改剧情**。
4
+
5
+ **判定以 `scripts/ai-patterns.js` 为准**(那是唯一真源,校验器拿它判定)。
6
+ 本篇给的是**怎么改**;完整的 24 类清单由插件在派活时注入提示词,
7
+ 不要凭记忆归类。
8
8
 
9
9
  ---
10
10
 
@@ -25,7 +25,7 @@
25
25
  | **拔高** | 把一件事说成象征、标志、某种意义 | 模型爱给句子"上价值",因为训练语料里这类句子多 |
26
26
  | **概括** | 用一个抽象判断代替具体过程 | 模型倾向于总结,而不是描述 |
27
27
  | **排比** | 三个以上的并列短语、同构句式 | 模型的默认输出结构就是"三点式" |
28
- | **客气** | 助手腔、公文腔、收尾升华 | 模型被训过"要有礼貌""要有结论" |
28
+ | **客气** | 助手腔、公文腔、收尾升华 | 模型被训过“要有礼貌、要有结论” |
29
29
 
30
30
  **去掉这四种,比换掉几个 AI 高频词有用得多。**
31
31
 
@@ -1,7 +1,7 @@
1
1
  # 节奏阶段入口
2
2
 
3
- > 本文件是节奏阶段的唯一入口。回答"节奏阶段做什么、按什么顺序读、产出什么"。
4
- > 本文件不定义方法、不写公式、不写验证逻辑。
3
+ 本文件是节奏阶段的唯一入口。回答"节奏阶段做什么、按什么顺序读、产出什么"。
4
+ 本文件不定义方法、不写公式、不写验证逻辑。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 升级感与桥段结构
2
2
 
3
- > 节奏阶段第 1 份。定升级节奏、情绪模块、桥段结构、卷-单元-桥段-章嵌套。
4
- > 本文件不写"具体章数"(→ formulas-rhythm.json),不写数据结构(→ 章节规划模板.json),不写验证(→ rhythm-validate.js)。
3
+ 节奏阶段第 1 份。定升级节奏、情绪模块、桥段结构、卷-单元-桥段-章嵌套。
4
+ 本文件不写"具体章数"(→ formulas-rhythm.json),不写数据结构(→ 章节规划模板.json),不写验证(→ rhythm-validate.js)。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 情绪弧线换算章号
2
2
 
3
- > 节奏阶段第 2 份。弧线类型与叠加规则已在血肉阶段确定(血肉指导 04-emotion-methods.md);本文件只讲**如何把弧线的结构段换算成章节号**。
4
- > 本文件不写具体百分比(→ formulas-rhythm.json 的 `arc_phase_ratio`),不写数据结构(→ 时序映射模板.json)。
3
+ 节奏阶段第 2 份。弧线类型与叠加规则已在血肉阶段确定(血肉指导 04-emotion-methods.md);本文件只讲**如何把弧线的结构段换算成章节号**。
4
+ 本文件不写具体百分比(→ formulas-rhythm.json 的 `arc_phase_ratio`),不写数据结构(→ 时序映射模板.json)。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 高潮与钩子
2
2
 
3
- > 节奏阶段第 3 份。定高潮分类、章首 7 式、章尾 13 式、钩子强度判定。
4
- > 本文件不写数据结构(→ 时序映射模板.json),不写具体章数(→ formulas-rhythm.json)。
3
+ 节奏阶段第 3 份。定高潮分类、章首 7 式、章尾 13 式、钩子强度判定。
4
+ 本文件不写数据结构(→ 时序映射模板.json),不写具体章数(→ formulas-rhythm.json)。
5
5
 
6
6
  ---
7
7