@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,432 @@
1
+ # 题材写作公式
2
+
3
+ > 写作阶段第 5 份。按题材套公式的结构骨架。本文件不重复具体字数(写正文时按平台基准算),只给"节拍顺序 + 必选场景 + 核心规则"。
4
+ > 本文件不定义数据结构、不写验证逻辑。
5
+
6
+ ---
7
+
8
+ ## 一、决策路由
9
+
10
+ | 题材/类型 | 对应公式 |
11
+ |---|---|
12
+ | 现代复仇/打脸 | §2 公式一 |
13
+ | 古代宅斗/身份反转 | §3 公式二 |
14
+ | 虐恋复仇/灵魂视角 | §4 公式三 |
15
+ | 都市系统/逆袭长篇 | §5 公式四(开篇三章) |
16
+ | 玄幻仙侠/重生逆袭 | §6 公式六 |
17
+ | 年代重生/双重复仇 | §7 公式七 |
18
+ | 宫闱宅斗/女帝逆袭 | §8 公式八 |
19
+ | 现代悬疑/超自然 | §9 公式九 |
20
+ | 架空历史/性别反转 | §10 公式十 |
21
+ | 重生复仇/离婚逆袭 | §11 公式十二 |
22
+ | 总裁豪门/白月光虐恋 | §12 公式十三 |
23
+ | 女频 vs 男频复仇对比 | §13 公式十四 |
24
+ | 宫闱宅斗/隐忍腹黑 | §14 公式十五 |
25
+ | 追夫火葬场/不原谅 | §15 公式十六 |
26
+ | 年代重生/医术复仇 | §16 公式十七 |
27
+ | 灵魂视角家庭虐文 | §17 公式十八 |
28
+ | 细节线索驱动复仇 | §18 公式十九 |
29
+ | 反套路嫁祸型重生 | §19 公式二十 |
30
+ | 公开审判式打脸 | §20 公式二十一 |
31
+
32
+ 编号说明:原文件缺公式五和公式十一,保留编号(不重排)。缺失编号为"预留位",后续可补。
33
+
34
+ ---
35
+
36
+ ## 二、公式一:现代复仇/打脸短篇
37
+
38
+ **节拍顺序**(六章结构):
39
+
40
+ | 章 | 节点 | 要点 |
41
+ |---|---|---|
42
+ | 1 | 当众背叛 | 主角当场冷静反击,暂胜 |
43
+ | 2 | 冷静处理 | 冻结/收回权力,交代背景 |
44
+ | 3 | 对方反扑 | 反派找上门,用证据打脸 |
45
+ | 4 | 揭示真相 | 监控/证据暴露反派真面目 |
46
+ | 5 | 对方求饶 | 展示更多证据,彻底碾压 |
47
+ | 6 | 最终加冕 | 新格局+隐藏真相揭露 |
48
+
49
+ **情绪节拍**:愤怒→爽→紧张→更爽→极爽→余韵+震撼。
50
+
51
+ **必选场景**:当众羞辱开场、冷静到可怕的反击、标志性动作、逐层揭露证据、反派自曝、隐藏伏笔回收。
52
+
53
+ **核心规则**:
54
+ - **短篇爽文例外,主角可"永不失态"**
55
+ - 用动作替代情绪
56
+ - 对方越歇斯底里主角越平静
57
+ - 先让反派得意再翻转
58
+
59
+ ---
60
+
61
+ ## 三、公式二:古代宅斗/身份反转
62
+
63
+ **节拍顺序**(八章结构):
64
+
65
+ | 章 | 节点 | 要点 |
66
+ |---|---|---|
67
+ | 1 | 被弃回归 | 亲生父母当众羞辱,主角冷观 |
68
+ | 2 | 后院交锋 | 被妹妹陷害被打,暗线启动 |
69
+ | 3 | 身份初露 | 关键人物关注,展示信物 |
70
+ | 4 | 被软禁 | 妹妹告密,陷入绝境 |
71
+ | 5 | 身份揭露 | 圣旨到,全场震惊 |
72
+ | 6 | 反击推进 | 查账,权贵站队 |
73
+ | 7 | 对方反扑 | 谣言+联合打压 |
74
+ | 8 | 最终碾压 | 面圣/真相大白,对方覆灭 |
75
+
76
+ **情绪节拍**:压抑×3→释放→释放→短暂再压→终极释放。
77
+
78
+ **必选场景**:回归羞辱、被冤枉被打、信物展示、身份揭露名场面、妹妹恶毒递进、父母偏心加码。
79
+
80
+ **核心规则**:分步揭露身份;压抑三章释放一章;父母用"偏心"写不用"坏"写;妹妹恶从阴阳怪气→陷害→要杀。
81
+
82
+ ---
83
+
84
+ ## 四、公式三:虐恋复仇/灵魂视角
85
+
86
+ **节拍顺序**(七章结构):
87
+
88
+ | 章 | 节点 | 要点 |
89
+ |---|---|---|
90
+ | 1 | 死亡回溯 | 三年前被渣男害死,灵魂视角开启 |
91
+ | 2 | 虐待现场 | 渣男威胁家人,保镖打人 |
92
+ | 3 | 小三虚伪 | 小三装可怜,撕碎死亡证明 |
93
+ | 4 | 开棺/真相 | 孩子"那是妈妈",血书,定时文件发布 |
94
+ | 5 | 舆论反转 | 热搜+股价暴跌+小三被甩 |
95
+ | 6 | 崩溃现场 | 掐小三,家族问责 |
96
+ | 7 | 收尾 | 哥哥布局,渣男最后一句话 |
97
+
98
+ **情绪节拍**:窒息→暴怒→冰冷→心碎→爽→快意→苍凉。
99
+
100
+ **必选场景**:"保小不保大";对比场景;孩子一句话击穿防线;定时发布证据;开棺;渣男崩溃。
101
+
102
+ **核心规则**:灵魂飘在半空视角;想阻止却无能为力;现在+三年前回忆交替;渣男合理化自己的恶(到七成,留三成读者恨点);小三每句话都是毒。
103
+
104
+ ---
105
+
106
+ ## 五、公式四:都市系统/逆袭长篇
107
+
108
+ **节拍顺序**(开篇三章,全书开场):
109
+
110
+ | 章 | 节点 | 要点 |
111
+ |---|---|---|
112
+ | 1 | 离婚+系统激活 | 仙人跳反转→离婚→系统激活 |
113
+ | 2 | 系统面板+新手奖励 | "报废边缘"吐槽→新手礼包→离婚 |
114
+ | 3 | 离婚后+新装备 | 机车出场→前妻后悔伏笔→父子关系 |
115
+
116
+ **必选场景**:中年危机够惨;系统面板讽刺数据;新手礼包立刻见效;前妻后悔伏笔;隐藏装备;子女关系。
117
+
118
+ **核心规则**:系统评价+主角吐槽是核心笑点;每章结尾必有系统奖励;反差是爽点来源;生活化细节建真实感。
119
+
120
+ **与黄金五章接口**:公式四覆盖黄金五章前 3 章,第 4-5 章按"开篇第一章逐段写法"接续(拉仇恨/爽点闭环)。
121
+
122
+ ---
123
+
124
+ ## 六、公式六:玄幻仙侠/重生逆袭
125
+
126
+ **节拍顺序**:导语[前世被害]→重生回关键节点→故意不按前世行事→对手自疑自乱→周围人不解→对手越陷越深→关键人物相助→逐步瓦解反派→最终决战→开放式 HE。
127
+
128
+ **必选场景**:前世死亡详细残忍;重生后第一件事"反常";对手自我怀疑是核心爽点;逐步揭露前世真相;关键助力者有排面;结尾留白暗示感情。
129
+
130
+ **核心规则**:不做和前世一样的事=最大金手指;用反常行为制造信息差;仙侠设定服务情感线不堆设定。
131
+
132
+ ---
133
+
134
+ ## 七、公式七:年代重生/双重复仇
135
+
136
+ **节拍顺序**:导语[前世被利用]→双重生→女主选完全不同的路→男主(天阉)温柔登场→揭发渣男前世罪行→渣男自以为赢→更多证据揭露→渣男崩溃→男主真实身份揭露→华丽打脸→男主后悔 BE 收尾。
137
+
138
+ **必选场景**:前世付出导语交代清;双重生博弈;年代细节(的确良、大团结、赤脚医生);男主看似缺陷实则完美;渣男崩溃写足;结尾用渣男视角写后悔。
139
+
140
+ **核心规则**:年代感靠真实历史细节;"替罪羊"比"被出轨"更有冲击力;双重生=双重信息战;渣男绝望反衬女主洒脱。
141
+
142
+ **天阉缺陷归属**:按角色档案的 `core_flaw` 五类,属"生理缺陷(障碍型)",不要求导致主角犯错。
143
+
144
+ ---
145
+
146
+ ## 八、公式八:宫闱宅斗/女帝逆袭
147
+
148
+ **节拍顺序**:家族被害→被迫替嫁→表面顺从暗中布局→带走所有资源离开→新势力中积蓄力量→发现更大阴谋→联合盟友→反攻京城→旧势力崩溃→称帝+改革+HE。
149
+
150
+ **必选场景**:家族被害够惨;替嫁展示智慧;"带走家产"是转折点;每步布局有合理动机;反攻名场面;称帝后改革体现格局。
151
+
152
+ **核心规则**:主角从不解释计划让读者自己猜;古文对话有古味但不太文言(判定标准:去掉文言虚词,句子主干现代可读;保留敬称/谦称/身份称谓);布局有"回顾时恍然大悟"效果;反派是"利益驱动的冷漠"。
153
+
154
+ ---
155
+
156
+ ## 九、公式九:现代悬疑/超自然视角
157
+
158
+ **节拍顺序**:设定[鬼伪装成人]→被骗入局→发现怨气能升级→顺水推舟→揭露犯罪网络→鬼能力升级→对付小喽啰→找幕后黑手→揭露前世死因→最终对决→法律+超自然双重惩罚。
159
+
160
+ **必选场景**:设定一句话说清;被骗后"不慌反喜";鬼视角独特信息差;每次升级解锁前世记忆;反派反应是爽点;双重惩罚比单杀更解气。
161
+
162
+ **核心规则**:鬼视角是独特卖点;"鬼不怕恶人,恶人怕鬼";悬疑线+复仇线交织;每章结尾有反转或新发现。
163
+
164
+ **与公式三超自然能力边界区分**:公式三灵魂不能干预(旁观视角),公式九鬼能升级干预(复仇视角)。同一本书不混用两种能力边界。
165
+
166
+ ---
167
+
168
+ ## 十、公式十:架空历史/性别反转
169
+
170
+ **节拍顺序**:被家暴/被误解→配偶偏心外人→失望到放弃→决定离开→配偶不以为然→离开后变好→配偶后悔→配偶疯狂赎罪→主角不原谅→悲剧/开放式。
171
+
172
+ **必选场景**:开篇被冤枉/被打;"白月光"型情敌够白莲花;主角离开干净利落;配偶后悔递进;主角不原谅是全文态度;结局不 HE 更有余韵。
173
+
174
+ **核心规则**:性别反转是外壳,核心是"不被珍惜的人选择离开";每次"忍忍就好"都是对读者愤怒加码;配偶后悔越详细读者"不原谅"越坚决;悲剧性来自"来不及了"。
175
+
176
+ ---
177
+
178
+ ## 十一、公式十二:重生复仇/离婚逆袭
179
+
180
+ **节拍顺序**:前世被害→重生到关键节点→冷静接受离婚→拿走应得财富→投资已知成功项目→系统学习提升→前夫后悔→前夫试图挽回→坚决拒绝→华丽蜕变。
181
+
182
+ **必选场景**:前世死法和前夫直接相关;重生后第一反应"笑了";离婚干脆要钱要利不要人;投资展示智慧;前夫后悔递进;最终蜕变有具体体现。
183
+
184
+ **核心规则**:"知道了结局,现在要改变过程";冷静是最大武器;每个决定有前世记忆支撑;前夫带有"理所当然地忽视"的缺陷,避免纯坏;投资线和感情线分开。
185
+
186
+ ---
187
+
188
+ ## 十二、公式十三:总裁豪门/白月光虐恋
189
+
190
+ **节拍顺序**:
191
+
192
+ | 章 | 阶段 | 要点 |
193
+ |---|---|---|
194
+ | 1-2 | 虐(建立矛盾) | 伤害层层升级(言语→行为→身体) |
195
+ | 3-4 | 觉醒(心死离开) | 临界事件(目睹背叛/身体极限) |
196
+ | 5-6 | 反转(真相揭露) | 监控/证据/白月光自曝 |
197
+ | 7-8 | 惩罚(追悔被拒) | 渣男崩溃/反派落败 |
198
+ | 9-10 | 治愈(新生活) | 女主独立/新恋情 |
199
+
200
+ **情绪比例**:虐三成→觉醒一成半→爽三成半→治愈两成。
201
+
202
+ **虐三层**:言语伤害→行为伤害→身体伤害。
203
+
204
+ **必选场景**:开篇信息炸弹;白月光出场每句话羞辱女主;临界事件(监控/母亲去世丈夫带秘书旅行);死遁/消失(三成作品使用);渣男追悔被拒;新恋情暗示(五成)。
205
+
206
+ **核心规则**:100% 第一人称;伤害性对话"精准刺痛"非谩骂;觉醒是一瞬间;爽按序释放不能乱序。
207
+
208
+ ---
209
+
210
+ ## 十三、公式十四:女频 vs 男频复仇/打脸对比
211
+
212
+ ### 13.1 女频万能公式
213
+
214
+ - **开头(前一成)**:第一人称"我";三句内建立核心矛盾;重生则一百五十字内完成前世回顾
215
+ - **发展(一到五成)**:反派每五百字升级一次;主角表面隐忍;心声制造信息差;每八百字一次小打脸
216
+ - **高潮(五到八成)**:终极真相/身份揭露;公开审判式打脸;每五百字一次大打脸
217
+ - **收尾(八到十成)**:反派下场;新生活开启;两百字内温情收尾
218
+
219
+ ### 13.2 男频万能公式
220
+
221
+ - **开头(前一成)**:第一段最大屈辱(**男频复仇公式豁免"第一章不能上来就打"**,但必须与建人设并行,不纯打斗);不铺垫直接炸裂;关键数据具体
222
+ - **发展(一到四成)**:隐忍篇幅比女频短;靠行动非心声展示能力
223
+ - **反击(四到七成)**:直接碾压不解释;碾压必须当众
224
+ - **高潮(七到九成)**:身份揭露;称呼改变=身份揭露;集体震惊
225
+ - **收尾(九到十成)**:反派覆灭;两百到四百字温情线
226
+
227
+ ### 13.3 核心差异
228
+
229
+ | 指标 | 女频 | 男频 |
230
+ |---|---|---|
231
+ | 情绪触发密度 | 高 | 略低 |
232
+ | 反转密度 | 高 | 低 |
233
+ | 反转类型 | 信息差型(心声/真相) | 力量型(身份/实力) |
234
+ | 反派类型 | 渣男+绿茶+偏心父母 | 兄弟+老板+势利眼 |
235
+ | 复仇方式 | 信息差式(真相揭露) | 力量式(实力碾压) |
236
+
237
+ **数据说明**:以上为经验值,非统计学数据。与"每八百字一次小打脸"的关系:八百字/节 × 1.25 次/千字 ≈ 1 次/节,与总情绪触发(含小打脸+反转+情绪点)不矛盾。长篇按双坐标换算(基准 2000 字/章),密度减半。
238
+
239
+ **一百五十字前世回顾写法**:不靠整段旁白。拆成三个碎片:一句结论("上一世我死在他手里")+ 一个具体画面("他把我推下楼梯时,白月光在笑")+ 一个动作("我摸了摸脖子,那里没有勒痕")。三个碎片嵌入开场动作中,不集中成段。
240
+
241
+ ---
242
+
243
+ ## 十四、公式十五:宫闱宅斗/隐忍腹黑
244
+
245
+ **节拍顺序**(八章结构):
246
+
247
+ | 章 | 节点 |
248
+ |---|---|
249
+ | 1 | 主动入局(明知丈夫爱寡嫂仍嫁入) |
250
+ | 2 | 以退为进(比情敌更贤惠→情敌嫉妒失控) |
251
+ | 3 | 借力打力(情敌假晕骗丈夫→丈夫发现被骗→失望) |
252
+ | 4 | 静待自毁(情敌社交场合闯祸→主角旁观) |
253
+ | 5 | 意外之喜(情敌怀孕→孩子交主角扶养) |
254
+ | 6 | 釜底抽薪(情敌不能再育→主角成为孩子母亲) |
255
+ | 7 | 设局收网(宫宴支开丈夫→情敌杀婆婆→主角"恰好"撞见) |
256
+ | 8 | 终极反转(揭示从头到尾都在操纵→独占家产) |
257
+
258
+ **情绪**:好奇→爽(情敌自毁)→更爽(主角不动声色)→震撼(结尾反转)。
259
+
260
+ **必选场景**:开篇反常行为;情敌自毁三连;每次让步都是布局;结尾内心独白揭示真相。
261
+
262
+ **核心规则**:主角从不主动出手;每次情敌犯错后主角都是"受害者"或"好人";结尾用主角内心独白形成认知反转(**必须在前面埋三到五个伏笔**,如"她从不做无意义的事",否则违反情绪弧线"回看说得通"规则)。
263
+
264
+ ---
265
+
266
+ ## 十五、公式十六:追夫火葬场/不原谅
267
+
268
+ **节拍顺序**(八章结构):
269
+
270
+ | 章 | 节点 |
271
+ |---|---|
272
+ | 1 | 发现真相(多次引诱失败→发现暗恋继父)→决定离婚 |
273
+ | 2 | 彻底死心(回忆付出→被拒屈辱)→最后的温柔 |
274
+ | 3 | 妻子失控(看到继父给别的女人号码后暴怒,但不为男主) |
275
+ | 4 | 被虐(继父绑架男主→妻子和继父开心聊天)→彻底绝望 |
276
+ | 5 | 决然离开(妻子以为欲擒故纵→烧了男主东西) |
277
+ | 6 | 丑闻曝光(半年后举报信→继父出卖妻子→身败名裂) |
278
+ | 7 | 重逢(妻子找到男主→发现已有新恋人→眼神陌生) |
279
+ | 8 | 不原谅(妻子跟踪→天台对峙→坚决不回头) |
280
+
281
+ **情绪**:绝望→平静→新生→痛快→苍凉。
282
+
283
+ **必选场景**:"第 N 次"制造递进绝望;撞见真相;妻子的"无所谓";继父出卖妻子;新恋人对比;天台对峙 BE。
284
+
285
+ **核心规则**:男主越冷静越有力;妻子后悔越详细读者越觉得活该;新恋人证明"有人会珍惜我";不原谅比强行 HE 更有力量。
286
+
287
+ ---
288
+
289
+ ## 十六、公式十七:年代重生/医术复仇
290
+
291
+ **节拍顺序**(八章结构):
292
+
293
+ | 章 | 节点 |
294
+ |---|---|
295
+ | 1 | 前世极惨(被贱卖→生育工具→火烧死)→重生 |
296
+ | 2 | 金手指展示(银针→给植物人丈夫治疗)→化解前世危机 |
297
+ | 3 | 以退为进(面对挑衅不怒→用医术赢得贵人信任) |
298
+ | 4 | 关键转折(丈夫醒来→利用股权要价→获公司股份) |
299
+ | 5 | 步步为营(丈夫保护→逐渐放下心防→感情线推进) |
300
+ | 6 | 收网布局(发现公公被大房毒杀→丈夫坦白自己一直在查大房下毒→丈夫也在复仇) |
301
+ | 7 | 复仇高潮(公公葬礼→警察抓大房→大房逃亡) |
302
+ | 8 | BE 但圆满(丈夫癌症去世→复仇成功→孩子和事业留给主角) |
303
+
304
+ **主语修正**:第 6 章"丈夫坦白下毒"应为"丈夫坦白自己一直在查大房下毒",毒是大房下的,丈夫在暗中调查。
305
+
306
+ **情绪**:愤怒→爽→紧张→极爽→苍凉。
307
+
308
+ **必选场景**:前世极惨层层递进;重生后第一个反常(不再害怕);医术金手指;贵人相助;丈夫反转(植物人其实半清醒);BE 结局。
309
+
310
+ **核心规则**:年代感靠细节(被贱卖、冲喜、银针);医术要有专业性;大房的恶要具体;BE 是"得到了一切但失去了最重要的人"。
311
+
312
+ **与"BE 不加糖"区分**:公式十七是"BE 但圆满"(复仇成功+孩子事业留给主角),属于"BE 但圆满"变体,允许在结局给"事业/孩子"糖,但不给"丈夫复活"糖。
313
+
314
+ ---
315
+
316
+ ## 十七、公式十八:灵魂视角家庭虐文
317
+
318
+ **节拍顺序**(五章结构):
319
+
320
+ | 章 | 节点 |
321
+ |---|---|
322
+ | 1 | 病中被虐(重病被逼做事→身体崩溃→灵魂飘起) |
323
+ | 2 | 旁观真相(灵魂看到家人冷漠→配角拱火→母亲为"面子"变本加厉) |
324
+ | 3 | 证据浮出(父亲发现→手机/日记/监控暴露真相→全家崩溃) |
325
+ | 4 | 审判清算(逐出族谱→配角被惩→反派得报应) |
326
+ | 5 | 重生暖心(投胎温暖家庭→温馨细节呼应前世缺失) |
327
+
328
+ **情绪**:窒息→心碎→释放→痛快→治愈。
329
+
330
+ **必选场景**:身体最脆弱时遭最大伤害;灵魂飘起;配角拱火;母亲的"面子"执念;手机/日记作为证据;重生到温暖家庭。
331
+
332
+ **核心规则**:灵魂视角能看到但无法阻止;身体细节必须具体;母亲后悔写够;重生结尾用对比;最后一句必须温暖。
333
+
334
+ **节奏修正**:五章装六场景过赶。将"重生暖心"压到半章(最后约五百字),把"证据浮出"和"审判清算"合并到第 3 章后半+第 4 章。情绪转折在第 4 章末(痛快)到第 5 章前半(治愈),给足一章空间。
335
+
336
+ ---
337
+
338
+ ## 十八、公式十九:细节线索驱动复仇
339
+
340
+ **节拍顺序**(八到十三章,每章五百到一千字):
341
+
342
+ | 章 | 节点 |
343
+ |---|---|
344
+ | 1 | 发现异常(微小细节→冷静应对) |
345
+ | 2-3 | 暗中调查(职业优势系统收集证据→发现更大阴谋) |
346
+ | 4-5 | 布局反击(法律文件→证据陷阱→第三方施压) |
347
+ | 6-7 | 公开对峙(公开场合递交文件→对方崩溃→真相浮出) |
348
+ | 8+ | 连环反击(对方反扑→逐一破解→主角全新开始) |
349
+
350
+ **情绪**:警觉→压抑→冷静→爽→极爽→豁达。
351
+
352
+ **必选场景**:一个触发细节(钥匙扣/发票/香水味);职业优势展示;证据链系统构建;"笑着点头"时刻;反向利用对方棋子;"人情味很贵"收尾。
353
+
354
+ **核心规则**:超短章节制(每章五百到一千字);主角永远冷静;证据逐章释放;双面人写法;背叛层层加码;冷描写大情绪。
355
+
356
+ **钩子密度重算**:五百字/章时,钩子 100 字占两成;一千字/章时占一成。100 字钩子仍可用,但需检查"钩子是否过长挤占正文"。建议:五百字章钩子缩到五十到八十字。
357
+
358
+ ---
359
+
360
+ ## 十九、公式二十:反套路嫁祸型重生
361
+
362
+ **节拍顺序**(七章结构):
363
+
364
+ | 章 | 节点 |
365
+ |---|---|
366
+ | 1 | 重生+假意顺从(知道遗产是陷阱→"你既然想要,就都给你吧") |
367
+ | 2 | 暗中布局(确认继承人身份→准备移民→假意亲近渣男) |
368
+ | 3 | 小试锋芒(不再忍白月光→展示反常行为→制造悬念) |
369
+ | 4 | 冲突升级(被陷害→用条件反击) |
370
+ | 5 | 身份揭露(权威人物→"我沈家家主明明是简希"→对方崩溃) |
371
+ | 6 | 收网(给对方"既要又要"的选择→看他自掘坟墓) |
372
+ | 7 | 华丽退场(揭露所有真相→移民离开→头也不回) |
373
+
374
+ **情绪**:了然→爽→更爽→极爽→痛快→豁达。
375
+
376
+ **必选场景**:"给你吧"时刻;白月光三连试探;渣男"既要又要";身份揭露名场面;冷眼旁观对方自毁;"头也不回"式离开。
377
+
378
+ **核心规则**:"给你就是最好的惩罚";前世记忆每章穿插一小段;主角情绪是"苍凉的笑";最大蔑视是漠视。
379
+
380
+ ---
381
+
382
+ ## 二十、公式二十一:公开审判式打脸(通用场景)
383
+
384
+ **核心场景设计**:
385
+
386
+ 1. 设定"竞技场"(股东大会/家族寿宴/公司大堂)——必须公开
387
+ 2. 反派先"赢"(当众宣布胜利、羞辱主角)
388
+ 3. 主角标志性冷静(端起水杯/整理西装/笑了笑)
389
+ 4. 逐层揭露(一张一张甩证据)
390
+ 5. 反派逐级崩溃(得意→慌张→绝望→崩溃)
391
+ 6. 标志性驱逐台词
392
+ 7. 背影离场(全场死寂中头也不回)
393
+
394
+ **标志性动作库**(功能:冷静反差 + 权力宣告):
395
+
396
+ | 动作 | 效果 |
397
+ |---|---|
398
+ | 端起水杯,喝了一口 | 冷静到可怕 |
399
+ | 转着车钥匙悠悠往里走 | 胜利者的从容 |
400
+ | 顺手拿起一杯香槟 | 战场上的优雅 |
401
+ | 慢慢蹲下身与她平视 | 居高临下的慈悲 |
402
+
403
+ **驱逐台词**(功能:权力宣告 + 蔑视):
404
+
405
+ | 功能 | 自造方向 |
406
+ |---|---|
407
+ | 逐出公司 | "从今天起,你不再属于这里"+ 具体动作 |
408
+ | 永久驱逐 | "这扇门,你以后不用再进"+ 具体动作 |
409
+
410
+ **禁止照搬原句**。每个作者按人设自造,自造标准:短、有具体名词、有动作配合、有冷漠感。
411
+
412
+ ---
413
+
414
+ ## 二十一、与其他文件的关系
415
+
416
+ | 本文件输出 | 落到哪个文件 | 由哪个脚本验证 |
417
+ |---|---|---|
418
+ | 各题材的节拍顺序 | 每章正文 | `writing-validate.js` 的 `WORD_COUNT` / `CHAPTER_TITLE` / `HOOK_*` |
419
+ | 必选场景 | 每章正文 | 无(写作时对照,不强制校验) |
420
+ | 核心规则 | 写作时参考 | 无(写作时遵守) |
421
+
422
+ **不输出到**:
423
+ - 公式结构不建 JSON 字段,是写作时的题材骨架
424
+ - 具体字数是写作参考,不进入任何 JSON
425
+
426
+ ---
427
+
428
+ ## 二十二、版本记录
429
+
430
+ | 版本 | 变更 |
431
+ |---|---|
432
+ | v1.0 | 从原 04-05 精简。保留 21 个公式的节拍顺序/情绪/必选场景/核心规则;将部分具体字数改为中文数字或"经验值"表述;删除公式五和公式十一(原文件已缺,保留编号);新增"与其他文件的关系"节 |
@@ -0,0 +1,259 @@
1
+ # 基调与结构
2
+
3
+ > 写作阶段第 6 份。喜剧/悲剧/文学性基调 + 群像/单元剧/非线性结构。按需加载。
4
+ > 本文件不定义数据结构、不写验证逻辑。
5
+
6
+ ---
7
+
8
+ ## 一、决策路由
9
+
10
+ | 你在做什么 | 用哪节 |
11
+ |---|---|
12
+ | 写喜剧/搞笑 | §2 喜剧写法 |
13
+ | 写悲剧/正剧 | §3 悲剧写法 |
14
+ | 写文学性网文 | §4 文学性 |
15
+ | 写群像 | §5 群像 |
16
+ | 写单元剧 | §6 单元剧 |
17
+ | 写非线性叙事 | §7 非线性 |
18
+
19
+ ---
20
+
21
+ ## 二、喜剧写法
22
+
23
+ ### 2.1 笑点来源
24
+
25
+ | 类型 | 说明 | 示例 |
26
+ |---|---|---|
27
+ | 反差 | 预期 vs 实际 | 战神怕蟑螂 |
28
+ | 误会 | 双方理解错位 | A 以为 B 是杀手,B 是送外卖的 |
29
+ | 错位 | 身份/场合/语境错配 | 大佬装萌新,真萌新被当大佬 |
30
+ | 语言梗 | 谐音/口癖/骚话 | "人头落地,落地人头" |
31
+ | 动作梗 | 肢体喜剧 | 想耍帅结果摔跤 |
32
+ | 情境梗 | 设定本身好笑 | 系统是反派,天天坑宿主 |
33
+
34
+ ### 2.2 笑点密度
35
+
36
+ - 每章至少两三个笑点
37
+ - 连续几章必须有至少一个大爆点
38
+ - 笑点之间不能间隔过长(免费平台间隔短,付费平台可稍长)
39
+
40
+ ### 2.3 搞笑与主线配比
41
+
42
+ | 类型 | 主线占比 | 搞笑占比 | 适用 |
43
+ |---|---|---|---|
44
+ | 纯搞笑 | 少 | 多 | 短篇、沙雕文 |
45
+ | 搞笑+主线 | 六成 | 四成 | 轻松爽文、无敌流 |
46
+ | 主线+搞笑调剂 | 八成 | 两成 | 正剧、悬疑 |
47
+
48
+ ### 2.4 搞笑担当
49
+
50
+ 主角搞笑:适合无敌流/轻松文,主角可以吃瘪(但要可爱),不能掉逼格到读者反感。
51
+ 配角搞笑:适合正剧/悬疑/升级文,主角保持逼格,笑点由配角承担(嘴替/蠢萌/倒霉)。
52
+
53
+ ### 2.5 搞笑与情绪切换
54
+
55
+ - 搞笑→煽情:先笑到顶点,再一个"戛然而止",用沉默/反差/一句冷话切入煽情
56
+ - 煽情→搞笑:煽情结束后一两章内不立刻搞笑,给读者情绪缓冲
57
+ - 自检:这句搞笑放进煽情段会不会让读者出戏?会就删
58
+
59
+ ---
60
+
61
+ ## 三、悲剧写法
62
+
63
+ ### 3.1 悲剧核心
64
+
65
+ 悲剧不是"主角倒霉",是"主角做了正确选择,但仍然失败"。悲剧需要必然性,不是偶然性。
66
+
67
+ | 悲剧类型 | 定义 | 示例 |
68
+ |---|---|---|
69
+ | 命运悲剧 | 主角无论如何选择都逃不过 | 俄狄浦斯 |
70
+ | 性格悲剧 | 主角性格决定了他的选择必然导致失败 | 项羽 |
71
+ | 社会悲剧 | 制度/时代/阶级导致失败 | 祥林嫂 |
72
+ | 价值悲剧 | 两个正确价值不可兼得 | 忠孝不能两全 |
73
+
74
+ ### 3.2 悲剧节奏
75
+
76
+ ```
77
+ 希望 → 破灭 → 新希望 → 更大破灭 → 最后希望 → 彻底破灭
78
+ ```
79
+
80
+ 不能一直惨。要有"希望—破灭"的循环,每次破灭比前一次更重。最后希望破灭时,悲剧成立。
81
+
82
+ ### 3.3 正剧冲突
83
+
84
+ 正剧冲突更多是价值观冲突、制度冲突、时代冲突,不是简单的善恶对立。
85
+
86
+ - 正剧人物没有纯粹的好人/坏人,每个选择都有代价
87
+ - 正剧不提供廉价解法,结局可以是"赢了但失去"
88
+
89
+ ### 3.4 与"倒 V 形 BE"对接
90
+
91
+ 倒 V 形 BE 是结构(弧线),悲剧/正剧是基调。两者可叠加:用倒 V 形结构写一个悲剧内核的故事。
92
+
93
+ 区别:
94
+ - 倒 V 形只要求"高点在中段,坠落快",不要求悲剧必然性
95
+ - 悲剧要求"主角做了正确选择仍失败",有必然性
96
+ - 短篇 BE 用倒 V 形足够;长篇 BE 建议加悲剧必然性,否则读者觉得"作者故意虐"
97
+
98
+ ---
99
+
100
+ ## 四、文学性网文
101
+
102
+ ### 4.1 意象系统
103
+
104
+ 反复出现的意象(雨、镜子、旧物)承载主题。规则:
105
+ - 全书两三个核心意象
106
+ - 第一次出现自然,第二次出现强化,第三次出现变奏
107
+ - 不能在每次出现时都解释"这象征什么",让读者自己感受
108
+
109
+ ### 4.2 隐喻/象征
110
+
111
+ 用具体事物暗示抽象主题。示例:用"笼中鸟"暗示囚禁,用"破镜"暗示关系破裂。规则:隐喻不能太隐(读者看不懂)也不能太露(读者觉得说教)。
112
+
113
+ ### 4.3 叙述腔调
114
+
115
+ 第一人称的"声音"(毒舌、温柔、冷漠、絮叨)。规则:
116
+ - 腔调从第一句就要立起来
117
+ - 腔调保持一致,不中途换人
118
+ - 腔调服务于人物,不是作者炫技
119
+
120
+ ### 4.4 留白
121
+
122
+ 不写满,让读者自己补。规则:
123
+ - 关键情绪点,写七成,留三成
124
+ - 结局留白 > 结局说尽
125
+ - 留白不是"没写完",是"故意不写"
126
+
127
+ ### 4.5 节奏的呼吸感
128
+
129
+ 长句/短句/段落长度的音乐性。规则:
130
+ - 连续多个长句后必须有一个短句
131
+ - 连续多个短句后必须有一个长句
132
+ - 段落长度交替:长段→短段→长段,不连续多段同长度
133
+
134
+ ---
135
+
136
+ ## 五、群像写法
137
+
138
+ ### 5.1 多主角戏份配比
139
+
140
+ | 主角数 | 每人戏份 | 适用 |
141
+ |---|---|---|
142
+ | 双主 | 各四成(两成交互) | 双主文 |
143
+ | 三主 | 各三成(一成交互) | 三人组 |
144
+ | 四到五主 | 各两成(两成交互) | 群像文 |
145
+
146
+ 规则:每个主角必须有独立弧线、独立目标、独立对手。不能有一个主角是另一个主角的"配件"。
147
+
148
+ ### 5.2 多主角弧线管理
149
+
150
+ - 每个主角的成长弧起点不同、转折不同、终点不同
151
+ - 弧线交织:A 的转折由 B 的事件触发,B 的成长由 A 的选择推动
152
+ - 谁先完成弧线:通常"最弱/最不成熟"的主角最后完成,形成收束感
153
+
154
+ ### 5.3 群像场景
155
+
156
+ - 多人场景用"功能分配"(信息提供者/情绪放大器/冲突制造者),每人一个功能
157
+ - 避免"主角独白,其他人当背景板"
158
+ - 每人至少一个标志动作/一句标志台词(在本场景内)
159
+
160
+ ### 5.4 群像的读者认同
161
+
162
+ - 读者可以认同多个主角,但必须有一个"主认同对象"(通常是第一个出场/第一个有内心戏的)
163
+ - 其他主角是"次认同对象",不能让读者认同分散到没有主次
164
+ - 如果写"无主认同"群像(如多线巨著),需要极高的读者耐心,网文不建议
165
+
166
+ ---
167
+
168
+ ## 六、单元剧结构
169
+
170
+ ### 6.1 单元设计
171
+
172
+ 每个单元一个独立冲突,有完整的起承转合,但单元之间共享世界观/主角/主线。
173
+
174
+ ### 6.2 主线与单元比例
175
+
176
+ | 类型 | 主线占比 | 单元占比 | 适用 |
177
+ |---|---|---|---|
178
+ | 无限流 | 三成 | 七成 | 每个副本一个单元 |
179
+ | 推理 | 两成 | 八成 | 每个案件一个单元 |
180
+ | 日常治愈 | 一成 | 九成 | 每个小故事一个单元 |
181
+ | 直播/综艺 | 两成 | 八成 | 每期一个单元 |
182
+
183
+ ### 6.3 单元之间的钩子
184
+
185
+ - 单元结束时,用"主线钩子"把读者拉进下一个单元
186
+ - 单元内也可埋"跨单元伏笔"(如每个副本都有一个神秘符号)
187
+ - 单元钩子强度:单元末强钩子,单元中中钩子
188
+
189
+ ### 6.4 单元的类型轮换
190
+
191
+ 连续几个单元不能都是同一类型。轮换规则:
192
+ - 解谜单元 → 战斗单元 → 情感单元 → 解谜单元
193
+ - 同一类型连续不超过两个单元
194
+
195
+ ### 6.5 单元长度
196
+
197
+ - 一个单元几个到十几个章(无限流副本可八到十五章)
198
+ - 与桥段结构的关系:单元 = 一到两个桥段(短单元)或两到三个桥段(长单元)
199
+
200
+ ---
201
+
202
+ ## 七、非线性叙事
203
+
204
+ ### 7.1 倒叙
205
+
206
+ 先给结果,再回溯过程。
207
+
208
+ | 适用 | 风险 | 操作 |
209
+ |---|---|---|
210
+ | 悬疑/反转 | 读者知道结果后失去追读动力 | 倒叙后一两章内必须给"结果背后的新疑问" |
211
+
212
+ ### 7.2 插叙
213
+
214
+ 在主线中插入回忆/背景。
215
+
216
+ | 适用 | 风险 | 操作 |
217
+ |---|---|---|
218
+ | 人物塑造 | 打断主线节奏 | 插叙不超过一章;插叙后回主线时用"钩子"拉回 |
219
+
220
+ ### 7.3 环形叙事
221
+
222
+ 开头和结尾呼应,中间是过程。
223
+
224
+ | 适用 | 风险 | 操作 |
225
+ |---|---|---|
226
+ | 文艺/悬疑 | 读者可能觉得"绕圈子" | 开头和结尾必须"同中有变",不是完全重复 |
227
+
228
+ ### 7.4 多视角拼图
229
+
230
+ 同一事件,不同角色视角,拼出真相。
231
+
232
+ | 适用 | 风险 | 操作 |
233
+ |---|---|---|
234
+ | 悬疑/权谋 | 读者可能觉得重复 | 每个视角必须提供"新信息",不是同一事件的重复叙述 |
235
+
236
+ ### 7.5 与多线管理的对接
237
+
238
+ 非线性叙事必须用时序映射的多线管理(主线/支线/多视角的时间戳),标线 ID、POV、时间戳、交汇章。没有多线管理,非线性叙事会乱。
239
+
240
+ ---
241
+
242
+ ## 八、与其他文件的关系
243
+
244
+ | 本文件输出 | 落到哪个文件 | 由哪个脚本验证 |
245
+ |---|---|---|
246
+ | 基调与结构选择 | 每章正文 | 无(写作时的结构参考) |
247
+ | 群像/单元剧/非线性的写法 | 每章正文 | 无(写作时的结构参考) |
248
+
249
+ **不输出到**:
250
+ - 基调与结构不建 JSON 字段,是写作时的选择
251
+ - 具体的群像比例/单元比例是写法参考,不进入任何 JSON
252
+
253
+ ---
254
+
255
+ ## 九、版本记录
256
+
257
+ | 版本 | 变更 |
258
+ |---|---|
259
+ | v1.0 | 从原 04-06 精简。删除检查清单(改为方法论陈述);保留喜剧/悲剧/文学/群像/单元剧/非线性;新增"与其他文件的关系"节 |