@cloud411716/fancy-webnovel 1.0.46 → 3.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 (271) hide show
  1. package/client.js +369 -0
  2. package/cordis.patch.yml +4 -13
  3. package/docs/douyin-plugin.md +118 -0
  4. package/docs/material-library/README.md +404 -0
  5. package/docs/material-library/import.js +437 -0
  6. package/docs/material-library/prompt.md +370 -0
  7. package/docs/material-library/queries.surql +94 -0
  8. package/docs/material-library/sample.jsonl +14 -0
  9. package/docs/material-library/schema.surql +46 -0
  10. package/docs/mcp-profile.example.yml +24 -0
  11. package/docs/story-graph-design.md +602 -0
  12. package/docs/story-graph-validation.md +81 -0
  13. package/docs/workspace-mcp.md +284 -0
  14. package/index.js +26 -38
  15. package/lib/atomic-write.js +109 -0
  16. package/lib/chapter-order.js +100 -0
  17. package/lib/chinese-num.js +111 -0
  18. package/lib/confirmation.js +80 -0
  19. package/lib/db-init.js +123 -0
  20. package/lib/deployed-state.js +141 -0
  21. package/lib/direction-labels.js +265 -0
  22. package/lib/error-codes.js +104 -0
  23. package/lib/infra.js +594 -0
  24. package/lib/llm-wiki.js +109 -0
  25. package/lib/material-db.js +149 -0
  26. package/lib/path-guard.js +150 -0
  27. package/lib/projects.js +400 -0
  28. package/lib/scraper-utils.js +305 -0
  29. package/lib/surreal-server.js +338 -0
  30. package/lib/topic-decision.js +860 -0
  31. package/lib/topic-fields.js +251 -0
  32. package/lib/topic-schema.js +225 -0
  33. package/lib/workspace.js +501 -0
  34. package/package.json +62 -5
  35. package/plugins/fancy-analyze/analyze-definitions.md +519 -0
  36. package/plugins/fancy-analyze/command-input.js +65 -0
  37. package/plugins/fancy-analyze/index.js +2024 -0
  38. package/plugins/fancy-analyze/ingest-coverage.js +107 -0
  39. package/plugins/fancy-analyze/schema-analyze.md +627 -0
  40. package/plugins/fancy-analyze/schema-write.md +178 -0
  41. package/plugins/fancy-analyze/scripts/append-summary-chapter.js +612 -0
  42. package/plugins/fancy-analyze/scripts/split_source.js +292 -0
  43. package/plugins/fancy-analyze/summary-progress.js +495 -0
  44. package/plugins/fancy-analyze/templates.js +1179 -0
  45. package/plugins/fancy-bootstrap/index.js +313 -0
  46. package/plugins/fancy-bootstrap/scripts/init.js +177 -0
  47. package/plugins/fancy-bootstrap/scripts/path-utils.js +21 -0
  48. package/plugins/fancy-bootstrap/templates.js +71 -0
  49. package/plugins/fancy-db/index.js +172 -0
  50. package/plugins/fancy-douyin/deploy.js +134 -0
  51. package/plugins/fancy-douyin/index.js +551 -0
  52. package/plugins/fancy-douyin/prompts/01-analysis-prompt.md +84 -0
  53. package/plugins/fancy-douyin/scripts/crawl-note.cjs +194 -0
  54. package/plugins/fancy-douyin/scripts/lib.cjs +197 -0
  55. package/plugins/fancy-douyin/scripts/scan-account.cjs +128 -0
  56. package/plugins/fancy-douyin/scripts/start-chrome.cjs +203 -0
  57. package/plugins/fancy-douyin/state.js +197 -0
  58. package/plugins/fancy-douyin/templates.js +127 -0
  59. package/plugins/fancy-export/exporter.js +805 -0
  60. package/plugins/fancy-export/index.js +63 -0
  61. package/plugins/fancy-import/import-core.js +1118 -0
  62. package/plugins/fancy-import/import-driver.js +604 -0
  63. package/plugins/fancy-import/index.js +738 -0
  64. package/plugins/fancy-import/prompts/01-import-prompt.md +131 -0
  65. package/plugins/fancy-import/templates.js +58 -0
  66. package/plugins/fancy-material/exporter.js +153 -0
  67. package/plugins/fancy-material/genres.js +256 -0
  68. package/plugins/fancy-material/index.js +835 -0
  69. package/plugins/fancy-material/inventory.js +143 -0
  70. package/plugins/fancy-material/kinds.js +313 -0
  71. package/plugins/fancy-material/queue.js +55 -0
  72. package/plugins/fancy-material/scripts/query.js +254 -0
  73. package/plugins/fancy-material/templates.js +258 -0
  74. package/plugins/fancy-material/tool-deploy.js +138 -0
  75. package/plugins/fancy-material/validate.js +149 -0
  76. package/plugins/fancy-project/index.js +133 -0
  77. package/plugins/fancy-scan/existing-block.js +100 -0
  78. package/plugins/fancy-scan/index.js +708 -0
  79. package/plugins/fancy-scan/prompts/01-analysis-prompt.md +302 -0
  80. package/plugins/fancy-scan/scripts/append-block.js +725 -0
  81. package/plugins/fancy-scan/scripts/report-validate.js +824 -0
  82. package/plugins/fancy-scan/scripts/run-scan.js +667 -0
  83. package/plugins/fancy-scan/scripts/scrapers/fanqie-rank-scraper.js +923 -0
  84. package/plugins/fancy-scan/scripts/scrapers/jjwxc-rank-scraper.js +469 -0
  85. package/plugins/fancy-scan/scripts/scrapers/qimao-rank-scraper.js +629 -0
  86. package/plugins/fancy-scan/templates/blocks.js +155 -0
  87. package/plugins/fancy-scan/templates/platforms.js +372 -0
  88. package/plugins/fancy-scan/templates/report-schema.js +90 -0
  89. package/plugins/fancy-scan/templates.js +694 -0
  90. package/plugins/fancy-scan/tool-deploy.js +335 -0
  91. package/plugins/fancy-scan/wait-turn.js +46 -0
  92. package/plugins/fancy-story-builder/db/README.md +106 -0
  93. package/plugins/fancy-story-builder/db/client.js +228 -0
  94. package/plugins/fancy-story-builder/db/commands.js +145 -0
  95. package/plugins/fancy-story-builder/db/ids.js +39 -0
  96. package/plugins/fancy-story-builder/db/import.js +798 -0
  97. package/plugins/fancy-story-builder/db/project.js +299 -0
  98. package/plugins/fancy-story-builder/db/query.js +361 -0
  99. package/plugins/fancy-story-builder/db/schema.js +417 -0
  100. package/plugins/fancy-story-builder/db/stage-sync.js +238 -0
  101. package/plugins/fancy-story-builder/deploy-manifest.js +239 -0
  102. package/plugins/fancy-story-builder/deslop-driver.js +821 -0
  103. package/plugins/fancy-story-builder/flesh-output.js +168 -0
  104. package/plugins/fancy-story-builder/index.js +6861 -0
  105. package/plugins/fancy-story-builder/patch-driver.js +390 -0
  106. package/plugins/fancy-story-builder/prompts/01-skeleton-prompt.md +563 -0
  107. package/plugins/fancy-story-builder/prompts/02-flesh-prompt.md +602 -0
  108. package/plugins/fancy-story-builder/prompts/03-rhythm-prompt.md +539 -0
  109. package/plugins/fancy-story-builder/prompts/04-writing-prompt.md +225 -0
  110. package/plugins/fancy-story-builder/prompts/05-deslop-prompt.md +96 -0
  111. package/plugins/fancy-story-builder/purpose-template.md +83 -0
  112. package/plugins/fancy-story-builder/references/formulas-rhythm.json +302 -0
  113. package/plugins/fancy-story-builder/references/formulas-skeleton.json +402 -0
  114. package/plugins/fancy-story-builder/references/genre-profiles.json +3514 -0
  115. package/plugins/fancy-story-builder/references/glossary.md +594 -0
  116. package/plugins/fancy-story-builder/references/index.md +581 -0
  117. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/00-index.md +174 -0
  118. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/01-scene.md +150 -0
  119. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/02-chapter-workflow.md +99 -0
  120. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/03-opening-chapter.md +104 -0
  121. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/04-dialogue-mastery.md +274 -0
  122. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/05-genre-formulas.md +432 -0
  123. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/06-tone-ensemble.md +259 -0
  124. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/07-ledger-audit.md +222 -0
  125. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/08-diagnosis-revision.md +205 -0
  126. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/09-reading-power.md +135 -0
  127. package/plugins/fancy-story-builder/references//345/206/231/344/275/234/346/214/207/345/257/274/10-deslop.md +129 -0
  128. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/00-index.md +98 -0
  129. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/01-upgrade-rhythm.md +300 -0
  130. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/02-arc-rhythm.md +168 -0
  131. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/03-highpoint-hooks.md +189 -0
  132. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/04-satisfaction.md +226 -0
  133. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/05-foreshadow-density.md +195 -0
  134. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/06-chapter-outline.md +226 -0
  135. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/07-audit.md +181 -0
  136. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/00-index.md +100 -0
  137. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/01-character.md +243 -0
  138. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/02-worldbuilding.md +245 -0
  139. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/03-relations.md +185 -0
  140. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/04-emotion-methods.md +286 -0
  141. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/05-audit.md +187 -0
  142. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/00-index.md +91 -0
  143. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/01-positioning.md +209 -0
  144. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/02-packaging.md +135 -0
  145. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/03-entities.md +305 -0
  146. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/04-conflict.md +328 -0
  147. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/05-quota.md +187 -0
  148. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/06-audit.md +160 -0
  149. package/plugins/fancy-story-builder/rhythm-output.js +140 -0
  150. package/plugins/fancy-story-builder/schema-setting.json +1100 -0
  151. package/plugins/fancy-story-builder/schema-setting.md +232 -0
  152. package/plugins/fancy-story-builder/scripts/ai-patterns.js +619 -0
  153. package/plugins/fancy-story-builder/scripts/brief-validate.js +164 -0
  154. package/plugins/fancy-story-builder/scripts/check-guide-compliance.js +289 -0
  155. package/plugins/fancy-story-builder/scripts/content-quality.js +416 -0
  156. package/plugins/fancy-story-builder/scripts/deslop-validate.js +143 -0
  157. package/plugins/fancy-story-builder/scripts/error-classes.js +112 -0
  158. package/plugins/fancy-story-builder/scripts/flesh-validate.js +1312 -0
  159. package/plugins/fancy-story-builder/scripts/formula-engine.js +112 -0
  160. package/plugins/fancy-story-builder/scripts/graph-utils.js +1484 -0
  161. package/plugins/fancy-story-builder/scripts/label-coverage.js +171 -0
  162. package/plugins/fancy-story-builder/scripts/prompt-drift-check.js +441 -0
  163. package/plugins/fancy-story-builder/scripts/reading-power.js +298 -0
  164. package/plugins/fancy-story-builder/scripts/reference-log.js +110 -0
  165. package/plugins/fancy-story-builder/scripts/rhythm-validate.js +1312 -0
  166. package/plugins/fancy-story-builder/scripts/schema-pages.js +2668 -0
  167. package/plugins/fancy-story-builder/scripts/semantic-lint.js +381 -0
  168. package/plugins/fancy-story-builder/scripts/skeleton-quota.js +145 -0
  169. package/plugins/fancy-story-builder/scripts/skeleton-validate.js +1973 -0
  170. package/plugins/fancy-story-builder/scripts/stage-batches.js +1405 -0
  171. package/plugins/fancy-story-builder/scripts/stage-contract.js +429 -0
  172. package/plugins/fancy-story-builder/scripts/story-artifacts.js +933 -0
  173. package/plugins/fancy-story-builder/scripts/upstream-query.js +198 -0
  174. package/plugins/fancy-story-builder/scripts/v2/baseline.js +112 -0
  175. package/plugins/fancy-story-builder/scripts/v2/cast.js +517 -0
  176. package/plugins/fancy-story-builder/scripts/v2/context.js +434 -0
  177. package/plugins/fancy-story-builder/scripts/v2/contracts.js +493 -0
  178. package/plugins/fancy-story-builder/scripts/v2/core.js +419 -0
  179. package/plugins/fancy-story-builder/scripts/v2/engine.js +1068 -0
  180. package/plugins/fancy-story-builder/scripts/v2/export-markdown.js +794 -0
  181. package/plugins/fancy-story-builder/scripts/v2/genre.js +195 -0
  182. package/plugins/fancy-story-builder/scripts/v2/knowledge.js +321 -0
  183. package/plugins/fancy-story-builder/scripts/v2/macro.js +409 -0
  184. package/plugins/fancy-story-builder/scripts/v2/manifest.js +538 -0
  185. package/plugins/fancy-story-builder/scripts/v2/migrate.js +137 -0
  186. package/plugins/fancy-story-builder/scripts/v2/prompts.js +1335 -0
  187. package/plugins/fancy-story-builder/scripts/v2/rhythm.js +618 -0
  188. package/plugins/fancy-story-builder/scripts/v2/scale.js +843 -0
  189. package/plugins/fancy-story-builder/scripts/v2/snapshot.js +121 -0
  190. package/plugins/fancy-story-builder/scripts/v2/stages.js +273 -0
  191. package/plugins/fancy-story-builder/scripts/v2/writing.js +216 -0
  192. package/plugins/fancy-story-builder/scripts/writing-rules.js +167 -0
  193. package/plugins/fancy-story-builder/scripts/writing-validate.js +682 -0
  194. package/plugins/fancy-story-builder/skeleton-output.js +199 -0
  195. package/plugins/fancy-story-builder/stage-driver.js +1049 -0
  196. package/plugins/fancy-story-builder/storydb/README.md +271 -0
  197. package/plugins/fancy-story-builder/storydb/cli.js +458 -0
  198. package/plugins/fancy-story-builder/storydb/client.js +351 -0
  199. package/plugins/fancy-story-builder/storydb/compile.js +452 -0
  200. package/plugins/fancy-story-builder/storydb/context.js +288 -0
  201. package/plugins/fancy-story-builder/storydb/definitions.js +699 -0
  202. package/plugins/fancy-story-builder/storydb/driver.js +106 -0
  203. package/plugins/fancy-story-builder/storydb/dsh-tools.js +313 -0
  204. package/plugins/fancy-story-builder/storydb/export.js +175 -0
  205. package/plugins/fancy-story-builder/storydb/ids.js +31 -0
  206. package/plugins/fancy-story-builder/storydb/impact.js +170 -0
  207. package/plugins/fancy-story-builder/storydb/import.js +559 -0
  208. package/plugins/fancy-story-builder/storydb/mcp.js +99 -0
  209. package/plugins/fancy-story-builder/storydb/prompts.js +952 -0
  210. package/plugins/fancy-story-builder/storydb/stage-command.js +379 -0
  211. package/plugins/fancy-story-builder/storydb/stage.js +426 -0
  212. package/plugins/fancy-story-builder/storydb/store.js +891 -0
  213. package/plugins/fancy-story-builder/storydb/tools.js +592 -0
  214. package/plugins/fancy-story-builder/storydb/validation.js +183 -0
  215. package/plugins/fancy-story-builder/templates/v2/10-scale/scale-template.json +144 -0
  216. package/plugins/fancy-story-builder/templates/v2/20-macro/emotion-template.json +15 -0
  217. package/plugins/fancy-story-builder/templates/v2/20-macro/endings-template.json +16 -0
  218. package/plugins/fancy-story-builder/templates/v2/20-macro/lines-template.json +28 -0
  219. package/plugins/fancy-story-builder/templates/v2/20-macro/roles-template.json +10 -0
  220. package/plugins/fancy-story-builder/templates/v2/20-macro/story-template.json +19 -0
  221. package/plugins/fancy-story-builder/templates/v2/20-macro/volumes-template.json +24 -0
  222. package/plugins/fancy-story-builder/templates/v2/20-macro/world-template.json +24 -0
  223. package/plugins/fancy-story-builder/templates/v2/30-cast/characters-template.json +49 -0
  224. package/plugins/fancy-story-builder/templates/v2/30-cast/climaxes-template.json +14 -0
  225. package/plugins/fancy-story-builder/templates/v2/30-cast/conflicts-template.json +30 -0
  226. package/plugins/fancy-story-builder/templates/v2/30-cast/factions-template.json +18 -0
  227. package/plugins/fancy-story-builder/templates/v2/30-cast/foreshadows-template.json +29 -0
  228. package/plugins/fancy-story-builder/templates/v2/30-cast/information-template.json +29 -0
  229. package/plugins/fancy-story-builder/templates/v2/30-cast/items-template.json +13 -0
  230. package/plugins/fancy-story-builder/templates/v2/30-cast/locations-template.json +12 -0
  231. package/plugins/fancy-story-builder/templates/v2/30-cast/payoffs-template.json +16 -0
  232. package/plugins/fancy-story-builder/templates/v2/30-cast/relations-template.json +44 -0
  233. package/plugins/fancy-story-builder/templates/v2/40-rhythm/chapter-map-template.json +81 -0
  234. package/plugins/fancy-story-builder/templates/v2/40-rhythm/outline-template.json +162 -0
  235. package/plugins/fancy-story-builder/templates/v2/50-writing/ledger-template.json +46 -0
  236. package/plugins/fancy-story-builder/templates/v2/60-deslop/report-template.json +10 -0
  237. package/plugins/fancy-story-builder/templates//350/212/202/345/245/217//346/227/266/345/272/217/346/230/240/345/260/204/346/250/241/346/235/277.json +427 -0
  238. package/plugins/fancy-story-builder/templates//350/212/202/345/245/217//347/253/240/350/212/202/347/273/206/347/272/262/346/250/241/346/235/277.json +34 -0
  239. package/plugins/fancy-story-builder/templates//350/212/202/345/245/217//347/253/240/350/212/202/350/247/204/345/210/222/346/250/241/346/235/277.json +24 -0
  240. package/plugins/fancy-story-builder/templates//350/212/202/345/245/217//350/212/202/345/245/217/345/217/202/346/225/260/346/250/241/346/235/277.json +27 -0
  241. package/plugins/fancy-story-builder/templates//350/241/200/350/202/211//344/270/226/347/225/214/350/247/202/350/247/204/345/210/231/346/250/241/346/235/277.json +168 -0
  242. package/plugins/fancy-story-builder/templates//350/241/200/350/202/211//345/205/263/351/224/256/351/201/223/345/205/267/346/250/241/346/235/277.json +184 -0
  243. package/plugins/fancy-story-builder/templates//350/241/200/350/202/211//345/205/266/344/273/226/345/256/236/344/275/223/346/250/241/346/235/277.json +62 -0
  244. package/plugins/fancy-story-builder/templates//350/241/200/350/202/211//345/206/262/347/252/201/346/250/241/346/235/277.json +131 -0
  245. package/plugins/fancy-story-builder/templates//350/241/200/350/202/211//345/211/247/346/203/205/346/250/241/346/235/277.json +85 -0
  246. package/plugins/fancy-story-builder/templates//350/241/200/350/202/211//345/212/277/345/212/233/346/250/241/346/235/277.json +103 -0
  247. package/plugins/fancy-story-builder/templates//350/241/200/350/202/211//345/234/260/347/202/271/346/250/241/346/235/277.json +68 -0
  248. package/plugins/fancy-story-builder/templates//350/241/200/350/202/211//347/273/223/345/261/200/346/250/241/346/235/277.json +142 -0
  249. package/plugins/fancy-story-builder/templates//350/241/200/350/202/211//350/247/222/350/211/262/346/250/241/346/235/277.json +292 -0
  250. package/plugins/fancy-story-builder/templates//351/252/250/346/236/266//345/205/263/347/263/273/346/250/241/346/235/277.json +266 -0
  251. package/plugins/fancy-story-builder/templates//351/252/250/346/236/266//345/256/236/344/275/223/346/250/241/346/235/277.json +336 -0
  252. package/plugins/fancy-story-builder/templates//351/252/250/346/236/266//345/261/202/347/272/247/346/250/241/346/235/277.json +65 -0
  253. package/plugins/fancy-story-builder/templates//351/252/250/346/236/266//346/241/206/346/236/266/346/250/241/346/235/277.json +308 -0
  254. package/plugins/fancy-story-builder/templates.js +1446 -0
  255. package/plugins/fancy-story-builder/wiki-references.js +540 -0
  256. package/plugins/fancy-story-builder/writing-driver.js +1388 -0
  257. package/plugins/fancy-topic/index.js +1057 -0
  258. package/plugins/fancy-topic/prompts/01-exploration-prompt.md +115 -0
  259. package/plugins/fancy-topic/scripts/save-suggestion.js +219 -0
  260. package/plugins/fancy-topic/scripts/select-topic.js +317 -0
  261. package/plugins/fancy-topic/templates.js +476 -0
  262. package/plugins/fancy-topic/tool-deploy.js +200 -0
  263. package/commands/bootstrap/index.js +0 -164
  264. package/commands/bootstrap/init-project.js +0 -121
  265. package/commands/scan/index.js +0 -283
  266. package/commands/scan/platforms/fanqie.js +0 -146
  267. package/commands/scan/platforms/jinjiang.js +0 -143
  268. package/commands/scan/platforms/qidian.js +0 -102
  269. package/commands/scan/platforms/qimao.js +0 -127
  270. package/commands/scan/scraper.js +0 -195
  271. package/infra.js +0 -160
@@ -0,0 +1,226 @@
1
+ # 章节细纲
2
+
3
+ > 节奏阶段第 6 份。把前面的规划落到每章一行细纲。含钩子排布、伏笔推进、势力出场。
4
+ > 本文件不写数据结构(→ 章节细纲模板.json),不写具体字数(→ formulas-rhythm.json)。
5
+
6
+ ---
7
+
8
+ ## 一、决策路由
9
+
10
+ | 你在做什么 | 用哪节 |
11
+ |---|---|
12
+ | 决定哪些章写细纲 | §2 细纲覆盖范围 |
13
+ | 写章节细纲 | §3 细纲字段的设计 |
14
+ | 排布钩子 | §4 钩子排布 |
15
+ | 排布伏笔推进 | §5 伏笔推进 |
16
+ | 排布势力出场 | §6 势力出场 |
17
+
18
+ ---
19
+
20
+ ## 二、细纲覆盖范围
21
+
22
+ ### 2.1 哪些章必写
23
+
24
+ - 开篇章节
25
+ - 每卷首章和末章
26
+ - 大高潮章(骨架 `climaxes[].type = "大高潮"` 对应的章)
27
+ - 转折点章(骨架 `main_line_timeline[].key_nodes` 中"转折"类型)
28
+ - 结局章
29
+
30
+ ### 2.2 哪些章可省略
31
+
32
+ - 过渡章、日常章
33
+ - 非重点的桥段拉扯章
34
+ - 省略的章由写作阶段根据"章节规划 + 时序映射 + 血肉档案"现场生成细纲
35
+
36
+ ### 2.3 覆盖比例
37
+
38
+ **具体的覆盖比例由 `formulas-rhythm.json` 的 `outline_coverage` 定义**,本文件不重复数字。
39
+
40
+ ---
41
+
42
+ ## 三、细纲字段的设计
43
+
44
+ ### 3.1 每章细纲的核心要素
45
+
46
+ - `ch`:章节号
47
+ - `function_main` / `function_aux`:主功能 + 辅功能
48
+ - `emotion_value`:情绪值(1-10)
49
+ - `emotion_phase`:调动/释放/蓄力
50
+ - `satisfaction_type` / `satisfaction_scale` / `satisfaction_audience`:爽点(如适用)
51
+ - `foreshadow_action`:本章埋/推/收哪些伏笔
52
+ - `faction_appearance`:本章出场哪些势力
53
+ - `hook_head` / `hook_tail` / `hook_strength`:钩子
54
+ - `word_target`:字数目标
55
+
56
+ ### 3.2 功能设计
57
+
58
+ **主功能**(一章只能有一个主功能):
59
+ - 推进主线
60
+ - 埋伏笔
61
+ - 爽点兑现
62
+ - 过渡
63
+ - 人物塑造
64
+
65
+ **辅功能**(可选,可兼多个):
66
+ - 同主功能的五个选项,但强度较弱
67
+
68
+ **规则**:不写"同时推进主线 + 埋伏笔 + 爽点兑现"这种"三合一"——一章的功能必须主次分明。
69
+
70
+ ### 3.3 情绪值设计
71
+
72
+ 情绪值 1-10 是"该章让读者感受到的强度"。设计原则:
73
+ - 爽点章:高(释放段,情绪值高)
74
+ - 压制章:低(调动段,情绪值低)
75
+ - 过渡章:中
76
+ - 高潮章:最高
77
+
78
+ ### 3.4 字数目标
79
+
80
+ 字数目标由 `formulas-rhythm.json` 的 `word_target_range` 决定,与 `avg_words_per_chapter` 的偏离允许范围内。
81
+
82
+ ---
83
+
84
+ ## 四、钩子排布
85
+
86
+ ### 4.1 章首钩子选择流程
87
+
88
+ 1. 查 `03-highpoint-hooks.md` §6 的"章节阶段 → 钩子选择表",确定候选
89
+ 2. 查上一章章尾钩子,排除同型
90
+ 3. 查开篇策略,匹配标签
91
+ 4. 选定一式,章首前 100 字内兑现
92
+
93
+ ### 4.2 章尾钩子选择流程
94
+
95
+ 1. 查 `03-highpoint-hooks.md` §6 的"章节阶段 → 钩子选择表",确定候选
96
+ 2. 查最近若干章的章尾钩子,排除同型(高潮期可例外)
97
+ 3. 查本章情绪值,高情绪值章必须强钩子
98
+ 4. 选定一式,章尾后 100 字内兑现
99
+
100
+ ### 4.3 规则
101
+
102
+ - 连续两章章尾不同式(高潮期可例外,需在细纲中注明"高潮期同类允许")
103
+ - 卷末钩子必须是强钩子
104
+ - 开篇章节前 100 字内必须有强钩子
105
+
106
+ ---
107
+
108
+ ## 五、伏笔推进
109
+
110
+ ### 5.1 每章伏笔动作
111
+
112
+ `foreshadow_action` 字段的内容:
113
+ - 埋设:`"埋 FSxxx"`
114
+ - 推进:`"推 FSxxx"`
115
+ - 回收:`"收 FSxxx"`
116
+ - 无动作:`"无"` 或空
117
+
118
+ ### 5.2 推进节奏
119
+
120
+ - 每个单元有若干新伏笔埋设
121
+ - 每个单元有若干旧伏笔推进
122
+ - 每个单元至少有伏笔回收
123
+
124
+ **具体的密度区间由 `formulas-rhythm.json` 的 `foreshadow_density_by_unit` 定义**,本文件不重复数字。
125
+
126
+ ### 5.3 超期处理
127
+
128
+ 查 `时序映射.json` 的 `foreshadow_timeline`,若某伏笔当前章 > 预期回收窗口上限,标记超期,安排处理:
129
+ - 立即回收(本章回收)
130
+ - 延期(更新回收章)
131
+ - 标 abandoned(在细纲中标注"FSxxx 放弃回收")
132
+
133
+ ---
134
+
135
+ ## 六、势力出场
136
+
137
+ ### 6.1 势力出场排布
138
+
139
+ 每个骨架阶段的势力在节奏阶段必须有出场排布:
140
+ - 出场章:在 `章节细纲.json` 的 `faction_appearance` 中标注
141
+ - 势力冲突升级点:在 `章节细纲.json` 的 `faction_appearance` 中写"势力 A vs 势力 B 正面冲突"
142
+ - 势力关系变化:同上
143
+
144
+ ### 6.2 势力冲突升级曲线
145
+
146
+ 势力冲突随卷/单元升级:
147
+ - 早期:小摩擦(背景出现)
148
+ - 中期:直接冲突(当面冲突)
149
+ - 后期:势力联合/决战
150
+
151
+ **具体的升级曲线由 `formulas-rhythm.json` 的 `faction_escalation_curve` 定义**,本文件不重复数字。
152
+
153
+ ### 6.3 防止势力"写丢"
154
+
155
+ 若某势力连续多个单元未出场,标记"该势力已写丢",需要处理:
156
+ - 插入一次提及(该势力的行动在新闻/对话中被提到)
157
+ - 或安排一次直接出场
158
+
159
+ ---
160
+
161
+ ## 七、示例
162
+
163
+ 一本都市复仇文的章节细纲片段(示意):
164
+
165
+ **第 1 章**(开篇,必写):
166
+ - 主功能:推进主线
167
+ - 辅功能:人物塑造
168
+ - 情绪值:3(谷底前)
169
+ - 情绪阶段:调动
170
+ - 爽点:无
171
+ - 伏笔动作:埋 FS001(妹妹的手机)、埋 FS003(坤沙左手无名指有伤)
172
+ - 势力出场:无
173
+ - 章首钩子:未完成动作("陆子仲刚推开门,就看见妹妹的遗照")
174
+ - 章尾钩子:突然揭示("警察合上笔记本:'对了,你妹妹的手机,我们在园区找到的。'")
175
+ - 钩子强度:强
176
+
177
+ **第 15 章**(大高潮,必写):
178
+ - 主功能:爽点兑现
179
+ - 辅功能:推进主线
180
+ - 情绪值:9
181
+ - 情绪阶段:释放
182
+ - 爽点:身份("你以为我是保安?我当了八年特种兵") / 群体 / 别处 + 专家
183
+ - 伏笔动作:收 FS001
184
+ - 势力出场:园区、旧部
185
+ - 章首钩子:悬念对话
186
+ - 章尾钩子:紧急危机("坤沙站起来:'有意思。'然后对下属说:'查他。'")
187
+ - 钩子强度:强
188
+
189
+ ---
190
+
191
+ ## 八、常见反例
192
+
193
+ | 反例 | 为什么错 | 正确做法 |
194
+ |---|---|---|
195
+ | 一章同时有多个主功能 | 主线模糊 | 只保留一个主功能 |
196
+ | 情绪值全部为高 | 读者疲劳 | 高低起伏 |
197
+ | 章尾钩子连续同式 | 读者疲劳 | 换式 |
198
+ | 伏笔动作全部埋不推不回收 | 叙事债务 | 三类动作组合 |
199
+ | 势力写了但不出场 | 剧情脱节 | 每个势力必须有出场章 |
200
+ | word_target 偏离基准太多 | 节奏失衡 | 按 formulas-rhythm.json 的容差 |
201
+
202
+ ---
203
+
204
+ ## 九、与其他文件的关系
205
+
206
+ | 本文件输出 | 落到哪个字段 | 参考哪个公式 | 由哪个脚本验证 |
207
+ |---|---|---|---|
208
+ | 每章功能 | `章节细纲.json` 的 `outlines[].function_main` / `function_aux` | 无 | `REQUIRED` |
209
+ | 情绪值/阶段 | `章节细纲.json` 的 `outlines[].emotion_value` / `emotion_phase` | 无 | `TYPE` |
210
+ | 爽点类型 | `章节细纲.json` 的 `outlines[].satisfaction_type` / `satisfaction_scale` | 无 | `ENUM`(pleasure_kind / pleasure_scale) |
211
+ | 伏笔动作 | `章节细纲.json` 的 `outlines[].foreshadow_action` | formulas-rhythm.json 的 `foreshadow_density_by_unit` | 无(设计层) |
212
+ | 势力出场 | `章节细纲.json` 的 `outlines[].faction_appearance` | formulas-rhythm.json 的 `faction_escalation_curve` | 无(设计层) |
213
+ | 钩子 | `章节细纲.json` 的 `outlines[].hook_head` / `hook_tail` / `hook_strength` | 无 | `ENUM` |
214
+ | 字数目标 | `章节细纲.json` 的 `outlines[].word_target` | formulas-rhythm.json 的 `word_target_range` | `RHYTHM_WORD_TARGET` |
215
+
216
+ **不输出到**:
217
+ - 细纲的具体场景描写 → 属于写作阶段
218
+ - 章节的具体正文 → 属于写作阶段
219
+
220
+ ---
221
+
222
+ ## 十、版本记录
223
+
224
+ | 版本 | 变更 |
225
+ |---|---|
226
+ | v1.0 | 从原 03-04 精简重组。删除细纲模板中的 x- 字段;删除细纲自检清单;保留细纲字段设计/钩子排布/伏笔推进/势力出场的方法论;新增"与其他文件的关系"节 |
@@ -0,0 +1,181 @@
1
+ # 节奏验证
2
+
3
+ > 节奏阶段最后一份。横向验证流程与问题记录。**所有验证由脚本执行,本文件不写检查清单。**
4
+
5
+ ---
6
+
7
+ ## 一、验证流程
8
+
9
+ 节奏阶段的验证分两级:
10
+
11
+ 1. **单文件校验**:每个文件生成后立即跑(见提示词"七、每文件生成循环")
12
+ 2. **全量校验**:4 个文件全部单检通过后跑
13
+
14
+ 本文件不重复单文件校验的流程(那在 `prompts/03-rhythm-prompt.md` 的"七"),只讲**全量校验失败后怎么处理**。
15
+
16
+ ---
17
+
18
+ ## 二、前置检查失败的处理
19
+
20
+ 如果启动时前置检查失败(骨架或血肉未就绪),按提示词的 BLOCKED 格式输出,不进入生成流程。
21
+
22
+ **前置检查项**:
23
+ - 骨架 `.stage-status.json` 不存在或 `all_check.status !== "PASSED"`
24
+ - 血肉 `.stage-status.json` 不存在或 `all_check.status !== "PASSED"`
25
+ - 骨架 4 个 JSON 或血肉 8 个 JSON 有缺失
26
+
27
+ **处理方向**:回到对应上游阶段完成或修复。
28
+
29
+ ---
30
+
31
+ ## 三、校验失败的处理
32
+
33
+ ### 3.1 单文件校验失败的处理
34
+
35
+ 单文件校验返回的是 **JSON**,判定看 `status`(**没有 `ok` 字段**):
36
+
37
+ | status | 含义 | 怎么办 |
38
+ |---|---|---|
39
+ | `0` | 这个文件过了 | 接着做下一个文件;4 个都过了才跑全量 |
40
+ | `1` | 这个文件的内容有问题 | 按 `errors[]` 回喂:只改 `errors` 指出的字段,按 `hint` 改,改完重跑这条单检 |
41
+ | `2` | **脚本自己没跑完,不是这个文件的问题** | 看 **stdout** 的 `errors[0].message`(**stderr 是空的**):多半是 `--template` 路径错、`--upstream` 目录不存在、glossary 读不出来。**改命令,不要改文件**,改完重跑同一条命令 |
42
+
43
+ **`status:2` 的原因不在 stderr** —— 这是最容易踩的坑:
44
+ stderr 里什么都没有,模型就容易以为自己写错了文件,
45
+ 去改本来正确的产物,越改越坏。
46
+
47
+ **单检过 ≠ 阶段过**:单检只查这一个文件,跨文件的问题
48
+ (时序与参数的可行性、章节引用完整性)要全量校验才查得出来。
49
+
50
+ ### 3.2 按文件分组
51
+
52
+ `errors[]` 每条有 `path` 字段。按"根因文件"分组:
53
+
54
+ | 错误的根因 | 应回改的文件 |
55
+ |---|---|
56
+ | `EXTRA_FIELD`(章节规划相关) | `章节规划.json` |
57
+ | `EXTRA_FIELD`(时序映射相关) | `时序映射.json` |
58
+ | `EXTRA_FIELD`(节奏参数相关) | `节奏参数.json` |
59
+ | `EXTRA_FIELD`(章节细纲相关) | `章节细纲.json` |
60
+ | `RHYTHM_INFEASIBLE` | `节奏参数.json` |
61
+ | `RHYTHM_CHAP_RANGE` / `RHYTHM_CHAP_ORDER` | 看 `path` 前缀 |
62
+ | `RHYTHM_TIMING` / `RHYTHM_ARC_OUT_OF_SPAN` / `RHYTHM_EXIT_IN_SPAN` | `时序映射.json` |
63
+ | `RHYTHM_REF_MISSING` | `时序映射.json` |
64
+ | `RHYTHM_CHAPTER_DUP` / `RHYTHM_CHAPTER_MISSING` | `章节规划.json` |
65
+ | `RHYTHM_CHAPTER_UNREF` | `时序映射.json` 或 `章节细纲.json` |
66
+ | `RHYTHM_NODES_COUNT` / `RHYTHM_BRANCH_TOTAL` / `RHYTHM_OVERLAP_COUNT` | 优先改 `时序映射.json` 的布局;若节奏参数确实错,改 `节奏参数.json` |
67
+ | `RHYTHM_NODE_DUP` / `RHYTHM_BRANCH_OVERLAP` | `时序映射.json` |
68
+ | `RHYTHM_COVERAGE` | `时序映射.json` 的 `ending_timeline[].chapter` |
69
+ | `RHYTHM_LARGE_FS_NOT_RECOVERED` | `时序映射.json` 的 `ending_timeline[].foreshadow_recovery` |
70
+ | `RHYTHM_HOOK_MIN` / `RHYTHM_HOOK_DUP` | `时序映射.json` 的 `hook_timeline` |
71
+ | `RHYTHM_VOLUME_DIST`(warning) | `章节规划.json` 的卷分配 |
72
+ | `RHYTHM_HOOK_DUP_WARN`(warning) | `时序映射.json` 的 `hook_timeline` |
73
+ | `RHYTHM_WORD_TARGET`(warning) | `章节细纲.json` 的 `word_target` |
74
+
75
+ ### 3.3 改根因文件
76
+
77
+ 一次只改一类错误:
78
+ - 先修 error,再修 warning
79
+ - 同类错误一起修
80
+ - 不顺手改其他字段
81
+
82
+ ### 3.4 重跑受影响文件的单检
83
+
84
+ ```bash
85
+ node references/rhythm-validate.js \
86
+ --input=设定/raw/sources/节奏/<文件名>.json \
87
+ --template=模板/节奏/<文件名>模板.json \
88
+ --file=<类型> \
89
+ --upstream=设定/raw/sources/骨架,设定/raw/sources/血肉
90
+ ```
91
+
92
+ 单检通过后(`status:0`),才重跑全量。
93
+
94
+ ### 3.5 重跑全量
95
+
96
+ ```bash
97
+ node references/rhythm-validate.js \
98
+ --stage-dir=设定/raw/sources/节奏 \
99
+ --template-dir=模板/节奏 \
100
+ --upstream=设定/raw/sources/骨架,设定/raw/sources/血肉 \
101
+ --all
102
+ ```
103
+
104
+ ### 3.6 最多 3 轮
105
+
106
+ 全量最多跑 3 轮。第 3 轮仍失败时,按提示词的 BLOCKED 格式输出,附第 3 轮完整 errors。
107
+
108
+ ---
109
+
110
+ ## 四、跨文件错误的特殊处理
111
+
112
+ ### 4.1 RHYTHM_INFEASIBLE
113
+
114
+ 三个参数不满足 7 条约束。按 `prompts/03-rhythm-prompt.md` 的 7.2.2 的"步骤 2-6"重算。
115
+
116
+ ### 4.2 RHYTHM_NODES_COUNT / RHYTHM_BRANCH_TOTAL / RHYTHM_OVERLAP_COUNT
117
+
118
+ 时序映射与节奏参数不一致。**优先改时序映射**(节奏参数已按 7.2.2 算法填对的情况下)。
119
+
120
+ - `RHYTHM_NODES_COUNT`:改 `main_line_timeline[].key_nodes` 的数量,使其等于 `main_progress_chapter_count`
121
+ - `RHYTHM_BRANCH_TOTAL`:改 `branch_timeline[].start` / `resolution` 的区间,使所有支线的章数之和等于 `branch_chapter_total`
122
+ - `RHYTHM_OVERLAP_COUNT`:调整支线区间或主线 key_nodes,使"支线章集 ∩ 主线 key_node 章集"的大小等于 `overlap_chapter_count`
123
+
124
+ **注意**:调整支线区间会影响支线不重叠的约束(`RHYTHM_BRANCH_OVERLAP`),一次改到位。
125
+
126
+ ### 4.3 RHYTHM_COVERAGE
127
+
128
+ 结局章不在主线 key_nodes 中。**修复方向**:
129
+ - 改 `ending_timeline[].chapter` 为最近的某个 key_node 章
130
+ - 或在 `main_line_timeline[].key_nodes` 补该章
131
+
132
+ ### 4.4 RHYTHM_LARGE_FS_NOT_RECOVERED
133
+
134
+ 全书级结局缺大伏笔回收。**修复方向**:在全书级结局的 `foreshadow_recovery` 补上缺失的伏笔 id 和章号。
135
+
136
+ ### 4.5 RHYTHM_CHAPTER_UNREF
137
+
138
+ 某章没有任何引用。**修复方向**:给该章补至少一个时序映射的引用(角色出场、伏笔动作、爽点、钩子等),或在 `章节规划.json` 中确认该章存在。
139
+
140
+ ---
141
+
142
+ ## 五、问题记录
143
+
144
+ 全量校验失败时,用以下模板记录(**不对外展示,只作为工作记录**):
145
+
146
+ | # | 错误代码 | path | 问题描述 | 根因文件 | 修改动作 | 状态 |
147
+ |---|---|---|---|---|---|---|
148
+ | 1 | RHYTHM_NODES_COUNT | main_line_timeline | 实际 240 个节点 vs 参数 235 | 时序映射.json | 删 5 个非关键节点 | open |
149
+ | 2 | RHYTHM_HOOK_DUP | hook_timeline.15-17 | 第 15-17 章章尾同"紧急危机" | 时序映射.json | 换第 16 章钩子 | open |
150
+
151
+ 全部 `open` 转 `resolved` 后,重跑全量。
152
+
153
+ ---
154
+
155
+ ## 六、输出确认
156
+
157
+ 全量校验返回 `status: 0` 后,按 `prompts/03-rhythm-prompt.md` 的"九、输出交付格式"输出交付摘要。
158
+
159
+ **这是唯一允许报告"完成"的场景**。
160
+
161
+ ---
162
+
163
+ ## 七、与其他文件的关系
164
+
165
+ | 本文件作用 | 引用 |
166
+ |---|---|
167
+ | 全量校验失败后的处理流程 | `prompts/03-rhythm-prompt.md` 的"七、7.7" |
168
+ | 错误代码的修复方向 | `prompts/03-rhythm-prompt.md` 的"十二、常见错误代码速查" |
169
+ | 输出确认 | `prompts/03-rhythm-prompt.md` 的"九、输出交付格式" |
170
+ | 联合可行性重算 | `prompts/03-rhythm-prompt.md` 的"7.2.2 步骤 2-6" |
171
+
172
+ **本文件本身不直接输出到任何 JSON**,它是验证阶段的工作手册。
173
+
174
+ ---
175
+
176
+ ## 八、版本记录
177
+
178
+ | 版本 | 变更 |
179
+ |---|---|
180
+ | v1.0 | 从原 03-05 精简。删除所有 `- [ ]` 检查清单(验证归脚本);保留验证流程、问题清单模板、输出确认;新增"跨文件错误的特殊处理"节;新增"与其他文件的关系"节 |
181
+ | v1.1 | §三 原先只有"全量校验失败的处理",整段缺单检失败处理:新补 §3.1 单文件校验失败的处理(`status` 0/1/2 各自的判据、`status:2` 的处置、"单检过 ≠ 阶段过"),原 §3.1-3.5 顺延为 §3.2-3.6 |
@@ -0,0 +1,100 @@
1
+ # 血肉阶段入口
2
+
3
+ > 本文件是血肉阶段的唯一入口。回答"血肉阶段做什么、按什么顺序读、产出什么"。
4
+ > 本文件不定义方法、不写公式、不写验证逻辑。
5
+
6
+ ---
7
+
8
+ ## 一、阶段目标
9
+
10
+ 把骨架阶段的"实体清单 + 关系 + 数量 + 卷级归属"填充成有血有肉的"档案/图/引擎"。
11
+
12
+ 回答:每个实体具体是什么样、关系怎么变化、支线怎么织、情绪怎么起伏、单元怎么排。
13
+
14
+ 血肉不通过,不进入节奏阶段。
15
+
16
+ ---
17
+
18
+ ## 二、四阶段定位
19
+
20
+ 血肉是四阶段的第二层。按"信息生命期"标准:
21
+ - **骨架**:实体、关系、数量、卷级归属(全书不变,无章节号)
22
+ - **血肉**:每个实体具体什么样(全书不变,无章节号)
23
+ - **节奏**:什么时间发生什么(含章节号)
24
+ - **写作**:具体怎么写
25
+
26
+ 血肉阶段的产物同样**不得包含任何章节号**。具体清单见 `references/glossary.md` 第六节。
27
+
28
+ ---
29
+
30
+ ## 三、加载顺序
31
+
32
+ | 序 | 文件 | 作用 |
33
+ |---|---|---|
34
+ | 1 | 01-character.md | 角色/反派深化 + 语言档案 + 执念 + 行为重复点 |
35
+ | 2 | 02-worldbuilding.md | 世界背景 + 力量体系 + 势力卡 + 物品卡 + 地点卡 + 设定校验表 |
36
+ | 3 | 03-relations.md | 关系网细化 + 支线设计 + 多线管理 |
37
+ | 4 | 04-emotion-methods.md | 情绪弧线类型 + 叠加规则 + 引擎七环 + 三板斧 + 题材策略 |
38
+ | 5 | 05-audit.md | 横向验证流程与问题记录 |
39
+
40
+ **顺序说明**:01 必须在 04 之前。人物档案未立,情绪弧线无承载。02 与 01 可并行,但 03 必须在两者之后(关系网需要知道人物和势力)。
41
+
42
+ ---
43
+
44
+ ## 四、产出清单
45
+
46
+ | 产出 | 落到哪个 JSON |
47
+ |---|---|
48
+ | 角色档案 | `角色.json` 的 `characters` |
49
+ | 冲突档案 | `冲突.json` 的 `conflicts` |
50
+ | 势力档案 | `势力.json` 的 `factions` |
51
+ | 剧情档案 | `剧情.json` 的 `main_lines` / `branches` |
52
+ | 地点档案 | `地点.json` 的 `locations` |
53
+ | 结局档案 | `结局.json` 的 `endings` |
54
+ | 世界观规则 | `世界观规则.json` 的 `core_rules` / `information_rules` / `social_rules` / `rule_conflict_plan` |
55
+ | 关键道具 | `关键道具.json` 的 `core_items` / `branch_items` / `symbolic_items` / `details` |
56
+
57
+ **具体数据结构见 `模板/血肉/` 下的 8 个模板**,本文件不重复定义。
58
+
59
+ ---
60
+
61
+ ## 五、决策路由
62
+
63
+ | 你在做什么 | 查 |
64
+ |---|---|
65
+ | 深化主角 | 01-character.md |
66
+ | 深化配角 | 01-character.md |
67
+ | 深化反派 | 01-character.md |
68
+ | 设计关系变化 | 01-character.md + 03-relations.md |
69
+ | 设计执念 | 01-character.md |
70
+ | 建力量体系 | 02-worldbuilding.md |
71
+ | 建势力卡完整版 | 02-worldbuilding.md |
72
+ | 建物品卡 | 02-worldbuilding.md |
73
+ | 建地点卡 | 02-worldbuilding.md |
74
+ | 建设定校验表 | 02-worldbuilding.md |
75
+ | 关系网细化 | 03-relations.md |
76
+ | 支线设计 | 03-relations.md |
77
+ | 多线管理 | 03-relations.md |
78
+ | 选情绪弧线 | 04-emotion-methods.md |
79
+ | 弧线叠加 | 04-emotion-methods.md |
80
+ | 情绪单元引擎 | 04-emotion-methods.md |
81
+ | 情感三板斧 | 04-emotion-methods.md |
82
+ | 血肉横向验证 | 05-audit.md |
83
+
84
+ ---
85
+
86
+ ## 六、与其他文件的关系
87
+
88
+ | 本文件作用 | 被谁引用 |
89
+ |---|---|
90
+ | 血肉阶段入口 | `prompts/02-flesh-prompt.md`(提示词读本文件确定加载顺序) |
91
+
92
+ **本文件本身不直接输出到任何 JSON**,它是导航文件。所有具体输出由 01-05 子文件负责。
93
+
94
+ ---
95
+
96
+ ## 七、版本记录
97
+
98
+ | 版本 | 变更 |
99
+ |---|---|
100
+ | v1.0 | 从原 02-00 精简。删除产出清单中的章节相关内容;删除横向验证清单(移到 05-audit.md);明确"四阶段定位"与"信息生命期"标准 |