@cloud411716/fancy-webnovel 3.0.3 → 4.0.0

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 (63) hide show
  1. package/docs/material-library/README.md +6 -5
  2. package/docs/material-library/prompt.md +3 -2
  3. package/docs/workspace-mcp.md +2 -2
  4. package/lib/material-topic.js +248 -0
  5. package/lib/topic-candidates.js +157 -0
  6. package/package.json +4 -2
  7. package/plugins/fancy-analyze/analyze-definitions.md +35 -35
  8. package/plugins/fancy-analyze/templates.js +3 -3
  9. package/plugins/fancy-import/prompts/01-import-prompt.md +20 -20
  10. package/plugins/fancy-material/genres.js +4 -36
  11. package/plugins/fancy-material/index.js +18 -32
  12. package/plugins/fancy-material/templates.js +11 -3
  13. package/plugins/fancy-scan/prompts/01-analysis-prompt.md +16 -23
  14. package/plugins/fancy-scan/scripts/report-validate.js +39 -76
  15. package/plugins/fancy-scan/templates/report-schema.js +11 -8
  16. package/plugins/fancy-scan/templates.js +2 -2
  17. package/plugins/fancy-story-builder/prompts/01-skeleton-prompt.md +40 -28
  18. package/plugins/fancy-story-builder/prompts/02-flesh-prompt.md +28 -10
  19. package/plugins/fancy-story-builder/prompts/03-rhythm-prompt.md +21 -9
  20. package/plugins/fancy-story-builder/prompts/04-writing-prompt.md +15 -15
  21. package/plugins/fancy-story-builder/prompts/05-deslop-prompt.md +18 -18
  22. package/plugins/fancy-story-builder/purpose-template.md +1 -1
  23. package/plugins/fancy-story-builder/references/glossary.md +8 -8
  24. package/plugins/fancy-story-builder/references/index.md +2 -2
  25. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/00-index.md +2 -2
  26. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/01-scene.md +2 -2
  27. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/02-chapter-workflow.md +2 -2
  28. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/03-opening-chapter.md +2 -2
  29. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/04-dialogue-mastery.md +2 -2
  30. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/05-genre-formulas.md +2 -2
  31. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/06-tone-ensemble.md +2 -2
  32. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/07-ledger-audit.md +2 -2
  33. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/08-diagnosis-revision.md +2 -2
  34. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/09-reading-power.md +7 -7
  35. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/10-deslop.md +6 -6
  36. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/00-index.md +2 -2
  37. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/01-upgrade-rhythm.md +2 -2
  38. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/02-arc-rhythm.md +2 -2
  39. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/03-highpoint-hooks.md +2 -2
  40. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/04-satisfaction.md +2 -2
  41. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/05-foreshadow-density.md +5 -5
  42. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/06-chapter-outline.md +2 -2
  43. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/07-audit.md +1 -1
  44. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/00-index.md +2 -2
  45. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/01-character.md +2 -2
  46. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/02-worldbuilding.md +5 -5
  47. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/03-relations.md +3 -3
  48. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/04-emotion-methods.md +3 -3
  49. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/05-audit.md +1 -1
  50. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/00-index.md +2 -2
  51. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/01-positioning.md +1 -1
  52. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/02-packaging.md +3 -3
  53. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/03-entities.md +2 -2
  54. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/04-conflict.md +2 -2
  55. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/05-quota.md +2 -2
  56. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/06-audit.md +1 -1
  57. package/plugins/fancy-story-builder/storydb/README.md +4 -4
  58. package/plugins/fancy-story-builder/storydb/prompts.js +1 -1
  59. package/plugins/fancy-topic/index.js +216 -546
  60. package/plugins/fancy-topic/prompts/01-exploration-prompt.md +6 -5
  61. package/plugins/fancy-topic/prompts/02-setup-prompt.md +112 -0
  62. package/plugins/fancy-topic/scripts/save-minimal-topic.js +97 -0
  63. package/plugins/fancy-topic/templates.js +104 -6
@@ -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
 
@@ -1,7 +1,7 @@
1
1
  # 爽点分布与压制
2
2
 
3
- > 节奏阶段第 4 份。爽点分布、压制换算、期待管理、断期待诊断。
4
- > 本文件不写具体时长数字(→ formulas-rhythm.json),不写数据结构(→ 时序映射模板.json)。
3
+ 节奏阶段第 4 份。爽点分布、压制换算、期待管理、断期待诊断。
4
+ 本文件不写具体时长数字(→ formulas-rhythm.json),不写数据结构(→ 时序映射模板.json)。
5
5
 
6
6
  ---
7
7
 
@@ -1,9 +1,9 @@
1
1
  # 伏笔密度
2
2
 
3
- > 节奏阶段第 5 份。伏笔密度的方法论。伏笔清单本身在骨架阶段已确定;本文件讲"怎么在节奏阶段安排密度"。
4
- > 本文件不写具体公式(→ formulas-skeleton.json 的 foreshadow_elements),不写数据结构(→ 时序映射模板.json)。
5
- >
6
- > v1.1 变更:§3.1 和 §3.4 统一"总量由骨架决定"的表述(问题 37)。
3
+ 节奏阶段第 5 份。伏笔密度的方法论。伏笔清单本身在骨架阶段已确定;本文件讲"怎么在节奏阶段安排密度"。
4
+ 本文件不写具体公式(→ formulas-skeleton.json 的 foreshadow_elements),不写数据结构(→ 时序映射模板.json)。
5
+
6
+ v1.1 变更:§3.1 和 §3.4 统一"总量由骨架决定"的表述(问题 37)。
7
7
 
8
8
  ---
9
9
 
@@ -154,7 +154,7 @@
154
154
 
155
155
  - 唤醒策略:
156
156
  - FS020(大伏笔)在多个中间章通过"军阀"相关新闻提及,防止读者忘记
157
- - FS021(大伏笔)通过"妹妹的照片""妹妹的遗物"多次复现
157
+ - FS021(大伏笔)通过“妹妹的照片、妹妹的遗物”多次复现
158
158
 
159
159
  ---
160
160
 
@@ -1,7 +1,7 @@
1
1
  # 章节细纲
2
2
 
3
- > 节奏阶段第 6 份。把前面的规划落到每章一行细纲。含钩子排布、伏笔推进、势力出场。
4
- > 本文件不写数据结构(→ 章节细纲模板.json),不写具体字数(→ formulas-rhythm.json)。
3
+ 节奏阶段第 6 份。把前面的规划落到每章一行细纲。含钩子排布、伏笔推进、势力出场。
4
+ 本文件不写数据结构(→ 章节细纲模板.json),不写具体字数(→ formulas-rhythm.json)。
5
5
 
6
6
  ---
7
7
 
@@ -1,6 +1,6 @@
1
1
  # 节奏验证
2
2
 
3
- > 节奏阶段最后一份。横向验证流程与问题记录。**所有验证由脚本执行,本文件不写检查清单。**
3
+ 节奏阶段最后一份。横向验证流程与问题记录。**所有验证由脚本执行,本文件不写检查清单。**
4
4
 
5
5
  ---
6
6
 
@@ -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
- > 本文件不写枚举值(→ glossary),不写数据结构(→ 角色模板.json),不写验证(→ flesh-validate.js)。
3
+ 血肉阶段第 1 份。在骨架角色卡基础上,补描述、目标、缺陷、弧光类型、语言档案、执念、行为重复点、镜像类型。
4
+ 本文件不写枚举值(→ glossary),不写数据结构(→ 角色模板.json),不写验证(→ flesh-validate.js)。
5
5
 
6
6
  ---
7
7
 
@@ -1,9 +1,9 @@
1
1
  # 世界观建设
2
2
 
3
- > 血肉阶段第 2 份。在骨架势力格局基础上,建世界背景、力量体系、势力卡完整版、物品卡、地点卡、设定校验表。
4
- > 本文件不写枚举值(→ glossary),不写数据结构(→ 模板),不写验证(→ 脚本)。
5
- >
6
- > v1.1 变更:§4.3 明确 `relations[].target_name` 必须是骨架已存在的势力名(问题 38)。
3
+ 血肉阶段第 2 份。在骨架势力格局基础上,建世界背景、力量体系、势力卡完整版、物品卡、地点卡、设定校验表。
4
+ 本文件不写枚举值(→ glossary),不写数据结构(→ 模板),不写验证(→ 脚本)。
5
+
6
+ v1.1 变更:§4.3 明确 `relations[].target_name` 必须是骨架已存在的势力名(问题 38)。
7
7
 
8
8
  ---
9
9
 
@@ -30,7 +30,7 @@
30
30
 
31
31
  ### 2.2 世界本质写法
32
32
 
33
- - 弱:"弱肉强食""实力为尊"(空话,不可执行)
33
+ - 弱:“弱肉强食、实力为尊”(空话,不可执行)
34
34
  - 强:"修行者每突破一境,需消耗一座灵矿;灵矿不可再生,故高阶修行者必须争夺低阶修行者的灵矿——这决定了宗门战争的根本动机"
35
35
 
36
36
  **规则**:世界本质必须能推导出至少三个具体冲突。写不出 = 世界本质太虚。
@@ -1,7 +1,7 @@
1
1
  # 关系与支线
2
2
 
3
- > 血肉阶段第 3 份。细化关系网、设计支线、管理多线。
4
- > 本文件不写数量(→ formulas),不写数据结构(→ 模板),不写验证(→ 脚本),不写章节号。
3
+ 血肉阶段第 3 份。细化关系网、设计支线、管理多线。
4
+ 本文件不写数量(→ formulas),不写数据结构(→ 模板),不写验证(→ 脚本),不写章节号。
5
5
 
6
6
  ---
7
7
 
@@ -28,7 +28,7 @@
28
28
  - `description`:一段话描述关系的质地
29
29
  - `changes`:关系变化数组,每条写 `stage`(阶段名)/ `from`(变化前)/ `to`(变化后)/ `trigger`(触发事件)/ `description`(怎么变),可加 `timing`(前期/中期/后期,**不含章节号**)
30
30
 
31
- **关系类型只能用词表里的值**,不要写"盟友""对手""上下级""血亲"这类近义词:
31
+ **关系类型只能用词表里的值**,不要写“盟友、对手、上下级、血亲”这类近义词:
32
32
 
33
33
  | 想表达 | 写这个词表值 |
34
34
  |---|---|
@@ -1,7 +1,7 @@
1
1
  # 情感方法
2
2
 
3
- > 血肉阶段第 4 份。情绪弧线类型 + 叠加规则 + 引擎七环 + 三板斧 + 题材策略。
4
- > 本文件不写章节号(→ 节奏阶段),不写字数分配表(→ 节奏阶段),不写数据结构(→ 模板),不写验证(→ 脚本)。
3
+ 血肉阶段第 4 份。情绪弧线类型 + 叠加规则 + 引擎七环 + 三板斧 + 题材策略。
4
+ 本文件不写章节号(→ 节奏阶段),不写字数分配表(→ 节奏阶段),不写数据结构(→ 模板),不写验证(→ 脚本)。
5
5
 
6
6
  ---
7
7
 
@@ -83,7 +83,7 @@
83
83
 
84
84
  每个剧情单元先设计能制造情绪与兑现的**正向发动机**:
85
85
 
86
- > **核心情绪命题 → 承载对象/情绪缺口 → 受阻或缺口维持原因 → 本轮触发 → 主角不可替代的点火/转化动作 → 意义变化或可见兑现 → 题材/契约兑现**
86
+ **核心情绪命题 → 承载对象/情绪缺口 → 受阻或缺口维持原因 → 本轮触发 → 主角不可替代的点火/转化动作 → 意义变化或可见兑现 → 题材/契约兑现**
87
87
 
88
88
  七环说明:
89
89
  1. **核心情绪命题**:这个单元要让读者感受什么?(爽/燃/甜/虐/恐/治愈)
@@ -1,6 +1,6 @@
1
1
  # 血肉验证
2
2
 
3
- > 血肉阶段最后一份。横向验证流程与问题记录。**所有验证由脚本执行,本文件不写检查清单。**
3
+ 血肉阶段最后一份。横向验证流程与问题记录。**所有验证由脚本执行,本文件不写检查清单。**
4
4
 
5
5
  ---
6
6
 
@@ -1,7 +1,7 @@
1
1
  # 骨架阶段入口
2
2
 
3
- > 本文件是骨架阶段的唯一入口。回答"骨架阶段做什么、按什么顺序读、产出什么"。
4
- > 本文件不定义方法、不写公式、不写验证逻辑。
3
+ 本文件是骨架阶段的唯一入口。回答"骨架阶段做什么、按什么顺序读、产出什么"。
4
+ 本文件不定义方法、不写公式、不写验证逻辑。
5
5
 
6
6
  ---
7
7
 
@@ -1,6 +1,6 @@
1
1
  # 选题定位与卖点提炼
2
2
 
3
- > 开书前第一份文件。先定"写给谁、在哪发、卖什么",再定"写什么"。
3
+ 开书前第一份文件。先定"写给谁、在哪发、卖什么",再定"写什么"。
4
4
 
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  # 书名、简介与包装
2
2
 
3
- > 定位定完后,用本文件把卖点变成点击率。
3
+ 定位定完后,用本文件把卖点变成点击率。
4
4
 
5
5
  ---
6
6
 
@@ -39,7 +39,7 @@
39
39
 
40
40
  - 太长(超过十个字,搜索困难)
41
41
  - 太文艺(读者看不出题材)
42
- - 太泛("重生""系统"单用,无差异化)
42
+ - 太泛(“重生、系统”单用,无差异化)
43
43
  - 与内容不符(书名党,读者点开即弃)
44
44
 
45
45
  ---
@@ -77,7 +77,7 @@
77
77
 
78
78
  - **推荐位一句话**:不超过二十个字,说清"谁 + 冲突 + 爽点"
79
79
  - **短视频推书**:十几秒内说清"最惨处境 + 最大反转 + 最爽结局"
80
- - **标签组合**:三到五个标签,一个主标签打流量(如"重生""系统"),两到四个副标签做差异(如"女强""双重生""复仇")
80
+ - **标签组合**:三到五个标签,一个主标签打流量(如“重生、系统”),两到四个副标签做差异(如“女强、双重生、复仇”)
81
81
 
82
82
  ---
83
83
 
@@ -1,7 +1,7 @@
1
1
  # 实体建卡
2
2
 
3
- > 骨架阶段第 3 份。只建实体骨架卡,不建完整档案。完整档案在血肉阶段。
4
- > 本文件只讲"怎么想",不讲"数量多少"(→ `formulas-skeleton.json`),不讲"JSON 怎么写"(→ `模板/骨架/实体模板.json`)。
3
+ 骨架阶段第 3 份。只建实体骨架卡,不建完整档案。完整档案在血肉阶段。
4
+ 本文件只讲"怎么想",不讲"数量多少"(→ `formulas-skeleton.json`),不讲"JSON 怎么写"(→ `模板/骨架/实体模板.json`)。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 矛盾与结构
2
2
 
3
- > 骨架阶段第 4 份。在实体格局基础上,建主线矛盾、双线、死亡赌注、黏结剂。
4
- > 本文件只讲方法论,不讲数量(→ formulas),不讲结构(→ 模板),不讲验证(→ 脚本)。
3
+ 骨架阶段第 4 份。在实体格局基础上,建主线矛盾、双线、死亡赌注、黏结剂。
4
+ 本文件只讲方法论,不讲数量(→ formulas),不讲结构(→ 模板),不讲验证(→ 脚本)。
5
5
 
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  # 数量决策
2
2
 
3
- > 骨架阶段第 5 份。在公式区间内选定各实体数量。
4
- > 本文件只讲"怎么选",不写"区间是多少"(→ `formulas-skeleton.json`),不写"JSON 怎么写"(→ `模板/骨架/框架模板.json`)。
3
+ 骨架阶段第 5 份。在公式区间内选定各实体数量。
4
+ 本文件只讲"怎么选",不写"区间是多少"(→ `formulas-skeleton.json`),不写"JSON 怎么写"(→ `模板/骨架/框架模板.json`)。
5
5
 
6
6
  ---
7
7
 
@@ -1,6 +1,6 @@
1
1
  # 骨架验证
2
2
 
3
- > 骨架阶段最后一份。横向验证流程与问题记录。**所有验证由脚本执行,本文件不写检查清单。**
3
+ 骨架阶段最后一份。横向验证流程与问题记录。**所有验证由脚本执行,本文件不写检查清单。**
4
4
 
5
5
  ---
6
6
 
@@ -1,9 +1,9 @@
1
1
  # storydb — 故事图工作台
2
2
 
3
- > 分支:`refactor/workspace-mcp`
4
- > 目标:LLM 通过 MCP 工具在 SurrealDB 故事图上读写,不再生成阶段 JSON。
5
- >
6
- > v3 架构:一个工作区一个独立 SurrealDB server;每个项目一个 database + 独立用户;项目目录是 `A/projects/<uuid>`。完整说明见 [docs/workspace-mcp.md](../../../docs/workspace-mcp.md)。CLI 保留为调试/运维入口,不再是指令提示词里的主接口。
3
+ 分支:`refactor/workspace-mcp`
4
+ 目标:LLM 通过 MCP 工具在 SurrealDB 故事图上读写,不再生成阶段 JSON。
5
+
6
+ v3 架构:一个工作区一个独立 SurrealDB server;每个项目一个 database + 独立用户;项目目录是 `A/projects/<uuid>`。完整说明见 [docs/workspace-mcp.md](../../../docs/workspace-mcp.md)。CLI 保留为调试/运维入口,不再是指令提示词里的主接口。
7
7
 
8
8
  ## 1. 一句话
9
9
 
@@ -114,7 +114,7 @@ function applyFormat() {
114
114
  }
115
115
  \`\`\`
116
116
 
117
- > 用 \`fancy_story_apply_batch\` 提交这份参数;它会先预览再写入。自然语言写入请改用 \`fancy_story_apply\`。
117
+ 用 \`fancy_story_apply_batch\` 提交这份参数;它会先预览再写入。自然语言写入请改用 \`fancy_story_apply\`。
118
118
 
119
119
  可用的 op:
120
120