@cloud411716/fancy-webnovel 2.2.0 → 3.0.3

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 (212) hide show
  1. package/README.md +65 -0
  2. package/client.js +201 -15
  3. package/cordis.patch.yml +5 -1
  4. package/docs/douyin-plugin.md +118 -0
  5. package/docs/material-library/README.md +404 -0
  6. package/docs/material-library/import.js +437 -0
  7. package/docs/material-library/prompt.md +370 -0
  8. package/docs/material-library/queries.surql +94 -0
  9. package/docs/material-library/sample.jsonl +14 -0
  10. package/docs/material-library/schema.surql +46 -0
  11. package/docs/mcp-profile.example.yml +24 -0
  12. package/docs/story-graph-design.md +602 -0
  13. package/docs/story-graph-validation.md +81 -0
  14. package/docs/workspace-mcp.md +284 -0
  15. package/index.js +12 -7
  16. package/lib/atomic-write.js +109 -0
  17. package/lib/chapter-order.js +100 -0
  18. package/lib/confirmation.js +80 -0
  19. package/lib/db-init.js +123 -0
  20. package/lib/deployed-state.js +11 -11
  21. package/lib/direction-labels.js +265 -0
  22. package/lib/error-codes.js +31 -31
  23. package/lib/infra.js +29 -4
  24. package/lib/material-db.js +149 -0
  25. package/lib/path-guard.js +150 -0
  26. package/lib/projects.js +400 -0
  27. package/lib/scraper-utils.js +140 -0
  28. package/lib/surreal-server.js +338 -0
  29. package/lib/topic-decision.js +860 -0
  30. package/lib/topic-fields.js +251 -0
  31. package/lib/topic-schema.js +225 -0
  32. package/lib/workspace.js +501 -0
  33. package/package.json +31 -7
  34. package/plugins/fancy-analyze/analyze-definitions.md +519 -0
  35. package/plugins/fancy-analyze/index.js +1128 -77
  36. package/plugins/fancy-analyze/ingest-coverage.js +107 -0
  37. package/plugins/fancy-analyze/schema-analyze.md +355 -107
  38. package/plugins/fancy-analyze/scripts/append-summary-chapter.js +612 -0
  39. package/plugins/fancy-analyze/summary-progress.js +71 -7
  40. package/plugins/fancy-analyze/templates.js +437 -139
  41. package/plugins/fancy-bootstrap/index.js +276 -131
  42. package/plugins/fancy-bootstrap/scripts/init.js +59 -25
  43. package/plugins/fancy-bootstrap/templates.js +35 -18
  44. package/plugins/fancy-db/index.js +172 -0
  45. package/plugins/fancy-douyin/deploy.js +134 -0
  46. package/plugins/fancy-douyin/index.js +551 -0
  47. package/plugins/fancy-douyin/prompts/01-analysis-prompt.md +84 -0
  48. package/plugins/fancy-douyin/scripts/crawl-note.cjs +194 -0
  49. package/plugins/fancy-douyin/scripts/lib.cjs +197 -0
  50. package/plugins/fancy-douyin/scripts/scan-account.cjs +128 -0
  51. package/plugins/fancy-douyin/scripts/start-chrome.cjs +203 -0
  52. package/plugins/fancy-douyin/state.js +197 -0
  53. package/plugins/fancy-douyin/templates.js +127 -0
  54. package/plugins/fancy-export/exporter.js +805 -0
  55. package/plugins/fancy-export/index.js +63 -0
  56. package/plugins/fancy-import/import-driver.js +29 -6
  57. package/plugins/fancy-import/index.js +13 -5
  58. package/plugins/fancy-import/prompts/01-import-prompt.md +39 -14
  59. package/plugins/fancy-import/templates.js +17 -8
  60. package/plugins/fancy-material/exporter.js +153 -0
  61. package/plugins/fancy-material/genres.js +256 -0
  62. package/plugins/fancy-material/index.js +835 -0
  63. package/plugins/fancy-material/inventory.js +145 -0
  64. package/plugins/fancy-material/kinds.js +313 -0
  65. package/plugins/fancy-material/queue.js +55 -0
  66. package/plugins/fancy-material/scripts/query.js +254 -0
  67. package/plugins/fancy-material/templates.js +258 -0
  68. package/plugins/fancy-material/tool-deploy.js +138 -0
  69. package/plugins/fancy-material/validate.js +149 -0
  70. package/plugins/fancy-project/index.js +133 -0
  71. package/plugins/fancy-scan/existing-block.js +100 -0
  72. package/plugins/fancy-scan/index.js +410 -21
  73. package/plugins/fancy-scan/prompts/01-analysis-prompt.md +302 -0
  74. package/plugins/fancy-scan/scripts/append-block.js +725 -0
  75. package/plugins/fancy-scan/scripts/report-validate.js +824 -0
  76. package/plugins/fancy-scan/scripts/run-scan.js +169 -22
  77. package/plugins/fancy-scan/scripts/scrapers/fanqie-rank-scraper.js +145 -16
  78. package/plugins/fancy-scan/scripts/scrapers/jjwxc-rank-scraper.js +179 -49
  79. package/plugins/fancy-scan/scripts/scrapers/qimao-rank-scraper.js +38 -20
  80. package/plugins/fancy-scan/templates/blocks.js +155 -0
  81. package/plugins/fancy-scan/templates/platforms.js +372 -0
  82. package/plugins/fancy-scan/templates/report-schema.js +90 -0
  83. package/plugins/fancy-scan/templates.js +545 -146
  84. package/plugins/fancy-scan/tool-deploy.js +335 -0
  85. package/plugins/fancy-scan/wait-turn.js +46 -0
  86. package/plugins/fancy-story-builder/db/README.md +106 -0
  87. package/plugins/fancy-story-builder/db/client.js +228 -0
  88. package/plugins/fancy-story-builder/db/commands.js +145 -0
  89. package/plugins/fancy-story-builder/db/ids.js +39 -0
  90. package/plugins/fancy-story-builder/db/import.js +798 -0
  91. package/plugins/fancy-story-builder/db/project.js +299 -0
  92. package/plugins/fancy-story-builder/db/query.js +361 -0
  93. package/plugins/fancy-story-builder/db/schema.js +417 -0
  94. package/plugins/fancy-story-builder/db/stage-sync.js +238 -0
  95. package/plugins/fancy-story-builder/flesh-output.js +19 -6
  96. package/plugins/fancy-story-builder/index.js +4105 -396
  97. package/plugins/fancy-story-builder/patch-driver.js +390 -0
  98. package/plugins/fancy-story-builder/prompts/01-skeleton-prompt.md +29 -19
  99. package/plugins/fancy-story-builder/prompts/02-flesh-prompt.md +72 -10
  100. package/plugins/fancy-story-builder/prompts/03-rhythm-prompt.md +40 -5
  101. package/plugins/fancy-story-builder/prompts/04-writing-prompt.md +37 -0
  102. package/plugins/fancy-story-builder/purpose-template.md +42 -66
  103. package/plugins/fancy-story-builder/references/formulas-skeleton.json +229 -56
  104. package/plugins/fancy-story-builder/references/genre-profiles.json +3514 -0
  105. package/plugins/fancy-story-builder/references/glossary.md +15 -6
  106. package/plugins/fancy-story-builder/references/index.md +97 -6
  107. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/00-index.md +1 -1
  108. package/plugins/fancy-story-builder/references//350/212/202/345/245/217/346/214/207/345/257/274/07-audit.md +25 -7
  109. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/01-character.md +5 -1
  110. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/03-relations.md +6 -2
  111. package/plugins/fancy-story-builder/references//350/241/200/350/202/211/346/214/207/345/257/274/05-audit.md +15 -5
  112. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/00-index.md +1 -1
  113. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/01-positioning.md +2 -1
  114. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/03-entities.md +1 -1
  115. package/plugins/fancy-story-builder/references//351/252/250/346/236/266/346/214/207/345/257/274/06-audit.md +19 -1
  116. package/plugins/fancy-story-builder/schema-setting.json +1100 -0
  117. package/plugins/fancy-story-builder/schema-setting.md +201 -293
  118. package/plugins/fancy-story-builder/scripts/brief-validate.js +164 -0
  119. package/plugins/fancy-story-builder/scripts/content-quality.js +4 -1
  120. package/plugins/fancy-story-builder/scripts/flesh-validate.js +135 -12
  121. package/plugins/fancy-story-builder/scripts/graph-utils.js +146 -47
  122. package/plugins/fancy-story-builder/scripts/reference-log.js +110 -0
  123. package/plugins/fancy-story-builder/scripts/rhythm-validate.js +100 -4
  124. package/plugins/fancy-story-builder/scripts/schema-pages.js +2668 -0
  125. package/plugins/fancy-story-builder/scripts/semantic-lint.js +5 -1
  126. package/plugins/fancy-story-builder/scripts/skeleton-validate.js +158 -17
  127. package/plugins/fancy-story-builder/scripts/stage-batches.js +36 -2
  128. package/plugins/fancy-story-builder/scripts/stage-contract.js +12 -0
  129. package/plugins/fancy-story-builder/scripts/story-artifacts.js +933 -0
  130. package/plugins/fancy-story-builder/scripts/upstream-query.js +1 -1
  131. package/plugins/fancy-story-builder/scripts/v2/baseline.js +112 -0
  132. package/plugins/fancy-story-builder/scripts/v2/cast.js +517 -0
  133. package/plugins/fancy-story-builder/scripts/v2/context.js +434 -0
  134. package/plugins/fancy-story-builder/scripts/v2/contracts.js +493 -0
  135. package/plugins/fancy-story-builder/scripts/v2/core.js +419 -0
  136. package/plugins/fancy-story-builder/scripts/v2/engine.js +1068 -0
  137. package/plugins/fancy-story-builder/scripts/v2/export-markdown.js +794 -0
  138. package/plugins/fancy-story-builder/scripts/v2/genre.js +195 -0
  139. package/plugins/fancy-story-builder/scripts/v2/knowledge.js +321 -0
  140. package/plugins/fancy-story-builder/scripts/v2/macro.js +409 -0
  141. package/plugins/fancy-story-builder/scripts/v2/manifest.js +538 -0
  142. package/plugins/fancy-story-builder/scripts/v2/migrate.js +137 -0
  143. package/plugins/fancy-story-builder/scripts/v2/prompts.js +1335 -0
  144. package/plugins/fancy-story-builder/scripts/v2/rhythm.js +618 -0
  145. package/plugins/fancy-story-builder/scripts/v2/scale.js +843 -0
  146. package/plugins/fancy-story-builder/scripts/v2/snapshot.js +121 -0
  147. package/plugins/fancy-story-builder/scripts/v2/stages.js +273 -0
  148. package/plugins/fancy-story-builder/scripts/v2/writing.js +216 -0
  149. package/plugins/fancy-story-builder/storydb/README.md +271 -0
  150. package/plugins/fancy-story-builder/storydb/cli.js +458 -0
  151. package/plugins/fancy-story-builder/storydb/client.js +351 -0
  152. package/plugins/fancy-story-builder/storydb/compile.js +452 -0
  153. package/plugins/fancy-story-builder/storydb/context.js +288 -0
  154. package/plugins/fancy-story-builder/storydb/definitions.js +699 -0
  155. package/plugins/fancy-story-builder/storydb/driver.js +106 -0
  156. package/plugins/fancy-story-builder/storydb/dsh-tools.js +313 -0
  157. package/plugins/fancy-story-builder/storydb/export.js +175 -0
  158. package/plugins/fancy-story-builder/storydb/ids.js +31 -0
  159. package/plugins/fancy-story-builder/storydb/impact.js +170 -0
  160. package/plugins/fancy-story-builder/storydb/import.js +559 -0
  161. package/plugins/fancy-story-builder/storydb/mcp.js +99 -0
  162. package/plugins/fancy-story-builder/storydb/prompts.js +952 -0
  163. package/plugins/fancy-story-builder/storydb/stage-command.js +379 -0
  164. package/plugins/fancy-story-builder/storydb/stage.js +426 -0
  165. package/plugins/fancy-story-builder/storydb/store.js +891 -0
  166. package/plugins/fancy-story-builder/storydb/tools.js +592 -0
  167. package/plugins/fancy-story-builder/storydb/validation.js +183 -0
  168. package/plugins/fancy-story-builder/templates/v2/10-scale/scale-template.json +144 -0
  169. package/plugins/fancy-story-builder/templates/v2/20-macro/emotion-template.json +15 -0
  170. package/plugins/fancy-story-builder/templates/v2/20-macro/endings-template.json +16 -0
  171. package/plugins/fancy-story-builder/templates/v2/20-macro/lines-template.json +28 -0
  172. package/plugins/fancy-story-builder/templates/v2/20-macro/roles-template.json +10 -0
  173. package/plugins/fancy-story-builder/templates/v2/20-macro/story-template.json +19 -0
  174. package/plugins/fancy-story-builder/templates/v2/20-macro/volumes-template.json +24 -0
  175. package/plugins/fancy-story-builder/templates/v2/20-macro/world-template.json +24 -0
  176. package/plugins/fancy-story-builder/templates/v2/30-cast/characters-template.json +49 -0
  177. package/plugins/fancy-story-builder/templates/v2/30-cast/climaxes-template.json +14 -0
  178. package/plugins/fancy-story-builder/templates/v2/30-cast/conflicts-template.json +30 -0
  179. package/plugins/fancy-story-builder/templates/v2/30-cast/factions-template.json +18 -0
  180. package/plugins/fancy-story-builder/templates/v2/30-cast/foreshadows-template.json +29 -0
  181. package/plugins/fancy-story-builder/templates/v2/30-cast/information-template.json +29 -0
  182. package/plugins/fancy-story-builder/templates/v2/30-cast/items-template.json +13 -0
  183. package/plugins/fancy-story-builder/templates/v2/30-cast/locations-template.json +12 -0
  184. package/plugins/fancy-story-builder/templates/v2/30-cast/payoffs-template.json +16 -0
  185. package/plugins/fancy-story-builder/templates/v2/30-cast/relations-template.json +44 -0
  186. package/plugins/fancy-story-builder/templates/v2/40-rhythm/chapter-map-template.json +81 -0
  187. package/plugins/fancy-story-builder/templates/v2/40-rhythm/outline-template.json +162 -0
  188. package/plugins/fancy-story-builder/templates/v2/50-writing/ledger-template.json +46 -0
  189. package/plugins/fancy-story-builder/templates/v2/60-deslop/report-template.json +10 -0
  190. 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 +267 -44
  191. 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 +121 -19
  192. 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 +129 -21
  193. 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
  194. 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 +76 -17
  195. 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 +56 -8
  196. 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 +63 -13
  197. 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 +34 -6
  198. 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 +81 -18
  199. 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 +202 -42
  200. 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 +160 -27
  201. 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 +217 -41
  202. 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 +215 -41
  203. package/plugins/fancy-story-builder/templates.js +272 -74
  204. package/plugins/fancy-story-builder/wiki-references.js +429 -93
  205. package/plugins/fancy-story-builder/writing-driver.js +336 -9
  206. package/plugins/fancy-topic/index.js +414 -61
  207. package/plugins/fancy-topic/prompts/01-exploration-prompt.md +115 -0
  208. package/plugins/fancy-topic/scripts/save-suggestion.js +219 -0
  209. package/plugins/fancy-topic/scripts/select-topic.js +106 -63
  210. package/plugins/fancy-topic/templates.js +225 -122
  211. package/plugins/fancy-topic/tool-deploy.js +200 -0
  212. package/lib/safe-rm.js +0 -94
@@ -0,0 +1,3514 @@
1
+ {
2
+ "version": "2.2",
3
+ "base_words_per_chapter": 2000,
4
+ "default_profile": "default",
5
+ "aliases": {
6
+ "玄幻": "upgrade",
7
+ "仙侠": "upgrade",
8
+ "升级流": "upgrade",
9
+ "都市": "urban",
10
+ "都市爽文": "urban",
11
+ "悬疑": "suspense",
12
+ "推理": "suspense",
13
+ "规则怪谈": "suspense",
14
+ "言情": "romance",
15
+ "情感": "romance",
16
+ "群像": "ensemble",
17
+ "正剧": "ensemble",
18
+ "无限流": "infinite",
19
+ "副本": "infinite",
20
+ "历史": "history",
21
+ "军事": "history",
22
+ "末世": "apocalypse",
23
+ "科幻": "apocalypse"
24
+ },
25
+ "profiles": {
26
+ "default": {
27
+ "label": "通用",
28
+ "structure": {
29
+ "type": "serial",
30
+ "volume_chapters": [
31
+ 40,
32
+ 120
33
+ ],
34
+ "preferred_chapters_per_volume": 100,
35
+ "acts": {
36
+ "lt10": 1,
37
+ "10_25": 2,
38
+ "gt25": 3
39
+ }
40
+ },
41
+ "multipliers": {
42
+ "characters": 1,
43
+ "protagonist": 1,
44
+ "core_supporting": 1,
45
+ "core_antagonist": 1,
46
+ "volume_supporting": 1,
47
+ "volume_antagonist": 1,
48
+ "factions": 1,
49
+ "faction_relations": 1,
50
+ "locations": 1,
51
+ "items": 1,
52
+ "conflicts": 1,
53
+ "foreshadows": 1,
54
+ "climaxes": 1,
55
+ "pleasures": 1,
56
+ "world_rules": 1,
57
+ "information_gaps": 1,
58
+ "relations": 1,
59
+ "reversals": 1
60
+ },
61
+ "overrides": {
62
+ "fixed.character_elements.protagonist_count": [
63
+ 1,
64
+ 2
65
+ ],
66
+ "fixed.character_elements.core_supporting_count": [
67
+ 2,
68
+ 5
69
+ ],
70
+ "fixed.character_elements.core_antagonist_count": [
71
+ 1,
72
+ 3
73
+ ]
74
+ },
75
+ "distribution_weights": {
76
+ "new_entities": {
77
+ "first": 1.8,
78
+ "middle": 1,
79
+ "climax": 0.5,
80
+ "last": 0.3
81
+ },
82
+ "relationships": {
83
+ "first": 1.4,
84
+ "middle": 1,
85
+ "climax": 0.7,
86
+ "last": 0.5
87
+ },
88
+ "foreshadows": {
89
+ "first": 2,
90
+ "middle": 1,
91
+ "climax": 0.4,
92
+ "last": 0.2
93
+ },
94
+ "payoffs": {
95
+ "first": 0.6,
96
+ "middle": 1,
97
+ "climax": 1.8,
98
+ "last": 1.2
99
+ },
100
+ "climaxes": {
101
+ "first": 0.5,
102
+ "middle": 1,
103
+ "climax": 2,
104
+ "last": 1.4
105
+ },
106
+ "conflicts": {
107
+ "first": 0.8,
108
+ "middle": 1,
109
+ "climax": 1.6,
110
+ "last": 1.2
111
+ },
112
+ "information": {
113
+ "first": 1.4,
114
+ "middle": 1,
115
+ "climax": 0.7,
116
+ "last": 0.4
117
+ }
118
+ },
119
+ "quality": {
120
+ "emotion_jump_warning": 6,
121
+ "flatline_chapters": 3,
122
+ "protagonist_appearance_per_10": 7,
123
+ "core_supporting_appearance_per_10": 3,
124
+ "volume_supporting_retention": 0.4,
125
+ "large_foreshadow_recovery": 1,
126
+ "medium_foreshadow_recovery": 0.9,
127
+ "small_foreshadow_recovery": 0.7,
128
+ "payoff_gap_chapters": 8,
129
+ "climax_gap_chapters": 40
130
+ }
131
+ },
132
+ "upgrade": {
133
+ "label": "升级流/玄幻",
134
+ "structure": {
135
+ "type": "serial",
136
+ "volume_chapters": [
137
+ 60,
138
+ 120
139
+ ],
140
+ "preferred_chapters_per_volume": 90,
141
+ "acts": {
142
+ "lt10": 1,
143
+ "10_25": 2,
144
+ "gt25": 3
145
+ }
146
+ },
147
+ "multipliers": {
148
+ "characters": 1.3,
149
+ "protagonist": 1,
150
+ "core_supporting": 1.2,
151
+ "core_antagonist": 1.2,
152
+ "volume_supporting": 1.3,
153
+ "volume_antagonist": 1.3,
154
+ "factions": 1.5,
155
+ "faction_relations": 1.3,
156
+ "locations": 1.2,
157
+ "items": 1.3,
158
+ "conflicts": 1.2,
159
+ "foreshadows": 1,
160
+ "climaxes": 1.1,
161
+ "pleasures": 1.6,
162
+ "world_rules": 1.3,
163
+ "information_gaps": 0.8,
164
+ "relations": 1.1,
165
+ "reversals": 1
166
+ },
167
+ "overrides": {
168
+ "fixed.character_elements.protagonist_count": [
169
+ 1,
170
+ 2
171
+ ],
172
+ "fixed.character_elements.core_supporting_count": [
173
+ 2,
174
+ 5
175
+ ],
176
+ "fixed.character_elements.core_antagonist_count": [
177
+ 1,
178
+ 4
179
+ ]
180
+ },
181
+ "distribution_weights": {
182
+ "new_entities": {
183
+ "first": 1.6,
184
+ "middle": 1,
185
+ "climax": 0.6,
186
+ "last": 0.4
187
+ },
188
+ "relationships": {
189
+ "first": 1.3,
190
+ "middle": 1,
191
+ "climax": 0.8,
192
+ "last": 0.5
193
+ },
194
+ "foreshadows": {
195
+ "first": 1.8,
196
+ "middle": 1,
197
+ "climax": 0.5,
198
+ "last": 0.2
199
+ },
200
+ "payoffs": {
201
+ "first": 0.7,
202
+ "middle": 1,
203
+ "climax": 1.7,
204
+ "last": 1.2
205
+ },
206
+ "climaxes": {
207
+ "first": 0.5,
208
+ "middle": 1,
209
+ "climax": 2,
210
+ "last": 1.5
211
+ },
212
+ "conflicts": {
213
+ "first": 0.8,
214
+ "middle": 1,
215
+ "climax": 1.6,
216
+ "last": 1.2
217
+ },
218
+ "information": {
219
+ "first": 1.3,
220
+ "middle": 1,
221
+ "climax": 0.7,
222
+ "last": 0.4
223
+ }
224
+ },
225
+ "quality": {
226
+ "emotion_jump_warning": 6,
227
+ "flatline_chapters": 3,
228
+ "protagonist_appearance_per_10": 7,
229
+ "core_supporting_appearance_per_10": 3,
230
+ "volume_supporting_retention": 0.4,
231
+ "large_foreshadow_recovery": 1,
232
+ "medium_foreshadow_recovery": 0.9,
233
+ "small_foreshadow_recovery": 0.7,
234
+ "payoff_gap_chapters": 8,
235
+ "climax_gap_chapters": 40
236
+ }
237
+ },
238
+ "urban": {
239
+ "label": "都市爽文",
240
+ "structure": {
241
+ "type": "serial",
242
+ "volume_chapters": [
243
+ 40,
244
+ 100
245
+ ],
246
+ "preferred_chapters_per_volume": 70,
247
+ "acts": {
248
+ "lt10": 1,
249
+ "10_25": 2,
250
+ "gt25": 3
251
+ }
252
+ },
253
+ "multipliers": {
254
+ "characters": 1.1,
255
+ "protagonist": 1,
256
+ "core_supporting": 1,
257
+ "core_antagonist": 1,
258
+ "volume_supporting": 1.1,
259
+ "volume_antagonist": 1.1,
260
+ "factions": 1.2,
261
+ "faction_relations": 1.1,
262
+ "locations": 0.8,
263
+ "items": 1,
264
+ "conflicts": 1.1,
265
+ "foreshadows": 0.9,
266
+ "climaxes": 1,
267
+ "pleasures": 1.5,
268
+ "world_rules": 0.6,
269
+ "information_gaps": 0.9,
270
+ "relations": 1.2,
271
+ "reversals": 1
272
+ },
273
+ "overrides": {
274
+ "fixed.character_elements.protagonist_count": [
275
+ 1,
276
+ 2
277
+ ],
278
+ "fixed.character_elements.core_supporting_count": [
279
+ 2,
280
+ 5
281
+ ],
282
+ "fixed.character_elements.core_antagonist_count": [
283
+ 1,
284
+ 3
285
+ ]
286
+ },
287
+ "distribution_weights": {
288
+ "new_entities": {
289
+ "first": 1.7,
290
+ "middle": 1,
291
+ "climax": 0.5,
292
+ "last": 0.3
293
+ },
294
+ "relationships": {
295
+ "first": 1.4,
296
+ "middle": 1,
297
+ "climax": 0.7,
298
+ "last": 0.5
299
+ },
300
+ "foreshadows": {
301
+ "first": 1.8,
302
+ "middle": 1,
303
+ "climax": 0.4,
304
+ "last": 0.2
305
+ },
306
+ "payoffs": {
307
+ "first": 0.7,
308
+ "middle": 1,
309
+ "climax": 1.8,
310
+ "last": 1.2
311
+ },
312
+ "climaxes": {
313
+ "first": 0.5,
314
+ "middle": 1,
315
+ "climax": 2,
316
+ "last": 1.4
317
+ },
318
+ "conflicts": {
319
+ "first": 0.8,
320
+ "middle": 1,
321
+ "climax": 1.6,
322
+ "last": 1.2
323
+ },
324
+ "information": {
325
+ "first": 1.2,
326
+ "middle": 1,
327
+ "climax": 0.7,
328
+ "last": 0.4
329
+ }
330
+ },
331
+ "quality": {
332
+ "emotion_jump_warning": 6,
333
+ "flatline_chapters": 3,
334
+ "protagonist_appearance_per_10": 7,
335
+ "core_supporting_appearance_per_10": 3,
336
+ "volume_supporting_retention": 0.4,
337
+ "large_foreshadow_recovery": 1,
338
+ "medium_foreshadow_recovery": 0.9,
339
+ "small_foreshadow_recovery": 0.7,
340
+ "payoff_gap_chapters": 8,
341
+ "climax_gap_chapters": 40
342
+ }
343
+ },
344
+ "suspense": {
345
+ "label": "悬疑推理/规则怪谈",
346
+ "structure": {
347
+ "type": "unit",
348
+ "volume_chapters": [
349
+ 20,
350
+ 60
351
+ ],
352
+ "preferred_chapters_per_volume": 35,
353
+ "acts": {
354
+ "lt10": 1,
355
+ "10_25": 2,
356
+ "gt25": 3
357
+ }
358
+ },
359
+ "multipliers": {
360
+ "characters": 0.9,
361
+ "protagonist": 1,
362
+ "core_supporting": 0.9,
363
+ "core_antagonist": 1.2,
364
+ "volume_supporting": 0.9,
365
+ "volume_antagonist": 1.2,
366
+ "factions": 0.6,
367
+ "faction_relations": 0.8,
368
+ "locations": 1.4,
369
+ "items": 0.9,
370
+ "conflicts": 1.2,
371
+ "foreshadows": 1.4,
372
+ "climaxes": 1.2,
373
+ "pleasures": 0.6,
374
+ "world_rules": 0.9,
375
+ "information_gaps": 2.2,
376
+ "relations": 1,
377
+ "reversals": 1
378
+ },
379
+ "overrides": {
380
+ "fixed.character_elements.protagonist_count": [
381
+ 1,
382
+ 2
383
+ ],
384
+ "fixed.character_elements.core_supporting_count": [
385
+ 2,
386
+ 5
387
+ ],
388
+ "fixed.character_elements.core_antagonist_count": [
389
+ 1,
390
+ 4
391
+ ]
392
+ },
393
+ "distribution_weights": {
394
+ "new_entities": {
395
+ "first": 1.9,
396
+ "middle": 1,
397
+ "climax": 0.5,
398
+ "last": 0.2
399
+ },
400
+ "relationships": {
401
+ "first": 1.2,
402
+ "middle": 1,
403
+ "climax": 0.8,
404
+ "last": 0.5
405
+ },
406
+ "foreshadows": {
407
+ "first": 2.2,
408
+ "middle": 1,
409
+ "climax": 0.4,
410
+ "last": 0.2
411
+ },
412
+ "payoffs": {
413
+ "first": 0.5,
414
+ "middle": 1,
415
+ "climax": 2,
416
+ "last": 1.5
417
+ },
418
+ "climaxes": {
419
+ "first": 0.5,
420
+ "middle": 1,
421
+ "climax": 2.2,
422
+ "last": 1.6
423
+ },
424
+ "conflicts": {
425
+ "first": 0.8,
426
+ "middle": 1,
427
+ "climax": 1.8,
428
+ "last": 1.2
429
+ },
430
+ "information": {
431
+ "first": 1.8,
432
+ "middle": 1,
433
+ "climax": 0.8,
434
+ "last": 0.5
435
+ }
436
+ },
437
+ "quality": {
438
+ "emotion_jump_warning": 6,
439
+ "flatline_chapters": 3,
440
+ "protagonist_appearance_per_10": 6,
441
+ "core_supporting_appearance_per_10": 3,
442
+ "volume_supporting_retention": 0.35,
443
+ "large_foreshadow_recovery": 1,
444
+ "medium_foreshadow_recovery": 0.9,
445
+ "small_foreshadow_recovery": 0.7,
446
+ "payoff_gap_chapters": 10,
447
+ "climax_gap_chapters": 35
448
+ }
449
+ },
450
+ "romance": {
451
+ "label": "言情/情感",
452
+ "structure": {
453
+ "type": "serial",
454
+ "volume_chapters": [
455
+ 60,
456
+ 120
457
+ ],
458
+ "preferred_chapters_per_volume": 100,
459
+ "acts": {
460
+ "lt10": 1,
461
+ "10_25": 2,
462
+ "gt25": 3
463
+ }
464
+ },
465
+ "multipliers": {
466
+ "characters": 0.7,
467
+ "protagonist": 1,
468
+ "core_supporting": 0.8,
469
+ "core_antagonist": 0.8,
470
+ "volume_supporting": 0.7,
471
+ "volume_antagonist": 0.7,
472
+ "factions": 0.4,
473
+ "faction_relations": 0.6,
474
+ "locations": 0.5,
475
+ "items": 0.7,
476
+ "conflicts": 0.9,
477
+ "foreshadows": 1,
478
+ "climaxes": 0.9,
479
+ "pleasures": 0.9,
480
+ "world_rules": 0.4,
481
+ "information_gaps": 1,
482
+ "relations": 1.8,
483
+ "reversals": 1
484
+ },
485
+ "overrides": {
486
+ "fixed.character_elements.protagonist_count": [
487
+ 1,
488
+ 2
489
+ ],
490
+ "fixed.character_elements.core_supporting_count": [
491
+ 2,
492
+ 4
493
+ ],
494
+ "fixed.character_elements.core_antagonist_count": [
495
+ 1,
496
+ 3
497
+ ]
498
+ },
499
+ "distribution_weights": {
500
+ "new_entities": {
501
+ "first": 1.5,
502
+ "middle": 1,
503
+ "climax": 0.6,
504
+ "last": 0.4
505
+ },
506
+ "relationships": {
507
+ "first": 1.5,
508
+ "middle": 1.1,
509
+ "climax": 0.8,
510
+ "last": 0.5
511
+ },
512
+ "foreshadows": {
513
+ "first": 1.7,
514
+ "middle": 1,
515
+ "climax": 0.5,
516
+ "last": 0.2
517
+ },
518
+ "payoffs": {
519
+ "first": 0.7,
520
+ "middle": 1,
521
+ "climax": 1.6,
522
+ "last": 1.2
523
+ },
524
+ "climaxes": {
525
+ "first": 0.5,
526
+ "middle": 1,
527
+ "climax": 1.8,
528
+ "last": 1.4
529
+ },
530
+ "conflicts": {
531
+ "first": 0.9,
532
+ "middle": 1,
533
+ "climax": 1.5,
534
+ "last": 1.1
535
+ },
536
+ "information": {
537
+ "first": 1.2,
538
+ "middle": 1,
539
+ "climax": 0.7,
540
+ "last": 0.4
541
+ }
542
+ },
543
+ "quality": {
544
+ "emotion_jump_warning": 6,
545
+ "flatline_chapters": 3,
546
+ "protagonist_appearance_per_10": 8,
547
+ "core_supporting_appearance_per_10": 4,
548
+ "volume_supporting_retention": 0.45,
549
+ "large_foreshadow_recovery": 1,
550
+ "medium_foreshadow_recovery": 0.9,
551
+ "small_foreshadow_recovery": 0.7,
552
+ "payoff_gap_chapters": 10,
553
+ "climax_gap_chapters": 40
554
+ }
555
+ },
556
+ "ensemble": {
557
+ "label": "群像/正剧",
558
+ "structure": {
559
+ "type": "serial",
560
+ "volume_chapters": [
561
+ 50,
562
+ 120
563
+ ],
564
+ "preferred_chapters_per_volume": 100,
565
+ "acts": {
566
+ "lt10": 1,
567
+ "10_25": 2,
568
+ "gt25": 3
569
+ }
570
+ },
571
+ "multipliers": {
572
+ "characters": 1.6,
573
+ "protagonist": 1,
574
+ "core_supporting": 1.4,
575
+ "core_antagonist": 1.2,
576
+ "volume_supporting": 1.6,
577
+ "volume_antagonist": 1.3,
578
+ "factions": 1.6,
579
+ "faction_relations": 1.5,
580
+ "locations": 1.3,
581
+ "items": 1,
582
+ "conflicts": 1.3,
583
+ "foreshadows": 1.2,
584
+ "climaxes": 1.1,
585
+ "pleasures": 0.8,
586
+ "world_rules": 1.2,
587
+ "information_gaps": 1.3,
588
+ "relations": 1.7,
589
+ "reversals": 1
590
+ },
591
+ "overrides": {
592
+ "fixed.character_elements.protagonist_count": [
593
+ 1,
594
+ 3
595
+ ],
596
+ "fixed.character_elements.core_supporting_count": [
597
+ 3,
598
+ 6
599
+ ],
600
+ "fixed.character_elements.core_antagonist_count": [
601
+ 1,
602
+ 4
603
+ ]
604
+ },
605
+ "distribution_weights": {
606
+ "new_entities": {
607
+ "first": 1.7,
608
+ "middle": 1,
609
+ "climax": 0.6,
610
+ "last": 0.4
611
+ },
612
+ "relationships": {
613
+ "first": 1.5,
614
+ "middle": 1.1,
615
+ "climax": 0.8,
616
+ "last": 0.5
617
+ },
618
+ "foreshadows": {
619
+ "first": 1.8,
620
+ "middle": 1,
621
+ "climax": 0.5,
622
+ "last": 0.2
623
+ },
624
+ "payoffs": {
625
+ "first": 0.7,
626
+ "middle": 1,
627
+ "climax": 1.7,
628
+ "last": 1.2
629
+ },
630
+ "climaxes": {
631
+ "first": 0.5,
632
+ "middle": 1,
633
+ "climax": 1.9,
634
+ "last": 1.3
635
+ },
636
+ "conflicts": {
637
+ "first": 0.9,
638
+ "middle": 1,
639
+ "climax": 1.6,
640
+ "last": 1.2
641
+ },
642
+ "information": {
643
+ "first": 1.4,
644
+ "middle": 1,
645
+ "climax": 0.8,
646
+ "last": 0.4
647
+ }
648
+ },
649
+ "quality": {
650
+ "emotion_jump_warning": 6,
651
+ "flatline_chapters": 3,
652
+ "protagonist_appearance_per_10": 6,
653
+ "core_supporting_appearance_per_10": 4,
654
+ "volume_supporting_retention": 0.4,
655
+ "large_foreshadow_recovery": 1,
656
+ "medium_foreshadow_recovery": 0.9,
657
+ "small_foreshadow_recovery": 0.7,
658
+ "payoff_gap_chapters": 10,
659
+ "climax_gap_chapters": 40
660
+ }
661
+ },
662
+ "infinite": {
663
+ "label": "无限流/规则怪谈",
664
+ "structure": {
665
+ "type": "unit",
666
+ "volume_chapters": [
667
+ 20,
668
+ 60
669
+ ],
670
+ "preferred_chapters_per_volume": 35,
671
+ "acts": {
672
+ "lt10": 1,
673
+ "10_25": 2,
674
+ "gt25": 3
675
+ }
676
+ },
677
+ "multipliers": {
678
+ "characters": 1.2,
679
+ "protagonist": 1,
680
+ "core_supporting": 1,
681
+ "core_antagonist": 1,
682
+ "volume_supporting": 1.2,
683
+ "volume_antagonist": 1.2,
684
+ "factions": 0.8,
685
+ "faction_relations": 0.8,
686
+ "locations": 2,
687
+ "items": 1.2,
688
+ "conflicts": 1.2,
689
+ "foreshadows": 1.4,
690
+ "climaxes": 1.2,
691
+ "pleasures": 1.1,
692
+ "world_rules": 2,
693
+ "information_gaps": 2,
694
+ "relations": 0.9,
695
+ "reversals": 1
696
+ },
697
+ "overrides": {
698
+ "fixed.character_elements.protagonist_count": [
699
+ 1,
700
+ 2
701
+ ],
702
+ "fixed.character_elements.core_supporting_count": [
703
+ 2,
704
+ 5
705
+ ],
706
+ "fixed.character_elements.core_antagonist_count": [
707
+ 1,
708
+ 4
709
+ ]
710
+ },
711
+ "distribution_weights": {
712
+ "new_entities": {
713
+ "first": 1.8,
714
+ "middle": 1,
715
+ "climax": 0.6,
716
+ "last": 0.3
717
+ },
718
+ "relationships": {
719
+ "first": 1.2,
720
+ "middle": 1,
721
+ "climax": 0.8,
722
+ "last": 0.5
723
+ },
724
+ "foreshadows": {
725
+ "first": 2,
726
+ "middle": 1,
727
+ "climax": 0.5,
728
+ "last": 0.2
729
+ },
730
+ "payoffs": {
731
+ "first": 0.6,
732
+ "middle": 1,
733
+ "climax": 1.8,
734
+ "last": 1.2
735
+ },
736
+ "climaxes": {
737
+ "first": 0.5,
738
+ "middle": 1,
739
+ "climax": 2,
740
+ "last": 1.4
741
+ },
742
+ "conflicts": {
743
+ "first": 0.8,
744
+ "middle": 1,
745
+ "climax": 1.7,
746
+ "last": 1.2
747
+ },
748
+ "information": {
749
+ "first": 1.8,
750
+ "middle": 1,
751
+ "climax": 0.8,
752
+ "last": 0.4
753
+ }
754
+ },
755
+ "quality": {
756
+ "emotion_jump_warning": 6,
757
+ "flatline_chapters": 3,
758
+ "protagonist_appearance_per_10": 7,
759
+ "core_supporting_appearance_per_10": 3,
760
+ "volume_supporting_retention": 0.35,
761
+ "large_foreshadow_recovery": 1,
762
+ "medium_foreshadow_recovery": 0.9,
763
+ "small_foreshadow_recovery": 0.7,
764
+ "payoff_gap_chapters": 8,
765
+ "climax_gap_chapters": 30
766
+ }
767
+ },
768
+ "history": {
769
+ "label": "历史/军事",
770
+ "structure": {
771
+ "type": "serial",
772
+ "volume_chapters": [
773
+ 60,
774
+ 120
775
+ ],
776
+ "preferred_chapters_per_volume": 90,
777
+ "acts": {
778
+ "lt10": 1,
779
+ "10_25": 2,
780
+ "gt25": 3
781
+ }
782
+ },
783
+ "multipliers": {
784
+ "characters": 1.3,
785
+ "protagonist": 1,
786
+ "core_supporting": 1.1,
787
+ "core_antagonist": 1.2,
788
+ "volume_supporting": 1.3,
789
+ "volume_antagonist": 1.3,
790
+ "factions": 1.8,
791
+ "faction_relations": 1.8,
792
+ "locations": 1.5,
793
+ "items": 1.1,
794
+ "conflicts": 1.2,
795
+ "foreshadows": 1,
796
+ "climaxes": 1,
797
+ "pleasures": 0.9,
798
+ "world_rules": 1.4,
799
+ "information_gaps": 1.1,
800
+ "relations": 1.4,
801
+ "reversals": 1
802
+ },
803
+ "overrides": {
804
+ "fixed.character_elements.protagonist_count": [
805
+ 1,
806
+ 2
807
+ ],
808
+ "fixed.character_elements.core_supporting_count": [
809
+ 2,
810
+ 5
811
+ ],
812
+ "fixed.character_elements.core_antagonist_count": [
813
+ 1,
814
+ 4
815
+ ]
816
+ },
817
+ "distribution_weights": {
818
+ "new_entities": {
819
+ "first": 1.6,
820
+ "middle": 1,
821
+ "climax": 0.6,
822
+ "last": 0.4
823
+ },
824
+ "relationships": {
825
+ "first": 1.4,
826
+ "middle": 1.1,
827
+ "climax": 0.8,
828
+ "last": 0.5
829
+ },
830
+ "foreshadows": {
831
+ "first": 1.8,
832
+ "middle": 1,
833
+ "climax": 0.5,
834
+ "last": 0.2
835
+ },
836
+ "payoffs": {
837
+ "first": 0.7,
838
+ "middle": 1,
839
+ "climax": 1.7,
840
+ "last": 1.3
841
+ },
842
+ "climaxes": {
843
+ "first": 0.5,
844
+ "middle": 1,
845
+ "climax": 1.9,
846
+ "last": 1.4
847
+ },
848
+ "conflicts": {
849
+ "first": 0.8,
850
+ "middle": 1,
851
+ "climax": 1.7,
852
+ "last": 1.2
853
+ },
854
+ "information": {
855
+ "first": 1.3,
856
+ "middle": 1,
857
+ "climax": 0.8,
858
+ "last": 0.4
859
+ }
860
+ },
861
+ "quality": {
862
+ "emotion_jump_warning": 6,
863
+ "flatline_chapters": 3,
864
+ "protagonist_appearance_per_10": 6,
865
+ "core_supporting_appearance_per_10": 4,
866
+ "volume_supporting_retention": 0.45,
867
+ "large_foreshadow_recovery": 1,
868
+ "medium_foreshadow_recovery": 0.9,
869
+ "small_foreshadow_recovery": 0.7,
870
+ "payoff_gap_chapters": 10,
871
+ "climax_gap_chapters": 45
872
+ }
873
+ },
874
+ "apocalypse": {
875
+ "label": "末世/科幻",
876
+ "structure": {
877
+ "type": "serial",
878
+ "volume_chapters": [
879
+ 50,
880
+ 120
881
+ ],
882
+ "preferred_chapters_per_volume": 100,
883
+ "acts": {
884
+ "lt10": 1,
885
+ "10_25": 2,
886
+ "gt25": 3
887
+ }
888
+ },
889
+ "multipliers": {
890
+ "characters": 1.4,
891
+ "protagonist": 1,
892
+ "core_supporting": 1.2,
893
+ "core_antagonist": 1.2,
894
+ "volume_supporting": 1.4,
895
+ "volume_antagonist": 1.3,
896
+ "factions": 1.5,
897
+ "faction_relations": 1.4,
898
+ "locations": 1.6,
899
+ "items": 1.3,
900
+ "conflicts": 1.3,
901
+ "foreshadows": 1.1,
902
+ "climaxes": 1.2,
903
+ "pleasures": 1.2,
904
+ "world_rules": 1.6,
905
+ "information_gaps": 1.4,
906
+ "relations": 1.2,
907
+ "reversals": 1
908
+ },
909
+ "overrides": {
910
+ "fixed.character_elements.protagonist_count": [
911
+ 1,
912
+ 2
913
+ ],
914
+ "fixed.character_elements.core_supporting_count": [
915
+ 2,
916
+ 5
917
+ ],
918
+ "fixed.character_elements.core_antagonist_count": [
919
+ 1,
920
+ 4
921
+ ]
922
+ },
923
+ "distribution_weights": {
924
+ "new_entities": {
925
+ "first": 1.8,
926
+ "middle": 1,
927
+ "climax": 0.6,
928
+ "last": 0.3
929
+ },
930
+ "relationships": {
931
+ "first": 1.3,
932
+ "middle": 1,
933
+ "climax": 0.8,
934
+ "last": 0.5
935
+ },
936
+ "foreshadows": {
937
+ "first": 1.8,
938
+ "middle": 1,
939
+ "climax": 0.5,
940
+ "last": 0.2
941
+ },
942
+ "payoffs": {
943
+ "first": 0.6,
944
+ "middle": 1,
945
+ "climax": 1.8,
946
+ "last": 1.2
947
+ },
948
+ "climaxes": {
949
+ "first": 0.5,
950
+ "middle": 1,
951
+ "climax": 2,
952
+ "last": 1.4
953
+ },
954
+ "conflicts": {
955
+ "first": 0.8,
956
+ "middle": 1,
957
+ "climax": 1.7,
958
+ "last": 1.2
959
+ },
960
+ "information": {
961
+ "first": 1.5,
962
+ "middle": 1,
963
+ "climax": 0.8,
964
+ "last": 0.4
965
+ }
966
+ },
967
+ "quality": {
968
+ "emotion_jump_warning": 6,
969
+ "flatline_chapters": 3,
970
+ "protagonist_appearance_per_10": 7,
971
+ "core_supporting_appearance_per_10": 3,
972
+ "volume_supporting_retention": 0.4,
973
+ "large_foreshadow_recovery": 1,
974
+ "medium_foreshadow_recovery": 0.9,
975
+ "small_foreshadow_recovery": 0.7,
976
+ "payoff_gap_chapters": 8,
977
+ "climax_gap_chapters": 35
978
+ }
979
+ },
980
+ "tomato_xuanhuan_upgrade": {
981
+ "label": "传统玄幻/升级流",
982
+ "aliases": [
983
+ "传统玄幻",
984
+ "升级流",
985
+ "东方玄幻",
986
+ "奇幻仙侠",
987
+ "西方奇幻",
988
+ "原生幻想",
989
+ "轻小说",
990
+ "同人衍生"
991
+ ],
992
+ "channel": "男频",
993
+ "category": "玄幻",
994
+ "structure_feature": "长卷连续剧,地图逐步展开,等级体系清晰",
995
+ "structure": {
996
+ "type": "serial",
997
+ "volume_chapters": [
998
+ 60,
999
+ 120
1000
+ ],
1001
+ "preferred_chapters_per_volume": 90,
1002
+ "acts": {
1003
+ "lt10": 1,
1004
+ "10_25": 2,
1005
+ "gt25": 3
1006
+ }
1007
+ },
1008
+ "multipliers": {
1009
+ "characters": 1.3,
1010
+ "protagonist": 1,
1011
+ "core_supporting": 1.3,
1012
+ "core_antagonist": 1,
1013
+ "volume_supporting": 1.3,
1014
+ "volume_antagonist": 1.3,
1015
+ "factions": 1.5,
1016
+ "faction_relations": 1.5,
1017
+ "locations": 1.2,
1018
+ "items": 1,
1019
+ "conflicts": 0.9,
1020
+ "foreshadows": 0.85,
1021
+ "climaxes": 1.25,
1022
+ "pleasures": 1.6,
1023
+ "world_rules": 1.3,
1024
+ "information_gaps": 0.8,
1025
+ "relations": 1.1,
1026
+ "reversals": 0.9
1027
+ },
1028
+ "distribution_weights": {
1029
+ "new_entities": {
1030
+ "first": 1.6,
1031
+ "middle": 1,
1032
+ "climax": 0.6,
1033
+ "last": 0.4
1034
+ },
1035
+ "relationships": {
1036
+ "first": 1.4,
1037
+ "middle": 1.1,
1038
+ "climax": 0.8,
1039
+ "last": 0.5
1040
+ },
1041
+ "foreshadows": {
1042
+ "first": 1.8,
1043
+ "middle": 1,
1044
+ "climax": 0.5,
1045
+ "last": 0.2
1046
+ },
1047
+ "payoffs": {
1048
+ "first": 0.7,
1049
+ "middle": 1,
1050
+ "climax": 1.7,
1051
+ "last": 1.3
1052
+ },
1053
+ "climaxes": {
1054
+ "first": 0.5,
1055
+ "middle": 1,
1056
+ "climax": 1.9,
1057
+ "last": 1.4
1058
+ },
1059
+ "conflicts": {
1060
+ "first": 0.8,
1061
+ "middle": 1,
1062
+ "climax": 1.7,
1063
+ "last": 1.2
1064
+ },
1065
+ "information": {
1066
+ "first": 1.3,
1067
+ "middle": 1,
1068
+ "climax": 0.8,
1069
+ "last": 0.4
1070
+ }
1071
+ },
1072
+ "quality": {
1073
+ "emotion_jump_warning": 6,
1074
+ "flatline_chapters": 3,
1075
+ "protagonist_appearance_per_10": 6,
1076
+ "core_supporting_appearance_per_10": 4,
1077
+ "volume_supporting_retention": 0.45,
1078
+ "large_foreshadow_recovery": 1,
1079
+ "medium_foreshadow_recovery": 0.9,
1080
+ "small_foreshadow_recovery": 0.7,
1081
+ "payoff_gap_chapters": 10,
1082
+ "climax_gap_chapters": 45
1083
+ },
1084
+ "special_rules": [
1085
+ "升级粒度:大境界每卷 1-2 个,小等级每卷 3-5 个,技能装备与等级同步。",
1086
+ "地图节奏:每卷解锁 1-2 个新地图,新地图对应新势力与新等级上限。",
1087
+ "势力更迭:每 2-3 卷完成一次势力格局大洗牌,旧势力退场、新势力登场。"
1088
+ ]
1089
+ },
1090
+ "tomato_urban_warlord": {
1091
+ "label": "都市战神赘婿",
1092
+ "aliases": [
1093
+ "战神",
1094
+ "赘婿",
1095
+ "都市战神",
1096
+ "都市脑洞",
1097
+ "官场商战"
1098
+ ],
1099
+ "channel": "男频",
1100
+ "category": "都市",
1101
+ "structure_feature": "中短卷,快节奏打脸,身份反转密集",
1102
+ "structure": {
1103
+ "type": "serial",
1104
+ "volume_chapters": [
1105
+ 30,
1106
+ 80
1107
+ ],
1108
+ "preferred_chapters_per_volume": 50,
1109
+ "acts": {
1110
+ "lt10": 1,
1111
+ "10_25": 2,
1112
+ "gt25": 2
1113
+ }
1114
+ },
1115
+ "multipliers": {
1116
+ "characters": 1,
1117
+ "protagonist": 1,
1118
+ "core_supporting": 1,
1119
+ "core_antagonist": 1,
1120
+ "volume_supporting": 1,
1121
+ "volume_antagonist": 1,
1122
+ "factions": 1,
1123
+ "faction_relations": 1,
1124
+ "locations": 0.7,
1125
+ "items": 1,
1126
+ "conflicts": 1,
1127
+ "foreshadows": 0.85,
1128
+ "climaxes": 1.35,
1129
+ "pleasures": 1.7,
1130
+ "world_rules": 0.5,
1131
+ "information_gaps": 0.7,
1132
+ "relations": 1,
1133
+ "reversals": 1
1134
+ },
1135
+ "distribution_weights": {
1136
+ "new_entities": {
1137
+ "first": 1.7,
1138
+ "middle": 1,
1139
+ "climax": 0.5,
1140
+ "last": 0.3
1141
+ },
1142
+ "relationships": {
1143
+ "first": 1.4,
1144
+ "middle": 1,
1145
+ "climax": 0.7,
1146
+ "last": 0.5
1147
+ },
1148
+ "foreshadows": {
1149
+ "first": 1.8,
1150
+ "middle": 1,
1151
+ "climax": 0.4,
1152
+ "last": 0.2
1153
+ },
1154
+ "payoffs": {
1155
+ "first": 0.7,
1156
+ "middle": 1,
1157
+ "climax": 1.8,
1158
+ "last": 1.2
1159
+ },
1160
+ "climaxes": {
1161
+ "first": 0.5,
1162
+ "middle": 1,
1163
+ "climax": 2,
1164
+ "last": 1.4
1165
+ },
1166
+ "conflicts": {
1167
+ "first": 0.8,
1168
+ "middle": 1,
1169
+ "climax": 1.6,
1170
+ "last": 1.2
1171
+ },
1172
+ "information": {
1173
+ "first": 1.2,
1174
+ "middle": 1,
1175
+ "climax": 0.7,
1176
+ "last": 0.4
1177
+ }
1178
+ },
1179
+ "quality": {
1180
+ "emotion_jump_warning": 7,
1181
+ "flatline_chapters": 3,
1182
+ "protagonist_appearance_per_10": 7,
1183
+ "core_supporting_appearance_per_10": 3,
1184
+ "volume_supporting_retention": 0.4,
1185
+ "large_foreshadow_recovery": 1,
1186
+ "medium_foreshadow_recovery": 0.9,
1187
+ "small_foreshadow_recovery": 0.7,
1188
+ "payoff_gap_chapters": 3,
1189
+ "climax_gap_chapters": 40
1190
+ },
1191
+ "special_rules": [
1192
+ "身份反转:平均每 15 章一次小反转,每 50 章一次大身份揭露。",
1193
+ "打脸节奏:平均 3-5 章一个小打脸,10-15 章一个中打脸,每卷一个大打脸。",
1194
+ "人物精简:核心人物高度集中,配角工具属性强,关系复杂度低。"
1195
+ ]
1196
+ },
1197
+ "tomato_urban_farming": {
1198
+ "label": "都市种田/日常",
1199
+ "aliases": [
1200
+ "都市种田",
1201
+ "都市日常",
1202
+ "都市生活"
1203
+ ],
1204
+ "channel": "男频",
1205
+ "category": "都市",
1206
+ "structure_feature": "长卷慢热,邻里人际为核心,冲突偏生活化",
1207
+ "structure": {
1208
+ "type": "serial",
1209
+ "volume_chapters": [
1210
+ 60,
1211
+ 150
1212
+ ],
1213
+ "preferred_chapters_per_volume": 100,
1214
+ "acts": {
1215
+ "lt10": 1,
1216
+ "10_25": 2,
1217
+ "gt25": 3
1218
+ }
1219
+ },
1220
+ "multipliers": {
1221
+ "characters": 0.9,
1222
+ "protagonist": 1,
1223
+ "core_supporting": 0.9,
1224
+ "core_antagonist": 1,
1225
+ "volume_supporting": 0.9,
1226
+ "volume_antagonist": 0.9,
1227
+ "factions": 0.8,
1228
+ "faction_relations": 0.8,
1229
+ "locations": 1,
1230
+ "items": 1,
1231
+ "conflicts": 0.7,
1232
+ "foreshadows": 0.8,
1233
+ "climaxes": 0.9,
1234
+ "pleasures": 1.1,
1235
+ "world_rules": 0.4,
1236
+ "information_gaps": 0.6,
1237
+ "relations": 1.3,
1238
+ "reversals": 0.7
1239
+ },
1240
+ "distribution_weights": {
1241
+ "new_entities": {
1242
+ "first": 1.5,
1243
+ "middle": 1,
1244
+ "climax": 0.6,
1245
+ "last": 0.4
1246
+ },
1247
+ "relationships": {
1248
+ "first": 1.5,
1249
+ "middle": 1.1,
1250
+ "climax": 0.8,
1251
+ "last": 0.5
1252
+ },
1253
+ "foreshadows": {
1254
+ "first": 1.7,
1255
+ "middle": 1,
1256
+ "climax": 0.5,
1257
+ "last": 0.2
1258
+ },
1259
+ "payoffs": {
1260
+ "first": 0.7,
1261
+ "middle": 1,
1262
+ "climax": 1.6,
1263
+ "last": 1.2
1264
+ },
1265
+ "climaxes": {
1266
+ "first": 0.5,
1267
+ "middle": 1,
1268
+ "climax": 1.8,
1269
+ "last": 1.4
1270
+ },
1271
+ "conflicts": {
1272
+ "first": 0.9,
1273
+ "middle": 1,
1274
+ "climax": 1.5,
1275
+ "last": 1.1
1276
+ },
1277
+ "information": {
1278
+ "first": 1.2,
1279
+ "middle": 1,
1280
+ "climax": 0.7,
1281
+ "last": 0.4
1282
+ }
1283
+ },
1284
+ "quality": {
1285
+ "emotion_jump_warning": 5,
1286
+ "flatline_chapters": 8,
1287
+ "protagonist_appearance_per_10": 8,
1288
+ "core_supporting_appearance_per_10": 4,
1289
+ "volume_supporting_retention": 0.45,
1290
+ "large_foreshadow_recovery": 1,
1291
+ "medium_foreshadow_recovery": 0.9,
1292
+ "small_foreshadow_recovery": 0.7,
1293
+ "payoff_gap_chapters": 8,
1294
+ "climax_gap_chapters": 40
1295
+ }
1296
+ },
1297
+ "tomato_urban_cultivation": {
1298
+ "label": "都市修真/高武",
1299
+ "aliases": [
1300
+ "都市修真",
1301
+ "高武",
1302
+ "都市异能"
1303
+ ],
1304
+ "channel": "男频",
1305
+ "category": "都市",
1306
+ "structure_feature": "中长卷,都市+修炼双体系,势力逐步升级",
1307
+ "structure": {
1308
+ "type": "serial",
1309
+ "volume_chapters": [
1310
+ 40,
1311
+ 120
1312
+ ],
1313
+ "preferred_chapters_per_volume": 80,
1314
+ "acts": {
1315
+ "lt10": 1,
1316
+ "10_25": 2,
1317
+ "gt25": 3
1318
+ }
1319
+ },
1320
+ "multipliers": {
1321
+ "characters": 1.2,
1322
+ "protagonist": 1,
1323
+ "core_supporting": 1.2,
1324
+ "core_antagonist": 1,
1325
+ "volume_supporting": 1.2,
1326
+ "volume_antagonist": 1.2,
1327
+ "factions": 1.3,
1328
+ "faction_relations": 1.3,
1329
+ "locations": 1.1,
1330
+ "items": 1,
1331
+ "conflicts": 1.1,
1332
+ "foreshadows": 1.05,
1333
+ "climaxes": 1.3,
1334
+ "pleasures": 1.5,
1335
+ "world_rules": 1.1,
1336
+ "information_gaps": 1,
1337
+ "relations": 1,
1338
+ "reversals": 1.1
1339
+ },
1340
+ "distribution_weights": {
1341
+ "new_entities": {
1342
+ "first": 1.8,
1343
+ "middle": 1,
1344
+ "climax": 0.5,
1345
+ "last": 0.3
1346
+ },
1347
+ "relationships": {
1348
+ "first": 1.4,
1349
+ "middle": 1,
1350
+ "climax": 0.7,
1351
+ "last": 0.5
1352
+ },
1353
+ "foreshadows": {
1354
+ "first": 2,
1355
+ "middle": 1,
1356
+ "climax": 0.4,
1357
+ "last": 0.2
1358
+ },
1359
+ "payoffs": {
1360
+ "first": 0.6,
1361
+ "middle": 1,
1362
+ "climax": 1.8,
1363
+ "last": 1.2
1364
+ },
1365
+ "climaxes": {
1366
+ "first": 0.5,
1367
+ "middle": 1,
1368
+ "climax": 2,
1369
+ "last": 1.4
1370
+ },
1371
+ "conflicts": {
1372
+ "first": 0.8,
1373
+ "middle": 1,
1374
+ "climax": 1.6,
1375
+ "last": 1.2
1376
+ },
1377
+ "information": {
1378
+ "first": 1.4,
1379
+ "middle": 1,
1380
+ "climax": 0.7,
1381
+ "last": 0.4
1382
+ }
1383
+ },
1384
+ "quality": {
1385
+ "emotion_jump_warning": 6,
1386
+ "flatline_chapters": 3,
1387
+ "protagonist_appearance_per_10": 7,
1388
+ "core_supporting_appearance_per_10": 3,
1389
+ "volume_supporting_retention": 0.4,
1390
+ "large_foreshadow_recovery": 1,
1391
+ "medium_foreshadow_recovery": 0.9,
1392
+ "small_foreshadow_recovery": 0.7,
1393
+ "payoff_gap_chapters": 8,
1394
+ "climax_gap_chapters": 40
1395
+ }
1396
+ },
1397
+ "tomato_history_war": {
1398
+ "label": "历史争霸/权谋",
1399
+ "aliases": [
1400
+ "历史争霸",
1401
+ "历史权谋",
1402
+ "架空争霸",
1403
+ "历史古代",
1404
+ "军事",
1405
+ "历史架空"
1406
+ ],
1407
+ "channel": "男频",
1408
+ "category": "历史",
1409
+ "structure_feature": "长卷连续剧,势力博弈为核心,格局宏大",
1410
+ "structure": {
1411
+ "type": "serial",
1412
+ "volume_chapters": [
1413
+ 60,
1414
+ 120
1415
+ ],
1416
+ "preferred_chapters_per_volume": 90,
1417
+ "acts": {
1418
+ "lt10": 1,
1419
+ "10_25": 2,
1420
+ "gt25": 3
1421
+ }
1422
+ },
1423
+ "multipliers": {
1424
+ "characters": 1.3,
1425
+ "protagonist": 1,
1426
+ "core_supporting": 1.3,
1427
+ "core_antagonist": 1,
1428
+ "volume_supporting": 1.3,
1429
+ "volume_antagonist": 1.3,
1430
+ "factions": 1.8,
1431
+ "faction_relations": 1.8,
1432
+ "locations": 1.5,
1433
+ "items": 1,
1434
+ "conflicts": 1.1,
1435
+ "foreshadows": 1.1,
1436
+ "climaxes": 1,
1437
+ "pleasures": 0.9,
1438
+ "world_rules": 1.4,
1439
+ "information_gaps": 1.1,
1440
+ "relations": 1.4,
1441
+ "reversals": 1.1
1442
+ },
1443
+ "distribution_weights": {
1444
+ "new_entities": {
1445
+ "first": 1.6,
1446
+ "middle": 1,
1447
+ "climax": 0.6,
1448
+ "last": 0.4
1449
+ },
1450
+ "relationships": {
1451
+ "first": 1.4,
1452
+ "middle": 1.1,
1453
+ "climax": 0.8,
1454
+ "last": 0.5
1455
+ },
1456
+ "foreshadows": {
1457
+ "first": 1.8,
1458
+ "middle": 1,
1459
+ "climax": 0.5,
1460
+ "last": 0.2
1461
+ },
1462
+ "payoffs": {
1463
+ "first": 0.7,
1464
+ "middle": 1,
1465
+ "climax": 1.7,
1466
+ "last": 1.3
1467
+ },
1468
+ "climaxes": {
1469
+ "first": 0.5,
1470
+ "middle": 1,
1471
+ "climax": 1.9,
1472
+ "last": 1.4
1473
+ },
1474
+ "conflicts": {
1475
+ "first": 0.8,
1476
+ "middle": 1,
1477
+ "climax": 1.7,
1478
+ "last": 1.2
1479
+ },
1480
+ "information": {
1481
+ "first": 1.3,
1482
+ "middle": 1,
1483
+ "climax": 0.8,
1484
+ "last": 0.4
1485
+ }
1486
+ },
1487
+ "quality": {
1488
+ "emotion_jump_warning": 6,
1489
+ "flatline_chapters": 3,
1490
+ "protagonist_appearance_per_10": 6,
1491
+ "core_supporting_appearance_per_10": 4,
1492
+ "volume_supporting_retention": 0.45,
1493
+ "large_foreshadow_recovery": 1,
1494
+ "medium_foreshadow_recovery": 0.9,
1495
+ "small_foreshadow_recovery": 0.7,
1496
+ "payoff_gap_chapters": 10,
1497
+ "climax_gap_chapters": 45
1498
+ },
1499
+ "special_rules": [
1500
+ "势力关系:同盟、敌对、中立、附庸四级,关系数按 1.5 倍处理。",
1501
+ "战役节点:每卷至少 1-2 场关键战役,对应大高潮节点。",
1502
+ "经营/战争比例:基建经营线与战争线按 3:7 分配。"
1503
+ ]
1504
+ },
1505
+ "tomato_history_farming": {
1506
+ "label": "历史种田/经营",
1507
+ "aliases": [
1508
+ "历史种田",
1509
+ "历史经营",
1510
+ "种田经营"
1511
+ ],
1512
+ "channel": "男频",
1513
+ "category": "历史",
1514
+ "structure_feature": "中长卷,基建经营为主,冲突偏缓和",
1515
+ "structure": {
1516
+ "type": "serial",
1517
+ "volume_chapters": [
1518
+ 60,
1519
+ 150
1520
+ ],
1521
+ "preferred_chapters_per_volume": 100,
1522
+ "acts": {
1523
+ "lt10": 1,
1524
+ "10_25": 2,
1525
+ "gt25": 3
1526
+ }
1527
+ },
1528
+ "multipliers": {
1529
+ "characters": 1,
1530
+ "protagonist": 1,
1531
+ "core_supporting": 1,
1532
+ "core_antagonist": 1,
1533
+ "volume_supporting": 1,
1534
+ "volume_antagonist": 1,
1535
+ "factions": 1.2,
1536
+ "faction_relations": 1.2,
1537
+ "locations": 1.3,
1538
+ "items": 1,
1539
+ "conflicts": 0.8,
1540
+ "foreshadows": 0.8,
1541
+ "climaxes": 0.9,
1542
+ "pleasures": 1,
1543
+ "world_rules": 1,
1544
+ "information_gaps": 0.7,
1545
+ "relations": 1.2,
1546
+ "reversals": 0.8
1547
+ },
1548
+ "distribution_weights": {
1549
+ "new_entities": {
1550
+ "first": 1.5,
1551
+ "middle": 1,
1552
+ "climax": 0.6,
1553
+ "last": 0.4
1554
+ },
1555
+ "relationships": {
1556
+ "first": 1.5,
1557
+ "middle": 1.1,
1558
+ "climax": 0.8,
1559
+ "last": 0.5
1560
+ },
1561
+ "foreshadows": {
1562
+ "first": 1.7,
1563
+ "middle": 1,
1564
+ "climax": 0.5,
1565
+ "last": 0.2
1566
+ },
1567
+ "payoffs": {
1568
+ "first": 0.7,
1569
+ "middle": 1,
1570
+ "climax": 1.6,
1571
+ "last": 1.2
1572
+ },
1573
+ "climaxes": {
1574
+ "first": 0.5,
1575
+ "middle": 1,
1576
+ "climax": 1.8,
1577
+ "last": 1.4
1578
+ },
1579
+ "conflicts": {
1580
+ "first": 0.9,
1581
+ "middle": 1,
1582
+ "climax": 1.5,
1583
+ "last": 1.1
1584
+ },
1585
+ "information": {
1586
+ "first": 1.2,
1587
+ "middle": 1,
1588
+ "climax": 0.7,
1589
+ "last": 0.4
1590
+ }
1591
+ },
1592
+ "quality": {
1593
+ "emotion_jump_warning": 5,
1594
+ "flatline_chapters": 8,
1595
+ "protagonist_appearance_per_10": 8,
1596
+ "core_supporting_appearance_per_10": 4,
1597
+ "volume_supporting_retention": 0.45,
1598
+ "large_foreshadow_recovery": 1,
1599
+ "medium_foreshadow_recovery": 0.9,
1600
+ "small_foreshadow_recovery": 0.7,
1601
+ "payoff_gap_chapters": 8,
1602
+ "climax_gap_chapters": 40
1603
+ }
1604
+ },
1605
+ "tomato_suspense_reasoning": {
1606
+ "label": "悬疑推理",
1607
+ "aliases": [
1608
+ "悬疑推理",
1609
+ "推理",
1610
+ "悬疑脑洞"
1611
+ ],
1612
+ "channel": "男频",
1613
+ "category": "悬疑灵异",
1614
+ "structure_feature": "单元剧结构,强信息差驱动,反转密集",
1615
+ "structure": {
1616
+ "type": "unit",
1617
+ "volume_chapters": [
1618
+ 20,
1619
+ 50
1620
+ ],
1621
+ "preferred_chapters_per_volume": 30,
1622
+ "acts": {
1623
+ "lt10": 1,
1624
+ "10_25": 1,
1625
+ "gt25": 2
1626
+ }
1627
+ },
1628
+ "multipliers": {
1629
+ "characters": 0.9,
1630
+ "protagonist": 1,
1631
+ "core_supporting": 0.9,
1632
+ "core_antagonist": 1,
1633
+ "volume_supporting": 0.9,
1634
+ "volume_antagonist": 0.9,
1635
+ "factions": 0.6,
1636
+ "faction_relations": 0.6,
1637
+ "locations": 1.4,
1638
+ "items": 1,
1639
+ "conflicts": 2,
1640
+ "foreshadows": 2.1,
1641
+ "climaxes": 1.3,
1642
+ "pleasures": 0.6,
1643
+ "world_rules": 0.9,
1644
+ "information_gaps": 2.2,
1645
+ "relations": 1,
1646
+ "reversals": 2
1647
+ },
1648
+ "distribution_weights": {
1649
+ "new_entities": {
1650
+ "first": 1.9,
1651
+ "middle": 1,
1652
+ "climax": 0.5,
1653
+ "last": 0.2
1654
+ },
1655
+ "relationships": {
1656
+ "first": 1.2,
1657
+ "middle": 1,
1658
+ "climax": 0.8,
1659
+ "last": 0.5
1660
+ },
1661
+ "foreshadows": {
1662
+ "first": 2.2,
1663
+ "middle": 1,
1664
+ "climax": 0.4,
1665
+ "last": 0.2
1666
+ },
1667
+ "payoffs": {
1668
+ "first": 0.5,
1669
+ "middle": 1,
1670
+ "climax": 2,
1671
+ "last": 1.5
1672
+ },
1673
+ "climaxes": {
1674
+ "first": 0.5,
1675
+ "middle": 1,
1676
+ "climax": 2.2,
1677
+ "last": 1.6
1678
+ },
1679
+ "conflicts": {
1680
+ "first": 0.8,
1681
+ "middle": 1,
1682
+ "climax": 1.8,
1683
+ "last": 1.2
1684
+ },
1685
+ "information": {
1686
+ "first": 1.8,
1687
+ "middle": 1,
1688
+ "climax": 0.8,
1689
+ "last": 0.5
1690
+ }
1691
+ },
1692
+ "quality": {
1693
+ "emotion_jump_warning": 7,
1694
+ "flatline_chapters": 6,
1695
+ "protagonist_appearance_per_10": 6,
1696
+ "core_supporting_appearance_per_10": 3,
1697
+ "volume_supporting_retention": 0.35,
1698
+ "large_foreshadow_recovery": 1,
1699
+ "medium_foreshadow_recovery": 0.9,
1700
+ "small_foreshadow_recovery": 0.7,
1701
+ "payoff_gap_chapters": 8,
1702
+ "climax_gap_chapters": 5
1703
+ }
1704
+ },
1705
+ "tomato_suspense_rule": {
1706
+ "label": "灵异惊悚/规则怪谈",
1707
+ "aliases": [
1708
+ "灵异惊悚",
1709
+ "规则怪谈",
1710
+ "灵异"
1711
+ ],
1712
+ "channel": "男频",
1713
+ "category": "悬疑灵异",
1714
+ "structure_feature": "短卷单元剧,每副本新场景新规则,氛围优先",
1715
+ "structure": {
1716
+ "type": "unit",
1717
+ "volume_chapters": [
1718
+ 20,
1719
+ 50
1720
+ ],
1721
+ "preferred_chapters_per_volume": 30,
1722
+ "acts": {
1723
+ "lt10": 1,
1724
+ "10_25": 1,
1725
+ "gt25": 2
1726
+ }
1727
+ },
1728
+ "multipliers": {
1729
+ "characters": 1,
1730
+ "protagonist": 1,
1731
+ "core_supporting": 1,
1732
+ "core_antagonist": 1,
1733
+ "volume_supporting": 1,
1734
+ "volume_antagonist": 1,
1735
+ "factions": 0.7,
1736
+ "faction_relations": 0.7,
1737
+ "locations": 1.8,
1738
+ "items": 1,
1739
+ "conflicts": 1.7,
1740
+ "foreshadows": 1.85,
1741
+ "climaxes": 1.25,
1742
+ "pleasures": 0.8,
1743
+ "world_rules": 2,
1744
+ "information_gaps": 2,
1745
+ "relations": 0.9,
1746
+ "reversals": 1.7
1747
+ },
1748
+ "distribution_weights": {
1749
+ "new_entities": {
1750
+ "first": 1.9,
1751
+ "middle": 1,
1752
+ "climax": 0.5,
1753
+ "last": 0.2
1754
+ },
1755
+ "relationships": {
1756
+ "first": 1.2,
1757
+ "middle": 1,
1758
+ "climax": 0.8,
1759
+ "last": 0.5
1760
+ },
1761
+ "foreshadows": {
1762
+ "first": 2.2,
1763
+ "middle": 1,
1764
+ "climax": 0.4,
1765
+ "last": 0.2
1766
+ },
1767
+ "payoffs": {
1768
+ "first": 0.5,
1769
+ "middle": 1,
1770
+ "climax": 2,
1771
+ "last": 1.5
1772
+ },
1773
+ "climaxes": {
1774
+ "first": 0.5,
1775
+ "middle": 1,
1776
+ "climax": 2.2,
1777
+ "last": 1.6
1778
+ },
1779
+ "conflicts": {
1780
+ "first": 0.8,
1781
+ "middle": 1,
1782
+ "climax": 1.8,
1783
+ "last": 1.2
1784
+ },
1785
+ "information": {
1786
+ "first": 1.8,
1787
+ "middle": 1,
1788
+ "climax": 0.8,
1789
+ "last": 0.5
1790
+ }
1791
+ },
1792
+ "quality": {
1793
+ "emotion_jump_warning": 7,
1794
+ "flatline_chapters": 6,
1795
+ "protagonist_appearance_per_10": 6,
1796
+ "core_supporting_appearance_per_10": 3,
1797
+ "volume_supporting_retention": 0.35,
1798
+ "large_foreshadow_recovery": 1,
1799
+ "medium_foreshadow_recovery": 0.9,
1800
+ "small_foreshadow_recovery": 0.7,
1801
+ "payoff_gap_chapters": 8,
1802
+ "climax_gap_chapters": 5
1803
+ },
1804
+ "special_rules": [
1805
+ "规则密度:每副本(卷)核心规则 5-8 条。",
1806
+ "氛围节点:平均每 2-3 章一个惊悚点。",
1807
+ "副本独立:每卷独立闭环,新副本新实体占比不低于 70%。"
1808
+ ]
1809
+ },
1810
+ "tomato_apocalypse": {
1811
+ "label": "末世危机",
1812
+ "aliases": [
1813
+ "末世",
1814
+ "末世危机",
1815
+ "进化变异",
1816
+ "星际科幻",
1817
+ "赛博朋克"
1818
+ ],
1819
+ "channel": "男频",
1820
+ "category": "科幻",
1821
+ "structure_feature": "中长卷,世界观+生存双线,实体更新快",
1822
+ "structure": {
1823
+ "type": "serial",
1824
+ "volume_chapters": [
1825
+ 60,
1826
+ 120
1827
+ ],
1828
+ "preferred_chapters_per_volume": 90,
1829
+ "acts": {
1830
+ "lt10": 1,
1831
+ "10_25": 2,
1832
+ "gt25": 3
1833
+ }
1834
+ },
1835
+ "multipliers": {
1836
+ "characters": 1.4,
1837
+ "protagonist": 1,
1838
+ "core_supporting": 1.4,
1839
+ "core_antagonist": 1,
1840
+ "volume_supporting": 1.4,
1841
+ "volume_antagonist": 1.4,
1842
+ "factions": 1.5,
1843
+ "faction_relations": 1.5,
1844
+ "locations": 1.6,
1845
+ "items": 1,
1846
+ "conflicts": 1.3,
1847
+ "foreshadows": 1.35,
1848
+ "climaxes": 1.25,
1849
+ "pleasures": 1.2,
1850
+ "world_rules": 1.6,
1851
+ "information_gaps": 1.4,
1852
+ "relations": 1.2,
1853
+ "reversals": 1.3
1854
+ },
1855
+ "distribution_weights": {
1856
+ "new_entities": {
1857
+ "first": 1.6,
1858
+ "middle": 1,
1859
+ "climax": 0.6,
1860
+ "last": 0.4
1861
+ },
1862
+ "relationships": {
1863
+ "first": 1.4,
1864
+ "middle": 1.1,
1865
+ "climax": 0.8,
1866
+ "last": 0.5
1867
+ },
1868
+ "foreshadows": {
1869
+ "first": 1.8,
1870
+ "middle": 1,
1871
+ "climax": 0.5,
1872
+ "last": 0.2
1873
+ },
1874
+ "payoffs": {
1875
+ "first": 0.7,
1876
+ "middle": 1,
1877
+ "climax": 1.7,
1878
+ "last": 1.3
1879
+ },
1880
+ "climaxes": {
1881
+ "first": 0.5,
1882
+ "middle": 1,
1883
+ "climax": 1.9,
1884
+ "last": 1.4
1885
+ },
1886
+ "conflicts": {
1887
+ "first": 0.8,
1888
+ "middle": 1,
1889
+ "climax": 1.7,
1890
+ "last": 1.2
1891
+ },
1892
+ "information": {
1893
+ "first": 1.3,
1894
+ "middle": 1,
1895
+ "climax": 0.8,
1896
+ "last": 0.4
1897
+ }
1898
+ },
1899
+ "quality": {
1900
+ "emotion_jump_warning": 6,
1901
+ "flatline_chapters": 3,
1902
+ "protagonist_appearance_per_10": 6,
1903
+ "core_supporting_appearance_per_10": 4,
1904
+ "volume_supporting_retention": 0.45,
1905
+ "large_foreshadow_recovery": 1,
1906
+ "medium_foreshadow_recovery": 0.9,
1907
+ "small_foreshadow_recovery": 0.7,
1908
+ "payoff_gap_chapters": 10,
1909
+ "climax_gap_chapters": 45
1910
+ }
1911
+ },
1912
+ "tomato_game": {
1913
+ "label": "网游/游戏异界",
1914
+ "aliases": [
1915
+ "网游",
1916
+ "游戏异界",
1917
+ "电子竞技",
1918
+ "无限流",
1919
+ "网游竞技"
1920
+ ],
1921
+ "channel": "男频",
1922
+ "category": "游戏",
1923
+ "structure_feature": "单元剧+连续剧结合,副本/赛季制结构",
1924
+ "structure": {
1925
+ "type": "hybrid",
1926
+ "volume_chapters": [
1927
+ 30,
1928
+ 90
1929
+ ],
1930
+ "preferred_chapters_per_volume": 60,
1931
+ "acts": {
1932
+ "lt10": 1,
1933
+ "10_25": 2,
1934
+ "gt25": 3
1935
+ }
1936
+ },
1937
+ "multipliers": {
1938
+ "characters": 1.2,
1939
+ "protagonist": 1,
1940
+ "core_supporting": 1.2,
1941
+ "core_antagonist": 1,
1942
+ "volume_supporting": 1.2,
1943
+ "volume_antagonist": 1.2,
1944
+ "factions": 1.2,
1945
+ "faction_relations": 1.2,
1946
+ "locations": 1.5,
1947
+ "items": 1,
1948
+ "conflicts": 1.2,
1949
+ "foreshadows": 1.1,
1950
+ "climaxes": 1.3,
1951
+ "pleasures": 1.4,
1952
+ "world_rules": 1.2,
1953
+ "information_gaps": 1,
1954
+ "relations": 1,
1955
+ "reversals": 1.2
1956
+ },
1957
+ "distribution_weights": {
1958
+ "new_entities": {
1959
+ "first": 1.8,
1960
+ "middle": 1,
1961
+ "climax": 0.5,
1962
+ "last": 0.3
1963
+ },
1964
+ "relationships": {
1965
+ "first": 1.4,
1966
+ "middle": 1,
1967
+ "climax": 0.7,
1968
+ "last": 0.5
1969
+ },
1970
+ "foreshadows": {
1971
+ "first": 2,
1972
+ "middle": 1,
1973
+ "climax": 0.4,
1974
+ "last": 0.2
1975
+ },
1976
+ "payoffs": {
1977
+ "first": 0.6,
1978
+ "middle": 1,
1979
+ "climax": 1.8,
1980
+ "last": 1.2
1981
+ },
1982
+ "climaxes": {
1983
+ "first": 0.5,
1984
+ "middle": 1,
1985
+ "climax": 2,
1986
+ "last": 1.4
1987
+ },
1988
+ "conflicts": {
1989
+ "first": 0.8,
1990
+ "middle": 1,
1991
+ "climax": 1.6,
1992
+ "last": 1.2
1993
+ },
1994
+ "information": {
1995
+ "first": 1.4,
1996
+ "middle": 1,
1997
+ "climax": 0.7,
1998
+ "last": 0.4
1999
+ }
2000
+ },
2001
+ "quality": {
2002
+ "emotion_jump_warning": 6,
2003
+ "flatline_chapters": 3,
2004
+ "protagonist_appearance_per_10": 7,
2005
+ "core_supporting_appearance_per_10": 3,
2006
+ "volume_supporting_retention": 0.4,
2007
+ "large_foreshadow_recovery": 1,
2008
+ "medium_foreshadow_recovery": 0.9,
2009
+ "small_foreshadow_recovery": 0.7,
2010
+ "payoff_gap_chapters": 8,
2011
+ "climax_gap_chapters": 40
2012
+ }
2013
+ },
2014
+ "tomato_wuxia": {
2015
+ "label": "传统武侠",
2016
+ "aliases": [
2017
+ "传统武侠",
2018
+ "武侠",
2019
+ "国术武技",
2020
+ "武侠脑洞"
2021
+ ],
2022
+ "channel": "男频",
2023
+ "category": "武侠",
2024
+ "structure_feature": "中长卷,江湖恩怨为主,门派势力清晰",
2025
+ "structure": {
2026
+ "type": "serial",
2027
+ "volume_chapters": [
2028
+ 60,
2029
+ 120
2030
+ ],
2031
+ "preferred_chapters_per_volume": 90,
2032
+ "acts": {
2033
+ "lt10": 1,
2034
+ "10_25": 2,
2035
+ "gt25": 3
2036
+ }
2037
+ },
2038
+ "multipliers": {
2039
+ "characters": 1.1,
2040
+ "protagonist": 1,
2041
+ "core_supporting": 1.1,
2042
+ "core_antagonist": 1,
2043
+ "volume_supporting": 1.1,
2044
+ "volume_antagonist": 1.1,
2045
+ "factions": 1.1,
2046
+ "faction_relations": 1.1,
2047
+ "locations": 1.3,
2048
+ "items": 1,
2049
+ "conflicts": 1,
2050
+ "foreshadows": 1,
2051
+ "climaxes": 1,
2052
+ "pleasures": 1,
2053
+ "world_rules": 0.8,
2054
+ "information_gaps": 1,
2055
+ "relations": 1.3,
2056
+ "reversals": 1
2057
+ },
2058
+ "distribution_weights": {
2059
+ "new_entities": {
2060
+ "first": 1.6,
2061
+ "middle": 1,
2062
+ "climax": 0.6,
2063
+ "last": 0.4
2064
+ },
2065
+ "relationships": {
2066
+ "first": 1.4,
2067
+ "middle": 1.1,
2068
+ "climax": 0.8,
2069
+ "last": 0.5
2070
+ },
2071
+ "foreshadows": {
2072
+ "first": 1.8,
2073
+ "middle": 1,
2074
+ "climax": 0.5,
2075
+ "last": 0.2
2076
+ },
2077
+ "payoffs": {
2078
+ "first": 0.7,
2079
+ "middle": 1,
2080
+ "climax": 1.7,
2081
+ "last": 1.3
2082
+ },
2083
+ "climaxes": {
2084
+ "first": 0.5,
2085
+ "middle": 1,
2086
+ "climax": 1.9,
2087
+ "last": 1.4
2088
+ },
2089
+ "conflicts": {
2090
+ "first": 0.8,
2091
+ "middle": 1,
2092
+ "climax": 1.7,
2093
+ "last": 1.2
2094
+ },
2095
+ "information": {
2096
+ "first": 1.3,
2097
+ "middle": 1,
2098
+ "climax": 0.8,
2099
+ "last": 0.4
2100
+ }
2101
+ },
2102
+ "quality": {
2103
+ "emotion_jump_warning": 6,
2104
+ "flatline_chapters": 3,
2105
+ "protagonist_appearance_per_10": 6,
2106
+ "core_supporting_appearance_per_10": 4,
2107
+ "volume_supporting_retention": 0.45,
2108
+ "large_foreshadow_recovery": 1,
2109
+ "medium_foreshadow_recovery": 0.9,
2110
+ "small_foreshadow_recovery": 0.7,
2111
+ "payoff_gap_chapters": 10,
2112
+ "climax_gap_chapters": 45
2113
+ }
2114
+ },
2115
+ "tomato_urban_appraisal": {
2116
+ "label": "都市鉴宝/神医",
2117
+ "aliases": [
2118
+ "鉴宝",
2119
+ "神医",
2120
+ "都市鉴宝"
2121
+ ],
2122
+ "channel": "男频",
2123
+ "category": "都市",
2124
+ "structure_feature": "中短卷,金手指主导,单元式打脸剧情",
2125
+ "structure": {
2126
+ "type": "serial",
2127
+ "volume_chapters": [
2128
+ 30,
2129
+ 80
2130
+ ],
2131
+ "preferred_chapters_per_volume": 50,
2132
+ "acts": {
2133
+ "lt10": 1,
2134
+ "10_25": 2,
2135
+ "gt25": 2
2136
+ }
2137
+ },
2138
+ "multipliers": {
2139
+ "characters": 0.9,
2140
+ "protagonist": 1,
2141
+ "core_supporting": 0.9,
2142
+ "core_antagonist": 1,
2143
+ "volume_supporting": 0.9,
2144
+ "volume_antagonist": 0.9,
2145
+ "factions": 0.9,
2146
+ "faction_relations": 0.9,
2147
+ "locations": 0.8,
2148
+ "items": 1,
2149
+ "conflicts": 0.9,
2150
+ "foreshadows": 0.85,
2151
+ "climaxes": 1.25,
2152
+ "pleasures": 1.6,
2153
+ "world_rules": 0.5,
2154
+ "information_gaps": 0.8,
2155
+ "relations": 1.1,
2156
+ "reversals": 0.9
2157
+ },
2158
+ "distribution_weights": {
2159
+ "new_entities": {
2160
+ "first": 1.7,
2161
+ "middle": 1,
2162
+ "climax": 0.5,
2163
+ "last": 0.3
2164
+ },
2165
+ "relationships": {
2166
+ "first": 1.4,
2167
+ "middle": 1,
2168
+ "climax": 0.7,
2169
+ "last": 0.5
2170
+ },
2171
+ "foreshadows": {
2172
+ "first": 1.8,
2173
+ "middle": 1,
2174
+ "climax": 0.4,
2175
+ "last": 0.2
2176
+ },
2177
+ "payoffs": {
2178
+ "first": 0.7,
2179
+ "middle": 1,
2180
+ "climax": 1.8,
2181
+ "last": 1.2
2182
+ },
2183
+ "climaxes": {
2184
+ "first": 0.5,
2185
+ "middle": 1,
2186
+ "climax": 2,
2187
+ "last": 1.4
2188
+ },
2189
+ "conflicts": {
2190
+ "first": 0.8,
2191
+ "middle": 1,
2192
+ "climax": 1.6,
2193
+ "last": 1.2
2194
+ },
2195
+ "information": {
2196
+ "first": 1.2,
2197
+ "middle": 1,
2198
+ "climax": 0.7,
2199
+ "last": 0.4
2200
+ }
2201
+ },
2202
+ "quality": {
2203
+ "emotion_jump_warning": 7,
2204
+ "flatline_chapters": 3,
2205
+ "protagonist_appearance_per_10": 7,
2206
+ "core_supporting_appearance_per_10": 3,
2207
+ "volume_supporting_retention": 0.4,
2208
+ "large_foreshadow_recovery": 1,
2209
+ "medium_foreshadow_recovery": 0.9,
2210
+ "small_foreshadow_recovery": 0.7,
2211
+ "payoff_gap_chapters": 3,
2212
+ "climax_gap_chapters": 40
2213
+ }
2214
+ },
2215
+ "tomato_romance_ancient_power": {
2216
+ "label": "古风世情/权谋",
2217
+ "aliases": [
2218
+ "古风世情",
2219
+ "古言权谋",
2220
+ "女强权谋",
2221
+ "古言脑洞"
2222
+ ],
2223
+ "channel": "女频",
2224
+ "category": "古言",
2225
+ "structure_feature": "长卷连续剧,人物关系+家族博弈为核心",
2226
+ "structure": {
2227
+ "type": "serial",
2228
+ "volume_chapters": [
2229
+ 40,
2230
+ 120
2231
+ ],
2232
+ "preferred_chapters_per_volume": 80,
2233
+ "acts": {
2234
+ "lt10": 1,
2235
+ "10_25": 2,
2236
+ "gt25": 3
2237
+ }
2238
+ },
2239
+ "multipliers": {
2240
+ "characters": 1.1,
2241
+ "protagonist": 1,
2242
+ "core_supporting": 1.1,
2243
+ "core_antagonist": 1,
2244
+ "volume_supporting": 1.1,
2245
+ "volume_antagonist": 1.1,
2246
+ "factions": 1.2,
2247
+ "faction_relations": 1.2,
2248
+ "locations": 1.1,
2249
+ "items": 1,
2250
+ "conflicts": 1.3,
2251
+ "foreshadows": 1.35,
2252
+ "climaxes": 1.15,
2253
+ "pleasures": 1,
2254
+ "world_rules": 0.9,
2255
+ "information_gaps": 1.4,
2256
+ "relations": 1.6,
2257
+ "reversals": 1.3
2258
+ },
2259
+ "distribution_weights": {
2260
+ "new_entities": {
2261
+ "first": 1.8,
2262
+ "middle": 1,
2263
+ "climax": 0.5,
2264
+ "last": 0.3
2265
+ },
2266
+ "relationships": {
2267
+ "first": 1.4,
2268
+ "middle": 1,
2269
+ "climax": 0.7,
2270
+ "last": 0.5
2271
+ },
2272
+ "foreshadows": {
2273
+ "first": 2,
2274
+ "middle": 1,
2275
+ "climax": 0.4,
2276
+ "last": 0.2
2277
+ },
2278
+ "payoffs": {
2279
+ "first": 0.6,
2280
+ "middle": 1,
2281
+ "climax": 1.8,
2282
+ "last": 1.2
2283
+ },
2284
+ "climaxes": {
2285
+ "first": 0.5,
2286
+ "middle": 1,
2287
+ "climax": 2,
2288
+ "last": 1.4
2289
+ },
2290
+ "conflicts": {
2291
+ "first": 0.8,
2292
+ "middle": 1,
2293
+ "climax": 1.6,
2294
+ "last": 1.2
2295
+ },
2296
+ "information": {
2297
+ "first": 1.4,
2298
+ "middle": 1,
2299
+ "climax": 0.7,
2300
+ "last": 0.4
2301
+ }
2302
+ },
2303
+ "quality": {
2304
+ "emotion_jump_warning": 6,
2305
+ "flatline_chapters": 3,
2306
+ "protagonist_appearance_per_10": 7,
2307
+ "core_supporting_appearance_per_10": 3,
2308
+ "volume_supporting_retention": 0.4,
2309
+ "large_foreshadow_recovery": 1,
2310
+ "medium_foreshadow_recovery": 0.9,
2311
+ "small_foreshadow_recovery": 0.7,
2312
+ "payoff_gap_chapters": 8,
2313
+ "climax_gap_chapters": 40
2314
+ },
2315
+ "special_rules": [
2316
+ "关系层级:家族、主仆、姻亲、政交四级关系,关系总数按 1.6 倍处理。",
2317
+ "宅斗/权谋:宅斗线与权谋线按 6:4 分配,信息差核心集中在宅斗层级。",
2318
+ "情感权重:情感线占比 30%-40%,不主导但贯穿全程。"
2319
+ ]
2320
+ },
2321
+ "tomato_romance_palace": {
2322
+ "label": "宫斗宅斗",
2323
+ "aliases": [
2324
+ "宫斗",
2325
+ "宅斗",
2326
+ "宫斗宅斗"
2327
+ ],
2328
+ "channel": "女频",
2329
+ "category": "古言",
2330
+ "structure_feature": "中长卷,封闭场景内斗,信息差博弈密集",
2331
+ "structure": {
2332
+ "type": "serial",
2333
+ "volume_chapters": [
2334
+ 40,
2335
+ 120
2336
+ ],
2337
+ "preferred_chapters_per_volume": 80,
2338
+ "acts": {
2339
+ "lt10": 1,
2340
+ "10_25": 2,
2341
+ "gt25": 3
2342
+ }
2343
+ },
2344
+ "multipliers": {
2345
+ "characters": 0.9,
2346
+ "protagonist": 1,
2347
+ "core_supporting": 0.9,
2348
+ "core_antagonist": 1,
2349
+ "volume_supporting": 0.9,
2350
+ "volume_antagonist": 0.9,
2351
+ "factions": 0.8,
2352
+ "faction_relations": 0.8,
2353
+ "locations": 0.6,
2354
+ "items": 1,
2355
+ "conflicts": 1.5,
2356
+ "foreshadows": 1.55,
2357
+ "climaxes": 1.3,
2358
+ "pleasures": 1.1,
2359
+ "world_rules": 0.4,
2360
+ "information_gaps": 1.6,
2361
+ "relations": 1.8,
2362
+ "reversals": 1.5
2363
+ },
2364
+ "distribution_weights": {
2365
+ "new_entities": {
2366
+ "first": 1.8,
2367
+ "middle": 1,
2368
+ "climax": 0.5,
2369
+ "last": 0.3
2370
+ },
2371
+ "relationships": {
2372
+ "first": 1.4,
2373
+ "middle": 1,
2374
+ "climax": 0.7,
2375
+ "last": 0.5
2376
+ },
2377
+ "foreshadows": {
2378
+ "first": 2,
2379
+ "middle": 1,
2380
+ "climax": 0.4,
2381
+ "last": 0.2
2382
+ },
2383
+ "payoffs": {
2384
+ "first": 0.6,
2385
+ "middle": 1,
2386
+ "climax": 1.8,
2387
+ "last": 1.2
2388
+ },
2389
+ "climaxes": {
2390
+ "first": 0.5,
2391
+ "middle": 1,
2392
+ "climax": 2,
2393
+ "last": 1.4
2394
+ },
2395
+ "conflicts": {
2396
+ "first": 0.8,
2397
+ "middle": 1,
2398
+ "climax": 1.6,
2399
+ "last": 1.2
2400
+ },
2401
+ "information": {
2402
+ "first": 1.4,
2403
+ "middle": 1,
2404
+ "climax": 0.7,
2405
+ "last": 0.4
2406
+ }
2407
+ },
2408
+ "quality": {
2409
+ "emotion_jump_warning": 6,
2410
+ "flatline_chapters": 3,
2411
+ "protagonist_appearance_per_10": 7,
2412
+ "core_supporting_appearance_per_10": 3,
2413
+ "volume_supporting_retention": 0.4,
2414
+ "large_foreshadow_recovery": 1,
2415
+ "medium_foreshadow_recovery": 0.9,
2416
+ "small_foreshadow_recovery": 0.7,
2417
+ "payoff_gap_chapters": 8,
2418
+ "climax_gap_chapters": 40
2419
+ }
2420
+ },
2421
+ "tomato_romance_ancient_farming": {
2422
+ "label": "古言种田",
2423
+ "aliases": [
2424
+ "古言种田",
2425
+ "古代种田"
2426
+ ],
2427
+ "channel": "女频",
2428
+ "category": "古言",
2429
+ "structure_feature": "长卷慢热,邻里家庭关系为主,经营成长线",
2430
+ "structure": {
2431
+ "type": "serial",
2432
+ "volume_chapters": [
2433
+ 60,
2434
+ 150
2435
+ ],
2436
+ "preferred_chapters_per_volume": 100,
2437
+ "acts": {
2438
+ "lt10": 1,
2439
+ "10_25": 2,
2440
+ "gt25": 3
2441
+ }
2442
+ },
2443
+ "multipliers": {
2444
+ "characters": 0.8,
2445
+ "protagonist": 1,
2446
+ "core_supporting": 0.8,
2447
+ "core_antagonist": 1,
2448
+ "volume_supporting": 0.8,
2449
+ "volume_antagonist": 0.8,
2450
+ "factions": 0.7,
2451
+ "faction_relations": 0.7,
2452
+ "locations": 1,
2453
+ "items": 1,
2454
+ "conflicts": 0.7,
2455
+ "foreshadows": 0.8,
2456
+ "climaxes": 0.9,
2457
+ "pleasures": 0.9,
2458
+ "world_rules": 0.5,
2459
+ "information_gaps": 0.6,
2460
+ "relations": 1.5,
2461
+ "reversals": 0.7
2462
+ },
2463
+ "distribution_weights": {
2464
+ "new_entities": {
2465
+ "first": 1.5,
2466
+ "middle": 1,
2467
+ "climax": 0.6,
2468
+ "last": 0.4
2469
+ },
2470
+ "relationships": {
2471
+ "first": 1.5,
2472
+ "middle": 1.1,
2473
+ "climax": 0.8,
2474
+ "last": 0.5
2475
+ },
2476
+ "foreshadows": {
2477
+ "first": 1.7,
2478
+ "middle": 1,
2479
+ "climax": 0.5,
2480
+ "last": 0.2
2481
+ },
2482
+ "payoffs": {
2483
+ "first": 0.7,
2484
+ "middle": 1,
2485
+ "climax": 1.6,
2486
+ "last": 1.2
2487
+ },
2488
+ "climaxes": {
2489
+ "first": 0.5,
2490
+ "middle": 1,
2491
+ "climax": 1.8,
2492
+ "last": 1.4
2493
+ },
2494
+ "conflicts": {
2495
+ "first": 0.9,
2496
+ "middle": 1,
2497
+ "climax": 1.5,
2498
+ "last": 1.1
2499
+ },
2500
+ "information": {
2501
+ "first": 1.2,
2502
+ "middle": 1,
2503
+ "climax": 0.7,
2504
+ "last": 0.4
2505
+ }
2506
+ },
2507
+ "quality": {
2508
+ "emotion_jump_warning": 5,
2509
+ "flatline_chapters": 8,
2510
+ "protagonist_appearance_per_10": 8,
2511
+ "core_supporting_appearance_per_10": 4,
2512
+ "volume_supporting_retention": 0.45,
2513
+ "large_foreshadow_recovery": 1,
2514
+ "medium_foreshadow_recovery": 0.9,
2515
+ "small_foreshadow_recovery": 0.7,
2516
+ "payoff_gap_chapters": 8,
2517
+ "climax_gap_chapters": 40
2518
+ }
2519
+ },
2520
+ "tomato_romance_ceo": {
2521
+ "label": "豪门总裁/现言爽文",
2522
+ "aliases": [
2523
+ "豪门总裁",
2524
+ "总裁",
2525
+ "现言爽文",
2526
+ "职场婚恋",
2527
+ "现言脑洞"
2528
+ ],
2529
+ "channel": "女频",
2530
+ "category": "现言",
2531
+ "structure_feature": "中短卷,情感拉扯+身份反转,节奏快",
2532
+ "structure": {
2533
+ "type": "serial",
2534
+ "volume_chapters": [
2535
+ 30,
2536
+ 80
2537
+ ],
2538
+ "preferred_chapters_per_volume": 50,
2539
+ "acts": {
2540
+ "lt10": 1,
2541
+ "10_25": 2,
2542
+ "gt25": 2
2543
+ }
2544
+ },
2545
+ "multipliers": {
2546
+ "characters": 0.9,
2547
+ "protagonist": 1,
2548
+ "core_supporting": 0.9,
2549
+ "core_antagonist": 1,
2550
+ "volume_supporting": 0.9,
2551
+ "volume_antagonist": 0.9,
2552
+ "factions": 1,
2553
+ "faction_relations": 1,
2554
+ "locations": 0.7,
2555
+ "items": 1,
2556
+ "conflicts": 1.2,
2557
+ "foreshadows": 1.15,
2558
+ "climaxes": 1.25,
2559
+ "pleasures": 1.3,
2560
+ "world_rules": 0.5,
2561
+ "information_gaps": 1.1,
2562
+ "relations": 1.4,
2563
+ "reversals": 1.2
2564
+ },
2565
+ "distribution_weights": {
2566
+ "new_entities": {
2567
+ "first": 1.7,
2568
+ "middle": 1,
2569
+ "climax": 0.5,
2570
+ "last": 0.3
2571
+ },
2572
+ "relationships": {
2573
+ "first": 1.4,
2574
+ "middle": 1,
2575
+ "climax": 0.7,
2576
+ "last": 0.5
2577
+ },
2578
+ "foreshadows": {
2579
+ "first": 1.8,
2580
+ "middle": 1,
2581
+ "climax": 0.4,
2582
+ "last": 0.2
2583
+ },
2584
+ "payoffs": {
2585
+ "first": 0.7,
2586
+ "middle": 1,
2587
+ "climax": 1.8,
2588
+ "last": 1.2
2589
+ },
2590
+ "climaxes": {
2591
+ "first": 0.5,
2592
+ "middle": 1,
2593
+ "climax": 2,
2594
+ "last": 1.4
2595
+ },
2596
+ "conflicts": {
2597
+ "first": 0.8,
2598
+ "middle": 1,
2599
+ "climax": 1.6,
2600
+ "last": 1.2
2601
+ },
2602
+ "information": {
2603
+ "first": 1.2,
2604
+ "middle": 1,
2605
+ "climax": 0.7,
2606
+ "last": 0.4
2607
+ }
2608
+ },
2609
+ "quality": {
2610
+ "emotion_jump_warning": 7,
2611
+ "flatline_chapters": 3,
2612
+ "protagonist_appearance_per_10": 7,
2613
+ "core_supporting_appearance_per_10": 3,
2614
+ "volume_supporting_retention": 0.4,
2615
+ "large_foreshadow_recovery": 1,
2616
+ "medium_foreshadow_recovery": 0.9,
2617
+ "small_foreshadow_recovery": 0.7,
2618
+ "payoff_gap_chapters": 3,
2619
+ "climax_gap_chapters": 40
2620
+ },
2621
+ "special_rules": [
2622
+ "情感拉扯:平均每 5 章一次情感波动,误会-和解-再误会循环。",
2623
+ "身份反转:马甲、身世、秘密类反转密集,平均每 20 章一次中反转。",
2624
+ "场景集中:核心场景不超过 5 个,地点复用率高。"
2625
+ ]
2626
+ },
2627
+ "tomato_romance_sweet": {
2628
+ "label": "青春甜宠",
2629
+ "aliases": [
2630
+ "青春甜宠",
2631
+ "甜宠",
2632
+ "校园言情"
2633
+ ],
2634
+ "channel": "女频",
2635
+ "category": "现言",
2636
+ "structure_feature": "长卷聚焦,双人情感为绝对核心,冲突少",
2637
+ "structure": {
2638
+ "type": "serial",
2639
+ "volume_chapters": [
2640
+ 60,
2641
+ 150
2642
+ ],
2643
+ "preferred_chapters_per_volume": 100,
2644
+ "acts": {
2645
+ "lt10": 1,
2646
+ "10_25": 2,
2647
+ "gt25": 3
2648
+ }
2649
+ },
2650
+ "multipliers": {
2651
+ "characters": 0.7,
2652
+ "protagonist": 1,
2653
+ "core_supporting": 0.8,
2654
+ "core_antagonist": 1,
2655
+ "volume_supporting": 0.7,
2656
+ "volume_antagonist": 0.7,
2657
+ "factions": 0.4,
2658
+ "faction_relations": 0.6,
2659
+ "locations": 0.5,
2660
+ "items": 1,
2661
+ "conflicts": 0.8,
2662
+ "foreshadows": 0.8,
2663
+ "climaxes": 0.9,
2664
+ "pleasures": 0.8,
2665
+ "world_rules": 0.3,
2666
+ "information_gaps": 0.7,
2667
+ "relations": 1.7,
2668
+ "reversals": 0.8
2669
+ },
2670
+ "distribution_weights": {
2671
+ "new_entities": {
2672
+ "first": 1.5,
2673
+ "middle": 1,
2674
+ "climax": 0.6,
2675
+ "last": 0.4
2676
+ },
2677
+ "relationships": {
2678
+ "first": 1.5,
2679
+ "middle": 1.1,
2680
+ "climax": 0.8,
2681
+ "last": 0.5
2682
+ },
2683
+ "foreshadows": {
2684
+ "first": 1.7,
2685
+ "middle": 1,
2686
+ "climax": 0.5,
2687
+ "last": 0.2
2688
+ },
2689
+ "payoffs": {
2690
+ "first": 0.7,
2691
+ "middle": 1,
2692
+ "climax": 1.6,
2693
+ "last": 1.2
2694
+ },
2695
+ "climaxes": {
2696
+ "first": 0.5,
2697
+ "middle": 1,
2698
+ "climax": 1.8,
2699
+ "last": 1.4
2700
+ },
2701
+ "conflicts": {
2702
+ "first": 0.9,
2703
+ "middle": 1,
2704
+ "climax": 1.5,
2705
+ "last": 1.1
2706
+ },
2707
+ "information": {
2708
+ "first": 1.2,
2709
+ "middle": 1,
2710
+ "climax": 0.7,
2711
+ "last": 0.4
2712
+ }
2713
+ },
2714
+ "quality": {
2715
+ "emotion_jump_warning": 5,
2716
+ "flatline_chapters": 8,
2717
+ "protagonist_appearance_per_10": 8,
2718
+ "core_supporting_appearance_per_10": 4,
2719
+ "volume_supporting_retention": 0.45,
2720
+ "large_foreshadow_recovery": 1,
2721
+ "medium_foreshadow_recovery": 0.9,
2722
+ "small_foreshadow_recovery": 0.7,
2723
+ "payoff_gap_chapters": 8,
2724
+ "climax_gap_chapters": 40
2725
+ }
2726
+ },
2727
+ "tomato_romance_era": {
2728
+ "label": "年代文",
2729
+ "aliases": [
2730
+ "年代文",
2731
+ "年代"
2732
+ ],
2733
+ "channel": "女频",
2734
+ "category": "现言",
2735
+ "structure_feature": "中长卷,时代背景下的家庭/事业双线",
2736
+ "structure": {
2737
+ "type": "serial",
2738
+ "volume_chapters": [
2739
+ 60,
2740
+ 150
2741
+ ],
2742
+ "preferred_chapters_per_volume": 100,
2743
+ "acts": {
2744
+ "lt10": 1,
2745
+ "10_25": 2,
2746
+ "gt25": 3
2747
+ }
2748
+ },
2749
+ "multipliers": {
2750
+ "characters": 0.9,
2751
+ "protagonist": 1,
2752
+ "core_supporting": 0.9,
2753
+ "core_antagonist": 1,
2754
+ "volume_supporting": 0.9,
2755
+ "volume_antagonist": 0.9,
2756
+ "factions": 0.9,
2757
+ "faction_relations": 0.9,
2758
+ "locations": 1,
2759
+ "items": 1,
2760
+ "conflicts": 0.9,
2761
+ "foreshadows": 0.85,
2762
+ "climaxes": 0.95,
2763
+ "pleasures": 1,
2764
+ "world_rules": 0.6,
2765
+ "information_gaps": 0.8,
2766
+ "relations": 1.5,
2767
+ "reversals": 0.9
2768
+ },
2769
+ "distribution_weights": {
2770
+ "new_entities": {
2771
+ "first": 1.5,
2772
+ "middle": 1,
2773
+ "climax": 0.6,
2774
+ "last": 0.4
2775
+ },
2776
+ "relationships": {
2777
+ "first": 1.5,
2778
+ "middle": 1.1,
2779
+ "climax": 0.8,
2780
+ "last": 0.5
2781
+ },
2782
+ "foreshadows": {
2783
+ "first": 1.7,
2784
+ "middle": 1,
2785
+ "climax": 0.5,
2786
+ "last": 0.2
2787
+ },
2788
+ "payoffs": {
2789
+ "first": 0.7,
2790
+ "middle": 1,
2791
+ "climax": 1.6,
2792
+ "last": 1.2
2793
+ },
2794
+ "climaxes": {
2795
+ "first": 0.5,
2796
+ "middle": 1,
2797
+ "climax": 1.8,
2798
+ "last": 1.4
2799
+ },
2800
+ "conflicts": {
2801
+ "first": 0.9,
2802
+ "middle": 1,
2803
+ "climax": 1.5,
2804
+ "last": 1.1
2805
+ },
2806
+ "information": {
2807
+ "first": 1.2,
2808
+ "middle": 1,
2809
+ "climax": 0.7,
2810
+ "last": 0.4
2811
+ }
2812
+ },
2813
+ "quality": {
2814
+ "emotion_jump_warning": 5,
2815
+ "flatline_chapters": 8,
2816
+ "protagonist_appearance_per_10": 8,
2817
+ "core_supporting_appearance_per_10": 4,
2818
+ "volume_supporting_retention": 0.45,
2819
+ "large_foreshadow_recovery": 1,
2820
+ "medium_foreshadow_recovery": 0.9,
2821
+ "small_foreshadow_recovery": 0.7,
2822
+ "payoff_gap_chapters": 8,
2823
+ "climax_gap_chapters": 40
2824
+ },
2825
+ "special_rules": [
2826
+ "时代节点:关键剧情节点对应真实历史事件,剧情与时代背景强绑定。",
2827
+ "经营/情感:事业经营线与家庭情感线按 5:5 分配。",
2828
+ "人物圈层:人物圈子相对稳定,新人物引入速度慢,人物总数偏少。"
2829
+ ]
2830
+ },
2831
+ "tomato_romance_suspense": {
2832
+ "label": "悬疑恋爱/推理言情",
2833
+ "aliases": [
2834
+ "悬疑恋爱",
2835
+ "推理言情",
2836
+ "悬疑言情"
2837
+ ],
2838
+ "channel": "女频",
2839
+ "category": "现言",
2840
+ "structure_feature": "单元剧结构,案件+情感双线推进",
2841
+ "structure": {
2842
+ "type": "unit",
2843
+ "volume_chapters": [
2844
+ 20,
2845
+ 50
2846
+ ],
2847
+ "preferred_chapters_per_volume": 30,
2848
+ "acts": {
2849
+ "lt10": 1,
2850
+ "10_25": 1,
2851
+ "gt25": 2
2852
+ }
2853
+ },
2854
+ "multipliers": {
2855
+ "characters": 1,
2856
+ "protagonist": 1,
2857
+ "core_supporting": 1,
2858
+ "core_antagonist": 1,
2859
+ "volume_supporting": 1,
2860
+ "volume_antagonist": 1,
2861
+ "factions": 0.7,
2862
+ "faction_relations": 0.7,
2863
+ "locations": 1.3,
2864
+ "items": 1,
2865
+ "conflicts": 1.8,
2866
+ "foreshadows": 1.9,
2867
+ "climaxes": 1.25,
2868
+ "pleasures": 0.7,
2869
+ "world_rules": 0.8,
2870
+ "information_gaps": 2,
2871
+ "relations": 1.3,
2872
+ "reversals": 1.8
2873
+ },
2874
+ "distribution_weights": {
2875
+ "new_entities": {
2876
+ "first": 1.9,
2877
+ "middle": 1,
2878
+ "climax": 0.5,
2879
+ "last": 0.2
2880
+ },
2881
+ "relationships": {
2882
+ "first": 1.2,
2883
+ "middle": 1,
2884
+ "climax": 0.8,
2885
+ "last": 0.5
2886
+ },
2887
+ "foreshadows": {
2888
+ "first": 2.2,
2889
+ "middle": 1,
2890
+ "climax": 0.4,
2891
+ "last": 0.2
2892
+ },
2893
+ "payoffs": {
2894
+ "first": 0.5,
2895
+ "middle": 1,
2896
+ "climax": 2,
2897
+ "last": 1.5
2898
+ },
2899
+ "climaxes": {
2900
+ "first": 0.5,
2901
+ "middle": 1,
2902
+ "climax": 2.2,
2903
+ "last": 1.6
2904
+ },
2905
+ "conflicts": {
2906
+ "first": 0.8,
2907
+ "middle": 1,
2908
+ "climax": 1.8,
2909
+ "last": 1.2
2910
+ },
2911
+ "information": {
2912
+ "first": 1.8,
2913
+ "middle": 1,
2914
+ "climax": 0.8,
2915
+ "last": 0.5
2916
+ }
2917
+ },
2918
+ "quality": {
2919
+ "emotion_jump_warning": 7,
2920
+ "flatline_chapters": 6,
2921
+ "protagonist_appearance_per_10": 6,
2922
+ "core_supporting_appearance_per_10": 3,
2923
+ "volume_supporting_retention": 0.35,
2924
+ "large_foreshadow_recovery": 1,
2925
+ "medium_foreshadow_recovery": 0.9,
2926
+ "small_foreshadow_recovery": 0.7,
2927
+ "payoff_gap_chapters": 8,
2928
+ "climax_gap_chapters": 5
2929
+ }
2930
+ },
2931
+ "tomato_romance_xuanhuan": {
2932
+ "label": "玄幻言情/女强",
2933
+ "aliases": [
2934
+ "玄幻言情",
2935
+ "女强",
2936
+ "仙侠言情"
2937
+ ],
2938
+ "channel": "女频",
2939
+ "category": "古言",
2940
+ "structure_feature": "长卷连续剧,升级+情感双线并行",
2941
+ "structure": {
2942
+ "type": "serial",
2943
+ "volume_chapters": [
2944
+ 60,
2945
+ 120
2946
+ ],
2947
+ "preferred_chapters_per_volume": 90,
2948
+ "acts": {
2949
+ "lt10": 1,
2950
+ "10_25": 2,
2951
+ "gt25": 3
2952
+ }
2953
+ },
2954
+ "multipliers": {
2955
+ "characters": 1.2,
2956
+ "protagonist": 1,
2957
+ "core_supporting": 1.2,
2958
+ "core_antagonist": 1,
2959
+ "volume_supporting": 1.2,
2960
+ "volume_antagonist": 1.2,
2961
+ "factions": 1.3,
2962
+ "faction_relations": 1.3,
2963
+ "locations": 1.4,
2964
+ "items": 1,
2965
+ "conflicts": 1.1,
2966
+ "foreshadows": 1.05,
2967
+ "climaxes": 1.25,
2968
+ "pleasures": 1.4,
2969
+ "world_rules": 1.5,
2970
+ "information_gaps": 1,
2971
+ "relations": 1.2,
2972
+ "reversals": 1.1
2973
+ },
2974
+ "distribution_weights": {
2975
+ "new_entities": {
2976
+ "first": 1.6,
2977
+ "middle": 1,
2978
+ "climax": 0.6,
2979
+ "last": 0.4
2980
+ },
2981
+ "relationships": {
2982
+ "first": 1.4,
2983
+ "middle": 1.1,
2984
+ "climax": 0.8,
2985
+ "last": 0.5
2986
+ },
2987
+ "foreshadows": {
2988
+ "first": 1.8,
2989
+ "middle": 1,
2990
+ "climax": 0.5,
2991
+ "last": 0.2
2992
+ },
2993
+ "payoffs": {
2994
+ "first": 0.7,
2995
+ "middle": 1,
2996
+ "climax": 1.7,
2997
+ "last": 1.3
2998
+ },
2999
+ "climaxes": {
3000
+ "first": 0.5,
3001
+ "middle": 1,
3002
+ "climax": 1.9,
3003
+ "last": 1.4
3004
+ },
3005
+ "conflicts": {
3006
+ "first": 0.8,
3007
+ "middle": 1,
3008
+ "climax": 1.7,
3009
+ "last": 1.2
3010
+ },
3011
+ "information": {
3012
+ "first": 1.3,
3013
+ "middle": 1,
3014
+ "climax": 0.8,
3015
+ "last": 0.4
3016
+ }
3017
+ },
3018
+ "quality": {
3019
+ "emotion_jump_warning": 6,
3020
+ "flatline_chapters": 3,
3021
+ "protagonist_appearance_per_10": 6,
3022
+ "core_supporting_appearance_per_10": 4,
3023
+ "volume_supporting_retention": 0.45,
3024
+ "large_foreshadow_recovery": 1,
3025
+ "medium_foreshadow_recovery": 0.9,
3026
+ "small_foreshadow_recovery": 0.7,
3027
+ "payoff_gap_chapters": 10,
3028
+ "climax_gap_chapters": 45
3029
+ }
3030
+ },
3031
+ "tomato_romance_disguise": {
3032
+ "label": "马甲爽文",
3033
+ "aliases": [
3034
+ "马甲",
3035
+ "马甲爽文",
3036
+ "身份马甲"
3037
+ ],
3038
+ "channel": "女频",
3039
+ "category": "现言",
3040
+ "structure_feature": "中短卷,身份反转密集,打脸节奏快",
3041
+ "structure": {
3042
+ "type": "serial",
3043
+ "volume_chapters": [
3044
+ 30,
3045
+ 80
3046
+ ],
3047
+ "preferred_chapters_per_volume": 50,
3048
+ "acts": {
3049
+ "lt10": 1,
3050
+ "10_25": 2,
3051
+ "gt25": 2
3052
+ }
3053
+ },
3054
+ "multipliers": {
3055
+ "characters": 1,
3056
+ "protagonist": 1,
3057
+ "core_supporting": 1,
3058
+ "core_antagonist": 1,
3059
+ "volume_supporting": 1,
3060
+ "volume_antagonist": 1,
3061
+ "factions": 1.1,
3062
+ "faction_relations": 1.1,
3063
+ "locations": 0.8,
3064
+ "items": 1,
3065
+ "conflicts": 1.6,
3066
+ "foreshadows": 1.7,
3067
+ "climaxes": 1.55,
3068
+ "pleasures": 1.5,
3069
+ "world_rules": 0.6,
3070
+ "information_gaps": 1.8,
3071
+ "relations": 1.2,
3072
+ "reversals": 1.6
3073
+ },
3074
+ "distribution_weights": {
3075
+ "new_entities": {
3076
+ "first": 1.7,
3077
+ "middle": 1,
3078
+ "climax": 0.5,
3079
+ "last": 0.3
3080
+ },
3081
+ "relationships": {
3082
+ "first": 1.4,
3083
+ "middle": 1,
3084
+ "climax": 0.7,
3085
+ "last": 0.5
3086
+ },
3087
+ "foreshadows": {
3088
+ "first": 1.8,
3089
+ "middle": 1,
3090
+ "climax": 0.4,
3091
+ "last": 0.2
3092
+ },
3093
+ "payoffs": {
3094
+ "first": 0.7,
3095
+ "middle": 1,
3096
+ "climax": 1.8,
3097
+ "last": 1.2
3098
+ },
3099
+ "climaxes": {
3100
+ "first": 0.5,
3101
+ "middle": 1,
3102
+ "climax": 2,
3103
+ "last": 1.4
3104
+ },
3105
+ "conflicts": {
3106
+ "first": 0.8,
3107
+ "middle": 1,
3108
+ "climax": 1.6,
3109
+ "last": 1.2
3110
+ },
3111
+ "information": {
3112
+ "first": 1.2,
3113
+ "middle": 1,
3114
+ "climax": 0.7,
3115
+ "last": 0.4
3116
+ }
3117
+ },
3118
+ "quality": {
3119
+ "emotion_jump_warning": 7,
3120
+ "flatline_chapters": 3,
3121
+ "protagonist_appearance_per_10": 7,
3122
+ "core_supporting_appearance_per_10": 3,
3123
+ "volume_supporting_retention": 0.4,
3124
+ "large_foreshadow_recovery": 1,
3125
+ "medium_foreshadow_recovery": 0.9,
3126
+ "small_foreshadow_recovery": 0.7,
3127
+ "payoff_gap_chapters": 3,
3128
+ "climax_gap_chapters": 40
3129
+ },
3130
+ "special_rules": [
3131
+ "身份层数:主角马甲 3-5 层,每层对应独立的人物关系网。",
3132
+ "揭露节奏:前期埋线索,中期集中揭露,后期全面摊牌。",
3133
+ "爽点结构:身份揭露类爽点占比不低于 60%,打脸类爽点约 30%。"
3134
+ ]
3135
+ },
3136
+ "tomato_romance_baby": {
3137
+ "label": "萌宝/甜宠",
3138
+ "aliases": [
3139
+ "萌宝",
3140
+ "萌宝甜宠",
3141
+ "带球跑"
3142
+ ],
3143
+ "channel": "女频",
3144
+ "category": "现言",
3145
+ "structure_feature": "中长卷,家庭关系为核心,冲突偏温和",
3146
+ "structure": {
3147
+ "type": "serial",
3148
+ "volume_chapters": [
3149
+ 60,
3150
+ 150
3151
+ ],
3152
+ "preferred_chapters_per_volume": 100,
3153
+ "acts": {
3154
+ "lt10": 1,
3155
+ "10_25": 2,
3156
+ "gt25": 3
3157
+ }
3158
+ },
3159
+ "multipliers": {
3160
+ "characters": 0.8,
3161
+ "protagonist": 1,
3162
+ "core_supporting": 0.8,
3163
+ "core_antagonist": 1,
3164
+ "volume_supporting": 0.8,
3165
+ "volume_antagonist": 0.8,
3166
+ "factions": 0.6,
3167
+ "faction_relations": 0.6,
3168
+ "locations": 0.6,
3169
+ "items": 1,
3170
+ "conflicts": 0.9,
3171
+ "foreshadows": 0.85,
3172
+ "climaxes": 0.95,
3173
+ "pleasures": 1,
3174
+ "world_rules": 0.4,
3175
+ "information_gaps": 0.8,
3176
+ "relations": 1.6,
3177
+ "reversals": 0.9
3178
+ },
3179
+ "distribution_weights": {
3180
+ "new_entities": {
3181
+ "first": 1.5,
3182
+ "middle": 1,
3183
+ "climax": 0.6,
3184
+ "last": 0.4
3185
+ },
3186
+ "relationships": {
3187
+ "first": 1.5,
3188
+ "middle": 1.1,
3189
+ "climax": 0.8,
3190
+ "last": 0.5
3191
+ },
3192
+ "foreshadows": {
3193
+ "first": 1.7,
3194
+ "middle": 1,
3195
+ "climax": 0.5,
3196
+ "last": 0.2
3197
+ },
3198
+ "payoffs": {
3199
+ "first": 0.7,
3200
+ "middle": 1,
3201
+ "climax": 1.6,
3202
+ "last": 1.2
3203
+ },
3204
+ "climaxes": {
3205
+ "first": 0.5,
3206
+ "middle": 1,
3207
+ "climax": 1.8,
3208
+ "last": 1.4
3209
+ },
3210
+ "conflicts": {
3211
+ "first": 0.9,
3212
+ "middle": 1,
3213
+ "climax": 1.5,
3214
+ "last": 1.1
3215
+ },
3216
+ "information": {
3217
+ "first": 1.2,
3218
+ "middle": 1,
3219
+ "climax": 0.7,
3220
+ "last": 0.4
3221
+ }
3222
+ },
3223
+ "quality": {
3224
+ "emotion_jump_warning": 5,
3225
+ "flatline_chapters": 8,
3226
+ "protagonist_appearance_per_10": 8,
3227
+ "core_supporting_appearance_per_10": 4,
3228
+ "volume_supporting_retention": 0.45,
3229
+ "large_foreshadow_recovery": 1,
3230
+ "medium_foreshadow_recovery": 0.9,
3231
+ "small_foreshadow_recovery": 0.7,
3232
+ "payoff_gap_chapters": 8,
3233
+ "climax_gap_chapters": 40
3234
+ }
3235
+ },
3236
+ "tomato_romance_quickwear": {
3237
+ "label": "快穿/无限流",
3238
+ "aliases": [
3239
+ "快穿",
3240
+ "无限流",
3241
+ "快穿无限流",
3242
+ "末世",
3243
+ "穿越穿书"
3244
+ ],
3245
+ "channel": "女频",
3246
+ "category": "小众",
3247
+ "structure_feature": "短卷单元剧,每世界新场景新设定",
3248
+ "structure": {
3249
+ "type": "unit",
3250
+ "volume_chapters": [
3251
+ 20,
3252
+ 50
3253
+ ],
3254
+ "preferred_chapters_per_volume": 30,
3255
+ "acts": {
3256
+ "lt10": 1,
3257
+ "10_25": 1,
3258
+ "gt25": 2
3259
+ }
3260
+ },
3261
+ "multipliers": {
3262
+ "characters": 1.1,
3263
+ "protagonist": 1,
3264
+ "core_supporting": 1.1,
3265
+ "core_antagonist": 1,
3266
+ "volume_supporting": 1.1,
3267
+ "volume_antagonist": 1.1,
3268
+ "factions": 0.9,
3269
+ "faction_relations": 0.9,
3270
+ "locations": 2,
3271
+ "items": 1,
3272
+ "conflicts": 1.6,
3273
+ "foreshadows": 1.7,
3274
+ "climaxes": 1.4,
3275
+ "pleasures": 1.2,
3276
+ "world_rules": 1.8,
3277
+ "information_gaps": 1.8,
3278
+ "relations": 1,
3279
+ "reversals": 1.6
3280
+ },
3281
+ "distribution_weights": {
3282
+ "new_entities": {
3283
+ "first": 1.9,
3284
+ "middle": 1,
3285
+ "climax": 0.5,
3286
+ "last": 0.2
3287
+ },
3288
+ "relationships": {
3289
+ "first": 1.2,
3290
+ "middle": 1,
3291
+ "climax": 0.8,
3292
+ "last": 0.5
3293
+ },
3294
+ "foreshadows": {
3295
+ "first": 2.2,
3296
+ "middle": 1,
3297
+ "climax": 0.4,
3298
+ "last": 0.2
3299
+ },
3300
+ "payoffs": {
3301
+ "first": 0.5,
3302
+ "middle": 1,
3303
+ "climax": 2,
3304
+ "last": 1.5
3305
+ },
3306
+ "climaxes": {
3307
+ "first": 0.5,
3308
+ "middle": 1,
3309
+ "climax": 2.2,
3310
+ "last": 1.6
3311
+ },
3312
+ "conflicts": {
3313
+ "first": 0.8,
3314
+ "middle": 1,
3315
+ "climax": 1.8,
3316
+ "last": 1.2
3317
+ },
3318
+ "information": {
3319
+ "first": 1.8,
3320
+ "middle": 1,
3321
+ "climax": 0.8,
3322
+ "last": 0.5
3323
+ }
3324
+ },
3325
+ "quality": {
3326
+ "emotion_jump_warning": 7,
3327
+ "flatline_chapters": 6,
3328
+ "protagonist_appearance_per_10": 6,
3329
+ "core_supporting_appearance_per_10": 3,
3330
+ "volume_supporting_retention": 0.35,
3331
+ "large_foreshadow_recovery": 1,
3332
+ "medium_foreshadow_recovery": 0.9,
3333
+ "small_foreshadow_recovery": 0.7,
3334
+ "payoff_gap_chapters": 8,
3335
+ "climax_gap_chapters": 5
3336
+ }
3337
+ },
3338
+ "tomato_romance_danmei": {
3339
+ "label": "双男主/纯爱",
3340
+ "aliases": [
3341
+ "双男主",
3342
+ "纯爱",
3343
+ "双女主"
3344
+ ],
3345
+ "channel": "女频",
3346
+ "category": "小众",
3347
+ "structure_feature": "聚焦双人关系,情感浓度高,人物细腻",
3348
+ "structure": {
3349
+ "type": "serial",
3350
+ "volume_chapters": [
3351
+ 40,
3352
+ 120
3353
+ ],
3354
+ "preferred_chapters_per_volume": 80,
3355
+ "acts": {
3356
+ "lt10": 1,
3357
+ "10_25": 2,
3358
+ "gt25": 3
3359
+ }
3360
+ },
3361
+ "multipliers": {
3362
+ "characters": 1,
3363
+ "protagonist": 1,
3364
+ "core_supporting": 1,
3365
+ "core_antagonist": 1,
3366
+ "volume_supporting": 1,
3367
+ "volume_antagonist": 1,
3368
+ "factions": 0.9,
3369
+ "faction_relations": 0.9,
3370
+ "locations": 1,
3371
+ "items": 1,
3372
+ "conflicts": 1.1,
3373
+ "foreshadows": 1.15,
3374
+ "climaxes": 1,
3375
+ "pleasures": 0.9,
3376
+ "world_rules": 0.8,
3377
+ "information_gaps": 1.2,
3378
+ "relations": 1.7,
3379
+ "reversals": 1.1
3380
+ },
3381
+ "distribution_weights": {
3382
+ "new_entities": {
3383
+ "first": 1.8,
3384
+ "middle": 1,
3385
+ "climax": 0.5,
3386
+ "last": 0.3
3387
+ },
3388
+ "relationships": {
3389
+ "first": 1.4,
3390
+ "middle": 1,
3391
+ "climax": 0.7,
3392
+ "last": 0.5
3393
+ },
3394
+ "foreshadows": {
3395
+ "first": 2,
3396
+ "middle": 1,
3397
+ "climax": 0.4,
3398
+ "last": 0.2
3399
+ },
3400
+ "payoffs": {
3401
+ "first": 0.6,
3402
+ "middle": 1,
3403
+ "climax": 1.8,
3404
+ "last": 1.2
3405
+ },
3406
+ "climaxes": {
3407
+ "first": 0.5,
3408
+ "middle": 1,
3409
+ "climax": 2,
3410
+ "last": 1.4
3411
+ },
3412
+ "conflicts": {
3413
+ "first": 0.8,
3414
+ "middle": 1,
3415
+ "climax": 1.6,
3416
+ "last": 1.2
3417
+ },
3418
+ "information": {
3419
+ "first": 1.4,
3420
+ "middle": 1,
3421
+ "climax": 0.7,
3422
+ "last": 0.4
3423
+ }
3424
+ },
3425
+ "quality": {
3426
+ "emotion_jump_warning": 6,
3427
+ "flatline_chapters": 3,
3428
+ "protagonist_appearance_per_10": 7,
3429
+ "core_supporting_appearance_per_10": 3,
3430
+ "volume_supporting_retention": 0.4,
3431
+ "large_foreshadow_recovery": 1,
3432
+ "medium_foreshadow_recovery": 0.9,
3433
+ "small_foreshadow_recovery": 0.7,
3434
+ "payoff_gap_chapters": 8,
3435
+ "climax_gap_chapters": 40
3436
+ }
3437
+ }
3438
+ },
3439
+ "base_overrides": {
3440
+ "fixed.character_elements.protagonist_count": [
3441
+ 1,
3442
+ 2
3443
+ ],
3444
+ "fixed.character_elements.core_supporting_count": [
3445
+ 2,
3446
+ 5
3447
+ ],
3448
+ "fixed.character_elements.core_antagonist_count": [
3449
+ 1,
3450
+ 3
3451
+ ],
3452
+ "foreshadow_elements.large_foreshadow_count": [
3453
+ 2,
3454
+ 5
3455
+ ],
3456
+ "foreshadow_elements.medium_foreshadow_count": "V*3 ~ V*6",
3457
+ "foreshadow_elements.small_foreshadow_count": "V*8 ~ V*15"
3458
+ },
3459
+ "platform": {
3460
+ "name": "番茄小说",
3461
+ "channel_model": "男频/女频双频道 + 一级大类 + 二级细分品类",
3462
+ "default_words_per_chapter": 2200,
3463
+ "base_formula_words_per_chapter": 2000,
3464
+ "hook_density_per_chapter": 1.3,
3465
+ "opening_chapters": 30,
3466
+ "opening_hook_multiplier": 1.5,
3467
+ "pleasure_density_multiplier": 1.2,
3468
+ "volume_length_multiplier": 0.8,
3469
+ "notes": [
3470
+ "番茄整体偏免费阅读、快节奏、强钩子、高密度爽点。",
3471
+ "单章字数按 2200 字作为平台参考;节奏公式仍以 2000 字/章为基准,用 chapter_scale 换算。",
3472
+ "前 30 章为黄金期,钩子密度上浮 1.5 倍,不占用全书平均配额。",
3473
+ "卷长基准下调 20%,长卷更容易流失读者。"
3474
+ ]
3475
+ },
3476
+ "profile_match_rules": {
3477
+ "order": [
3478
+ "genre",
3479
+ "category",
3480
+ "channel",
3481
+ "positioning",
3482
+ "core_setting",
3483
+ "reader_value"
3484
+ ],
3485
+ "fallback": "default",
3486
+ "notes": [
3487
+ "先按选题 genre 匹配 category 或 aliases。",
3488
+ "再按 positioning / core_setting / reader_value 里的关键词匹配。",
3489
+ "没有明显匹配时使用 default,不要硬套一个不相关的题材。"
3490
+ ]
3491
+ },
3492
+ "platform_checks": {
3493
+ "shuangwen": [
3494
+ "连续 3 章无爽点 warning,连续 5 章无爽点 error。",
3495
+ "开篇前 10 章完成主角登场、冲突爆发、第一次打脸三段式。",
3496
+ "每卷末尾必须有身份反转或大爽点,作为卷末钩子。"
3497
+ ],
3498
+ "emotion": [
3499
+ "男女主同框率不低于 40%,低于则告警。",
3500
+ "情感进度节点均匀分布,避免集中推进或长期停滞。",
3501
+ "误会周期不超过 15 章。"
3502
+ ],
3503
+ "suspense": [
3504
+ "每案包含案发、调查、反转、破案四环节。",
3505
+ "凶手或真相不能在前 30% 篇幅暴露。",
3506
+ "单元案伏笔必须在案内回收。"
3507
+ ],
3508
+ "farming": [
3509
+ "经营成长节点均匀分布,每 10 章至少一个阶段性成果。",
3510
+ "冲突强度逐级上升,避免前期过猛后期乏力。",
3511
+ "配角出场与经营阶段绑定,不空降无关人物。"
3512
+ ]
3513
+ }
3514
+ }