@oh-story/dsh 0.1.16 → 0.1.17

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 (264) hide show
  1. package/README.md +11 -11
  2. package/lib/client.js +26 -15
  3. package/lib/client.js.map +2 -2
  4. package/lib/drama/package.json +4 -0
  5. package/lib/index.js +42 -16
  6. package/lib/index.js.map +2 -2
  7. package/lib/novel-to-game/README.md +3 -3
  8. package/lib/novel-to-game/README_ZH.md +4 -4
  9. package/lib/novel-to-game/VERSION +1 -1
  10. package/lib/novel-to-game/manifest.json +25 -20
  11. package/lib/novel-to-game/package.json +4 -0
  12. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +4 -0
  13. package/lib/novel-to-game/skills/game-build/SKILL.md +7 -1
  14. package/lib/novel-to-game/skills/game-build/references/baked-sprite-workflow.md +19 -0
  15. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +4 -1
  16. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +6 -3
  17. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +1 -0
  18. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +13 -2
  19. package/lib/oh-story/manifest.json +417 -592
  20. package/lib/oh-story/package.json +4 -0
  21. package/lib/oh-story/roles/chapter-extractor.md +4 -3
  22. package/lib/oh-story/roles/character-designer.md +20 -85
  23. package/lib/oh-story/roles/consistency-checker.md +5 -5
  24. package/lib/oh-story/roles/narrative-writer.md +9 -9
  25. package/lib/oh-story/roles/story-architect.md +19 -26
  26. package/lib/oh-story/roles/story-explorer.md +4 -5
  27. package/lib/oh-story/roles/story-researcher.md +6 -7
  28. package/lib/oh-story/skills/browser-cdp/SKILL.md +26 -15
  29. package/lib/oh-story/skills/story/SKILL.md +94 -54
  30. package/lib/oh-story/skills/story/VERSION +1 -1
  31. package/lib/oh-story/skills/story-cover/SKILL.md +41 -220
  32. package/lib/oh-story/skills/story-cover/references/api-fallback.md +128 -0
  33. package/lib/oh-story/skills/story-cover/references/cover-styles.md +61 -95
  34. package/lib/oh-story/skills/story-deslop/SKILL.md +32 -27
  35. package/lib/oh-story/skills/story-deslop/references/agent-calls.md +4 -4
  36. package/lib/oh-story/skills/story-deslop/references/banned-words.md +7 -9
  37. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +12 -12
  38. package/lib/oh-story/skills/story-deslop/references/expression.md +10 -3
  39. package/lib/oh-story/skills/story-deslop/references/story-logic.md +1 -1
  40. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +1 -1
  41. package/lib/oh-story/skills/story-import/SKILL.md +12 -11
  42. package/lib/oh-story/skills/story-import/references/benchmark-sync.md +50 -0
  43. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +3 -4
  44. package/lib/oh-story/skills/story-import/references/deep-analysis.md +2 -3
  45. package/lib/oh-story/skills/story-import/references/import-report.md +5 -4
  46. package/lib/oh-story/skills/story-import/references/import-special-cases.md +6 -16
  47. package/lib/oh-story/skills/story-import/references/import-tracking.md +2 -2
  48. package/lib/oh-story/skills/story-import/references/length-routing.md +1 -43
  49. package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +8 -8
  50. package/lib/oh-story/skills/story-import/references/outline-reverse.md +2 -2
  51. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +113 -125
  52. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +77 -88
  53. package/lib/oh-story/skills/story-import/scripts/build_outline_brief.py +36 -59
  54. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +5 -1
  55. package/lib/oh-story/skills/story-import/scripts/outline_view.py +286 -0
  56. package/lib/oh-story/skills/story-long-analyze/SKILL.md +38 -75
  57. package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +21 -23
  58. package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +8 -17
  59. package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +18 -5
  60. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +8 -14
  61. package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +26 -27
  62. package/lib/oh-story/skills/story-long-analyze/references/stage2-extraction.md +74 -162
  63. package/lib/oh-story/skills/story-long-analyze/references/stage3-plot-rhythm.md +124 -309
  64. package/lib/oh-story/skills/story-long-analyze/references/stage4-characters-settings.md +49 -166
  65. package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +12 -15
  66. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +110 -34
  67. package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +12 -2
  68. package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +3 -1
  69. package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +5 -1
  70. package/lib/oh-story/skills/story-long-scan/SKILL.md +49 -72
  71. package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +47 -167
  72. package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +23 -8
  73. package/lib/oh-story/skills/story-long-scan/references/platform-fanqie.md +24 -22
  74. package/lib/oh-story/skills/story-long-scan/references/platform-jjwxc.md +25 -13
  75. package/lib/oh-story/skills/story-long-scan/references/platform-qidian.md +41 -27
  76. package/lib/oh-story/skills/story-long-scan/references/platform-qimao.md +24 -16
  77. package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +31 -33
  78. package/lib/oh-story/skills/story-long-write/SKILL.md +5 -5
  79. package/lib/oh-story/skills/story-long-write/references/agent-calls.md +1 -1
  80. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +51 -24
  81. package/lib/oh-story/skills/story-long-write/references/banned-words.md +7 -9
  82. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +3 -3
  83. package/lib/oh-story/skills/story-long-write/references/character-basics.md +57 -95
  84. package/lib/oh-story/skills/story-long-write/references/character-relations.md +119 -269
  85. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +2 -2
  86. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +8 -8
  87. package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +7 -7
  88. package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +38 -298
  89. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +12 -53
  90. package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +39 -85
  91. package/lib/oh-story/skills/story-long-write/references/genre-readers.md +97 -163
  92. package/lib/oh-story/skills/story-long-write/references/long-chapter-hooks.md +39 -119
  93. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +39 -91
  94. package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +81 -310
  95. package/lib/oh-story/skills/story-long-write/references/long-genre-mechanics.md +115 -326
  96. package/lib/oh-story/skills/story-long-write/references/long-reversal.md +1 -1
  97. package/lib/oh-story/skills/story-long-write/references/long-suspense.md +8 -8
  98. package/lib/oh-story/skills/story-long-write/references/opening-design.md +38 -334
  99. package/lib/oh-story/skills/story-long-write/references/outline-methods.md +128 -281
  100. package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +58 -499
  101. package/lib/oh-story/skills/story-long-write/references/project-files.md +10 -14
  102. package/lib/oh-story/skills/story-long-write/references/reference-index.md +29 -82
  103. package/lib/oh-story/skills/story-long-write/references/revision-diagnosis.md +31 -0
  104. package/lib/oh-story/skills/story-long-write/references/stop-and-fix.md +2 -2
  105. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +12 -19
  106. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +3 -171
  107. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +1 -1
  108. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +8 -6
  109. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +2 -2
  110. package/lib/oh-story/skills/story-long-write/references/workflow-outline.md +47 -47
  111. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +7 -7
  112. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +4 -9
  113. package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +72 -98
  114. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +59 -115
  115. package/lib/oh-story/skills/story-long-write/scripts/build_architect_brief.py +38 -18
  116. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +23 -11
  117. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +5 -1
  118. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +1 -1
  119. package/lib/oh-story/skills/story-review/SKILL.md +26 -24
  120. package/lib/oh-story/skills/story-review/references/agent-prompts.md +13 -9
  121. package/lib/oh-story/skills/story-review/references/banned-words.md +7 -9
  122. package/lib/oh-story/skills/story-review/references/expression.md +10 -3
  123. package/lib/oh-story/skills/story-review/references/quality-rubric.md +7 -7
  124. package/lib/oh-story/skills/story-review/references/review-tracking.md +2 -1
  125. package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +8 -9
  126. package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +9 -11
  127. package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +9 -8
  128. package/lib/oh-story/skills/story-review/references/solo.md +6 -5
  129. package/lib/oh-story/skills/story-review/references/story-logic.md +1 -1
  130. package/lib/oh-story/skills/story-review/references/style-resolution.md +1 -1
  131. package/lib/oh-story/skills/story-setup/SKILL.md +24 -31
  132. package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +12 -13
  133. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +7 -9
  134. package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +1 -1
  135. package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +57 -95
  136. package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +119 -269
  137. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +12 -12
  138. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +8 -8
  139. package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +7 -7
  140. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +38 -298
  141. package/lib/oh-story/skills/story-setup/references/agent-references/expression.md +10 -3
  142. package/lib/oh-story/skills/story-setup/references/agent-references/female-audience-writing.md +141 -0
  143. package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +96 -161
  144. package/lib/oh-story/skills/story-setup/references/agent-references/long-chapter-hooks.md +39 -119
  145. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +13 -54
  146. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +81 -310
  147. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-mechanics.md +115 -326
  148. package/lib/oh-story/skills/story-setup/references/agent-references/long-reversal.md +1 -1
  149. package/lib/oh-story/skills/story-setup/references/agent-references/long-suspense.md +8 -8
  150. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +38 -334
  151. package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +128 -281
  152. package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +58 -499
  153. package/lib/oh-story/skills/story-setup/references/agent-references/short-chapter-hooks.md +63 -171
  154. package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +11 -63
  155. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +40 -50
  156. package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +14 -39
  157. package/lib/oh-story/skills/story-setup/references/agent-references/story-logic.md +1 -1
  158. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +12 -19
  159. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +3 -171
  160. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +1 -1
  161. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +59 -115
  162. package/lib/oh-story/skills/story-short-analyze/SKILL.md +41 -90
  163. package/lib/oh-story/skills/story-short-analyze/references/analysis-characters.md +66 -0
  164. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +21 -20
  165. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +4 -3
  166. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +4 -4
  167. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +5 -5
  168. package/lib/oh-story/skills/story-short-analyze/references/analysis-submission.md +52 -0
  169. package/lib/oh-story/skills/story-short-analyze/references/optional-modules.md +23 -73
  170. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +25 -26
  171. package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +20 -38
  172. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +9 -158
  173. package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +39 -26
  174. package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +42 -71
  175. package/lib/oh-story/skills/story-short-scan/SKILL.md +52 -62
  176. package/lib/oh-story/skills/story-short-scan/references/manual-rank-input.md +16 -12
  177. package/lib/oh-story/skills/story-short-scan/references/platform-dianzhong.md +10 -4
  178. package/lib/oh-story/skills/story-short-scan/references/platform-heiyan.md +15 -6
  179. package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +34 -72
  180. package/lib/oh-story/skills/story-short-scan/references/topic-match.md +33 -13
  181. package/lib/oh-story/skills/story-short-write/SKILL.md +5 -5
  182. package/lib/oh-story/skills/story-short-write/references/agent-calls.md +3 -3
  183. package/lib/oh-story/skills/story-short-write/references/banned-words.md +7 -9
  184. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +17 -22
  185. package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +22 -37
  186. package/lib/oh-story/skills/story-short-write/references/deslop-gates.md +12 -12
  187. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +8 -8
  188. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +11 -63
  189. package/lib/oh-story/skills/story-short-write/references/expression.md +10 -3
  190. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +3 -3
  191. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +6 -6
  192. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +8 -8
  193. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +4 -4
  194. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +9 -9
  195. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +10 -10
  196. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +7 -7
  197. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +6 -6
  198. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +6 -6
  199. package/lib/oh-story/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +12 -12
  200. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +40 -50
  201. package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +63 -171
  202. package/lib/oh-story/skills/story-short-write/references/reference-index.md +13 -14
  203. package/lib/oh-story/skills/story-short-write/references/short-craft.md +10 -29
  204. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +2 -2
  205. package/lib/oh-story/skills/story-short-write/references/short-format.md +12 -32
  206. package/lib/oh-story/skills/story-short-write/references/short-reversal.md +14 -39
  207. package/lib/oh-story/skills/story-short-write/references/story-logic.md +1 -1
  208. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +1 -1
  209. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +29 -19
  210. package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +14 -19
  211. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +67 -26
  212. package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +10 -11
  213. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +50 -69
  214. package/lib/oh-story/skills/story-short-write/scripts/check-phase2-contract.js +21 -16
  215. package/lib/types/client/file-activity.d.ts +10 -0
  216. package/lib/types/client/file-activity.d.ts.map +1 -1
  217. package/lib/types/client/index.d.ts.map +1 -1
  218. package/lib/types/native-hooks.d.ts.map +1 -1
  219. package/lib/types/skill-provider.d.ts.map +1 -1
  220. package/lib/types/workspace-route.d.ts.map +1 -1
  221. package/lib/video-recap/package.json +4 -0
  222. package/package.json +23 -23
  223. package/lib/oh-story/skills/story-import/references/format-and-structure.md +0 -168
  224. package/lib/oh-story/skills/story-import/references/state-tracking.md +0 -45
  225. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +0 -146
  226. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +0 -270
  227. package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +0 -84
  228. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +0 -133
  229. package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +0 -101
  230. package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +0 -92
  231. package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +0 -428
  232. package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +0 -503
  233. package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +0 -34
  234. package/lib/oh-story/skills/story-long-write/references/expression.md +0 -76
  235. package/lib/oh-story/skills/story-long-write/references/narrative-focus.md +0 -63
  236. package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +0 -457
  237. package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +0 -389
  238. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +0 -272
  239. package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +0 -354
  240. package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +0 -710
  241. package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +0 -624
  242. package/lib/oh-story/skills/story-long-write/references/story-logic.md +0 -65
  243. package/lib/oh-story/skills/story-long-write/references/style-craft.md +0 -306
  244. package/lib/oh-story/skills/story-review/references/character-relations.md +0 -433
  245. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +0 -285
  246. package/lib/oh-story/skills/story-review/references/plot-core-methods.md +0 -522
  247. package/lib/oh-story/skills/story-review/references/review-quality.md +0 -243
  248. package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +0 -428
  249. package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +0 -457
  250. package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +0 -389
  251. package/lib/oh-story/skills/story-setup/references/agent-references/short-paragraph-hooks.md +0 -145
  252. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-basics.md +0 -433
  253. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-design.md +0 -426
  254. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +0 -384
  255. package/lib/oh-story/skills/story-short-analyze/references/analysis-paragraph-hooks.md +0 -144
  256. package/lib/oh-story/skills/story-short-analyze/references/analysis-reader-profile.md +0 -238
  257. package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +0 -464
  258. package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +0 -79
  259. package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +0 -89
  260. package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +0 -54
  261. package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +0 -145
  262. package/lib/oh-story/skills/story-short-write/references/output-contract.md +0 -116
  263. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +0 -207
  264. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +0 -50
@@ -1,146 +0,0 @@
1
- # 追踪状态协议
2
-
3
- `追踪/` 以结构化 state 为权威,由脚本生成各 Markdown 视图。模型只提交一份语义 JSON,不分别 `Write/Edit/echo >>` 多个追踪文件。
4
-
5
- ## 权威层与派生层
6
-
7
- | 层级 | 文件 | 语义 |
8
- |---|---|---|
9
- | 唯一权威 | `_tracking-state.json` | schema、最后提交章、导入截止章、状态修订号、上下文结构、角色/伏笔/时间线,以及已提交章节的简短字数记录 |
10
- | 章节记录 | `逐章记录/第NNN章.md` | 本章对未来连续性有用的紧凑变化;目标 ≤1536 字节,硬上限 3072 字节;导入范围内修订写成覆盖记录 |
11
- | 派生视图 | `上下文.md`、`角色状态/{角色名}.md`、`伏笔.md`、`时间线/作者真相.md`、`时间线/读者已知.md` | 完全从 `_tracking-state.json` 生成;禁止手改,不作为程序输入 |
12
-
13
- Markdown 只负责给作者和 Agent 阅读,工具不再反向解析 Markdown。`check` 直接从 `_tracking-state.json` 重渲染并逐文件比较。未来“第几章揭示”的计划写在卷纲/细纲,不写成时间线既成事实。
14
- 逐章记录只是便于人阅读的紧凑变化记录,不承诺单独无损重建全部当前状态;完整当前语义以 `_tracking-state.json` 为准。
15
-
16
- ## 运行工具
17
-
18
- 先按运行环境探测 Python 3 解释器(依次尝试 `python3`、`python`、`py -3`)。追踪事务脚本使用当前 skill 根目录;字数与章节闭环统一使用 `story-long-write` skill 根目录:
19
-
20
- ```text
21
- {PYTHON} {当前 skill 根}/scripts/tracking_commit.py init --project {书项目根} --input {书项目根}/.story/work/init.json
22
- {PYTHON} {当前 skill 根}/scripts/tracking_commit.py check --project {书项目根}
23
- {PYTHON} {当前 skill 根}/scripts/tracking_commit.py draft --project {书项目根} --chapter {N}
24
- {PYTHON} {story-long-write skill 根}/scripts/storyctl.py chapter check --project {书项目根} --chapter {N} [--min-chars {下限} --max-chars {上限}]
25
- {PYTHON} {story-long-write skill 根}/scripts/storyctl.py chapter commit --project {书项目根} --chapter {N} --input {书项目根}/.story/work/第{NNN}章/tracking.json
26
- {PYTHON} {story-long-write skill 根}/scripts/storyctl.py chapter accept-current-length --project {书项目根} --chapter {N} --input {书项目根}/.story/work/第{NNN}章/tracking.json
27
- ```
28
-
29
- - `init`:只在 `_tracking-state.json` 不存在时执行,绝不覆盖已初始化项目。
30
- - `draft`:按当前 state 把逐章事务预填到 `.story/work/第NNN章/tracking.json`(修订号、模式、章名、`context` 四项当前值),并输出各文本字段的字数上限与在场核心角色的当前快照。新章(append)调用方只填 `delta` 与有变化角色的快照;已提交章(revision)的 `delta` 与相关角色快照按该章现有逐章记录预填(伏笔、时间线取当前值),调用方在上面改成修订后的完整记录,不清空重写。
31
- - 作者字数范围:细纲可写一行 `字数范围:2000-2600`(作者明确给了上下限时);本轮临时给的范围用 `--min-chars` / `--max-chars`(两者同给,优先于细纲)。`wordcount check` / `checkpoint` 与 `chapter check` / `commit` / `accept-current-length` 都认,给了就同时替代默认 ±12% 内部带与 ±15% 用户带,结果里 `band_source` 为 `author`,提交的字数记录多一项 `author_range`。
32
- - `wordcount measure` / `wordcount checkpoint`:纯测量入口;不写正文、不写 tracking、不做语义判断。长篇正文只在前组写完后由主会话带 `--project` 调用一次 `checkpoint`(目标与字数范围读细纲,见 workflow-chapter 步骤 6),整章长度由 `chapter check` 收口;`remaining_user_range` 按生效区间(作者区间或默认用户带)计算。
33
- - `chapter check`:重新读取当前正文与细纲目标,返回确定性长度状态、现有 blocking quality、`state_revision` 和当前可执行动作,不保存 approval。顶层 `status`:`ready`(可提交,exit 0)/ `needs_decision`(长度带外,按 `available_actions` 交作者,exit 0)/ `blocked`(有 blocking 正文问题,exit 1)/ `invalid`(正文为空等,exit 1)/ `tool_unavailable`(找不到 node 或检测脚本,见 `quality.tool_errors`,不是正文问题,exit 3)。参数错误或文件缺失输出 `story-chapter-error/v1`(`status: error`,exit 2)。`under` 不提供自动补写;`over` 额外返回一次净删型 `compress-once` 及回到生效区间所需的删除字数。`quality.semantic_advisories` 是语义类 advisory 条数(检测器标 `review: mechanical` 的不计)。
34
- - `chapter commit`:再次读取当前文件、重新计数并重跑 blocking quality;只接受生效区间内的章节,把简短字数记录与逐章事务一起原子提交。新章与修订都走它。
35
- - `chapter accept-current-length`:只接受带外但 quality pass 的章节;接受动作发生时重新读取、重新计数并立即原子提交,不保存可陈旧的历史决议。低于字数目标一半(`BELOW_ACCEPT_FLOOR`),或超长却还没做过那一次压缩(`COMPRESSION_REQUIRED`),都拒绝;作者明确拍板时加 `--force`。
36
- - `check`:严格验证 state schema、逐章记录连续性/规范名/体积、固定 7 栏、角色快照硬上限、派生文件集合,以及所有派生视图与 state 的逐字一致性。
37
-
38
- 每本书由 `追踪/.tracking-commit.lock` 串行写事务,`expected_state_revision` 再拒绝基于旧状态构造的 stale transaction。两个不同事务并发时至多一个修订成功。字数记录也在锁内对当前正文和目标重新验证,正文或目标变化会让预先构造的记录直接失败。
39
-
40
- 事务 JSON 是临时输入,不是项目产物:只写在书目录 `.story/work/` 下(逐章事务放 `.story/work/第NNN章/tracking.json`),不写系统 `/tmp`、书根、`大纲/` 或 `正文/`;成功前必须保留,提交成功后即可删除(`storyctl.py chapter commit` / `accept-current-length` 成功时自动删除该章目录;直接调用 `tracking_commit.py commit` 时由调用方删除。已有字数记录的章节正文或目标改过后,`tracking_commit.py commit` 拒绝修订事务,须走 `storyctl.py chapter commit`)——之后 `check` 失败按下文提交 `mode=revision` 新事务修复,不需要原事务。若文件写入失败,`_tracking-state.json` 尚未推进;修正环境后直接重跑**同一份** `commit`。append 重跑只接受内容完全相同的既有逐章记录,不维护 `dirty/pending/repair` 状态机。
41
-
42
- 校验失败与写入失败处理方式不同:校验失败(字段非法、退役结构、容量超限)要按报错改事务本身,重跑同一份结果不变。派生视图被手改或外部改动导致 `check` 报 `derived view differs from _tracking-state.json` 时,重新提交**该章**的 `mode=revision` 事务让工具整份重建,`expected_state_revision` 取 `追踪/_tracking-state.json` 的 `state_revision` 字段——`check` 失败时只往 stderr 打 ERROR,不输出 JSON;不手改派生文件,也不删 `_tracking-state.json` 重来。手写出的逐章记录会让同章 `append` 永久报 `chapter delta N already exists with different content`——删掉那个手写文件后重跑原事务即可。
43
-
44
- 本工具不解析旧 `_tracking-meta.json`、`时间线/事件库.json` 或更早追踪结构,不提供语义兼容层。`init` 遇到这类旧文件时,先把它们按原样整体移入 `追踪/_旧追踪存档/`,再在原地建当前协议:旧内容留给作者查阅,不参与解析,当前状态完全以 init 输入为准。校验失败的 `init` 不移动任何文件。`commit` 与 `check` 仍直接拒绝旧结构——它们只在已建协议的项目上运行。
45
-
46
- ## 初始化事务
47
-
48
- 仅新书或导入初始化时,执行 `init` 前必须完整读取 [tracking-initialization.md](tracking-initialization.md),按其中原始 JSON 与导入边界构造事务。已有项目续写直接使用下方逐章事务,不重复读初始化示例。
49
-
50
- 调用方的逐章 JSON 不写 `wordcount`;正式入口 `chapter commit` 或 `chapter accept-current-length` 在提交当下生成并注入。最终 state 只为已提交章节保留 `metric / target / actual / status / resolution / body_sha256`(生效了作者字数范围时另加 `author_range`),不保存 MEASURE/RESOLVE 事件、ID 链、policy fingerprint 或独立 chapter state。
51
-
52
- ## 逐章事务
53
-
54
- ```json
55
- {
56
- "schema_version": 1,
57
- "mode": "append",
58
- "chapter": 10,
59
- "chapter_title": "专业团队拍得还不如他拍的好?",
60
- "expected_state_revision": 9,
61
- "delta": {
62
- "result": "专业团队重拍的高清版在高层看片会上被判定缺了灵魂,张耀祖拍板继续采用江晨的手机原版。",
63
- "character_changes": [
64
- {"name": "江晨", "change": "作品价值获军内高层确认,从爆款新人升为不可替代的军宣创作者"}
65
- ],
66
- "foreshadow_changes": [
67
- {
68
- "action": "upsert",
69
- "id": "F027",
70
- "summary": "专业团队仍拍不出江晨原版的灵魂,继续验证其创作能力不可复制",
71
- "planted_chapter": 10,
72
- "planned_resolution_chapter": null,
73
- "status": "已埋",
74
- "importance": "中"
75
- }
76
- ],
77
- "timeline_events": [
78
- {
79
- "action": "upsert",
80
- "id": "E010",
81
- "story_time": "实弹训练两天后",
82
- "objective_fact": "文工团高层否决专业重拍版,决定沿用江晨手机拍摄的原版视频",
83
- "reader_knowledge": "读者已看到周薄森指出专业版缺了灵魂,张耀祖当场拍板用回原版",
84
- "reveal_status": "已揭示",
85
- "reveal_chapter": 10,
86
- "characters": ["江晨", "周薄森", "张耀祖"]
87
- }
88
- ],
89
- "constraints": ["后续继续用作品落地效果和围观反应放大江晨的高光,不能只写系统奖励数字"],
90
- "next_chapter_commitments": ["结算五天百万粉任务,并承接老兵主题的新任务"]
91
- },
92
- "context": {
93
- "position": {
94
- "volume": "第一卷·军宣整顿",
95
- "volume_start_chapter": 1,
96
- "story_time": "实弹训练两天后",
97
- "scene": "火箭军文工团高层看片会"
98
- },
99
- "long_term_constraints": ["军宣爽点要用作品效果和围观反应链兑现,不能只靠系统播报"],
100
- "active_character_names": ["江晨"],
101
- "continuity_risks": ["钟嘉嘉说江晨只猜对一半,未公开的培养安排不能被当成读者已知事实"]
102
- },
103
- "character_snapshots": {
104
- "江晨": {
105
- "identity": "火箭军文工团宣传兵;军宣爆款创作者",
106
- "location": "火箭军文工团高层看片会",
107
- "goal": "完成五天百万粉任务,持续做出真正能打的军宣内容",
108
- "state": "专业团队反向验证原版价值,军内认可继续抬升",
109
- "abilities_resources": ["前世MCN爆款运营经验", "《中国军魂》伴奏", "大师级导演能力"],
110
- "relationships": ["钟嘉嘉持续提供军报资源", "周薄森和张耀祖已明确认可其创作能力"],
111
- "knowledge": ["《军报》采访稿已经过审", "原版视频将继续作为正式军宣内容"],
112
- "open_threads": ["五天百万粉任务尚未结算", "钟嘉嘉所谓只猜对一半仍未解释"]
113
- }
114
- }
115
- }
116
- ```
117
-
118
- 约束:
119
-
120
- - 构造事务前运行 `check`,把当前 `state_revision` 原样写入 `expected_state_revision`;若状态已经变化,重新读取 state 并重构事务。
121
- - `context` 的允许字段随子命令不同:`init` 收 `position`、`long_term_constraints`、`active_character_names`、`continuity_risks`、`recent_chapters`、`next_chapter_commitments` 六项;`commit` 只收前四项。`recent_chapters` 与 `next_chapter_commitments` 在 commit 时由工具从当前视图和本章 `delta` 派生,手填会在任何写入前被拒(`context contains unsupported fields: ...`,exit 2)。commit 事务须使用自身允许字段,不能照搬 init 示例。
122
- - `character_snapshots` 中出现的角色视为核心复用角色,必须同时出现在 `character_changes`;已经建立快照的核心角色再次变化时必须提交新快照。
123
- - 角色快照的四个列表不限制条数,只限制单项长度和最终文件总字节:目标 ≤4096 字节,超过警告;硬上限 8192 字节,超过则在任何写入前拒绝。
124
- - 没有快照的角色变化视为临时角色,不建立状态文件;`context.active_character_names` 最多 6 人且必须已有当前快照。
125
- - `context.long_term_constraints` 最多 6 条:要加第 7 条先合并语义重叠项或请作者取舍,不自动删旧约束;永久生效的设定裁定进它,短期强承诺进 `next_chapter_commitments`,过程决策不进续写状态卡。
126
- - `context.long_term_constraints` 和 `context.continuity_risks` 是整份提交的当前值。凡是上一版有、本次没有的条目,必须逐条列进 `delta.retired_context_items`,否则工具在任何写入前拒绝——漏写不会被当成删除。实际退役的条目由工具写进本章逐章记录的 `## 本章退役登记`,随后仍可回查。
127
- - 不再复用的核心角色写进 `delta.retired_characters`:工具删除其当前快照与 `角色状态/{角色名}.md`,并在逐章记录留档。同一事务里不能既退役又提交快照,也不能退役仍列在 `context.active_character_names` 的角色。角色阵亡/退场这一章,把变化照写进 `character_changes` 即可,本章退役的角色不必再交一份马上要删的快照,逐章记录仍按核心角色标注。退役只表示不再进入热上下文,正文与逐章记录不受影响。
128
- - 两类退役都只能在 `mode=append` 提交。退役表示「从此刻起离开当前状态」,而修订事务的逐章记录属于被改写的旧章,落在那里会谎报退役发生的章节;`mode=revision` 必须原样重交当前全部上下文条目,需要退役就放到下一次 append。
129
- - `伏笔.md` 只呈现已经埋设过的当前状态。未来规划仍留在大纲。
130
- - `timeline_events.action` 可为 `upsert/delete`。`未揭示` 的 `reveal_chapter` 必须为 `null`;部分/完全揭示只能填写已经发生的实际章节。
131
- - `mode=revision` 时,逐章记录必须重算为修订后该章仍然成立的完整连续性记录(用 `draft` 预填的草稿改,漏写的项会从记录里消失,工具在 stderr 警告被清空的栏目;原有的退役登记原样保留);当前角色、伏笔、时间线和上下文则提交受影响对象截至最新已写章的当前值。
132
- - 修订导入截止章内的正文时,会新增或覆盖该章的逐章记录;`imported_through_chapter` 不变。
133
-
134
- ## 续写状态卡固定格式
135
-
136
- `上下文.md` ≤12288 字节,由 state 整份生成,只含以下 7 个顶层区块:
137
-
138
- 1. `## 当前位置`
139
- 2. `## 长期约束`
140
- 3. `## 核心角色状态`
141
- 4. `## 活跃伏笔`
142
- 5. `## 近三章速记`
143
- 6. `## 下一章承诺`
144
- 7. `## 连贯性风险`
145
-
146
- 其中活跃角色最多 6 人、活跃伏笔确定性选取最多 8 条、近章只保留 3 章。这些是下一章热上下文容量,不是完整角色状态的容量限制。
@@ -1,270 +0,0 @@
1
- # 长篇拆文参考
2
- 结构、卖点循环与题材写法的观察标尺:只识别原文已采用的机制,不要求源文符合某套写法,也不据此补写剧情。Stage 3 按需查「桥段词表」。
3
-
4
- ## 管道阶段映射
5
-
6
- | 本文件章节 | 适用管道阶段 | 用途 |
7
- |-----------|-------------|------|
8
- | 核心情绪控制 | Stage 1(黄金三章)| 判断开篇情绪是否到位 |
9
- | 题材边界与核心梗 | Stage 0(概要提取)| 识别题材类型和核心梗 |
10
- | 拆书方法论 | Stage 1-2(三章+连续章节块)| 拆解视角和提取方法 |
11
- | 结构设计与节奏 | Stage 3(聚合分析)| 节奏地图和情绪曲线构建 |
12
- | 卖点循环设计 | Stage 3(聚合分析)| 爽点循环模式识别 |
13
- | 桥段词表 | Stage 3(聚合分析)| 给剧情模块打桥段标签 |
14
- | 经典作品拆解 | Stage 1-2 | 对标拆解参考框架 |
15
- | 拆书实操技巧 | Stage 2(连续章节块提取)| 情绪折线图、期待分析 |
16
- | 对标书选择 | Stage 0(概要提取)| 确定拆解对象 |
17
- | 抽象拆书法 | Stage 3(聚合分析)| 三幕式结构归纳 |
18
- | 影视拉片与情绪控制 | Stage 2-3 | 情绪曲线精细化分析 |
19
- | 多线叙事与结构循环 | Stage 3(聚合分析)| 多线交织识别 |
20
- | 题材实战 | Stage 0-1(概要+三章)| 题材特有爽点形态 |
21
- | 人设塑造 | Stage 4(设定+关系)| 角色档案和出场设计 |
22
- | 素材转化 | Stage 0-5(全流程)| 拆文结果转化为写作指导 |
23
-
24
- ---
25
-
26
- ## 核心情绪控制
27
-
28
- ### 自检规则
29
-
30
- 拆解或审查时标记:文本是否偏离核心梗、是否出现只服务表达欲但不服务读者期待的段落。偏离核心梗时,输出为留存风险而不是主观评价。
31
-
32
- ### 核心情绪崩溃案例
33
-
34
- | 问题 | 教训 |
35
- |------|------|
36
- | 主角独断万古身边人死绝 | 读者代入后"天下无敌啥也得不到",憋屈 |
37
- | 换地图杀光所有配角 | 读者已投入的关系失去后续作用,检查是否影响追读期待 |
38
- | 所有人牺牲成工具人 | 高开低走,核心情绪崩坏 |
39
-
40
- 可借鉴的处理:用挫折制造悲情;换地图时让旧角色的处境继续影响主角行动,维持读者对关系的投入。
41
-
42
- ### 角色牺牲的观察条件
43
-
44
- - 角色牺牲改变了什么,是否只为制造悲伤
45
- - 之前是否有铺垫,之后是否有补偿或情绪回收
46
- - 重要角色消失后,已建立的关系与读者期待怎样延续
47
- - 悲情是否符合本书的阅读承诺;判断平台倾向时另核近期样本
48
-
49
- ### 强情绪样本校验
50
-
51
- 若目标平台近期样本高频出现强情绪文,拆解时记录:触发情绪、释放节奏、噱头位置、留存证据。没有近期样本时,不把强情绪当作硬性趋势,只作为候选假设。
52
-
53
- ---
54
-
55
- ## 题材边界与核心梗
56
-
57
- ### 核心梗与读者需求
58
-
59
- | 偏离类型 | 后果 |
60
- |----------|------|
61
- | 核心对比消失(都市高武→普通) | 原有期待难以继续兑现 |
62
- | 核心机制不升级(网游困在新手村) | 限制上限 |
63
- | 题材串味(玄幻混诡异/悬疑跑偏到玄幻) | 检查两类期待能否同时兑现 |
64
- | 后期三观偏离 | 受众筛选过严重 |
65
-
66
- ### 核心梗延伸四维度
67
-
68
- 以"逆袭系统(早到流)"为例:1.任务数量 2.奖励难度 3.等级阶层+隐藏触发 4.奖励触发新戏剧性任务。仅用前两点戏剧性快速消耗殆尽,四点结合才持续。
69
-
70
- ### 核心梗密度参考
71
-
72
- 密度按核心梗实际应用次数 / 已拆章节数记录,并列出对应章节;频繁使用是否有效,要结合每次变化与兑现判断。
73
-
74
- ---
75
-
76
- ## 拆书方法论
77
-
78
- ### 六原则
79
-
80
- 明确拆解目的,选用对应方法,归纳可复用规律;区分个人好恶与写法效果,分析作品长短处,并优先选择自己愿意细读的书。
81
-
82
- ### 流程
83
-
84
- 概括一句话 → 识别结构单元(起承转合,递进扩大) → 抽离框架+情绪链条 → 借鉴框架非抄内容
85
-
86
- ### 条件框架提取法
87
-
88
- 剧情提炼为条件(如:展露部分天赋+两方势力争夺+信息差制造慧眼识珠),替换人物/背景/金手指后复用,保留情绪相似。
89
-
90
- ### 抽象五步法
91
-
92
- 概括 → 拆为信息团(情绪转折点) → 按上行/下行/转折归类 → 提取通用条件框架 → 用素材填充
93
-
94
- ### 感情线拆法:双标法
95
-
96
- 同一件事(送可乐),男配送女主拒绝,男主送女主接受。三要素:①差不多同一件事前后连续 ②女主态度截然不同 ③男主不清楚。
97
-
98
- ---
99
-
100
- ## 结构设计与节奏
101
-
102
- ### 情绪拉扯工具
103
-
104
- | 技巧 | 做法 |
105
- |------|------|
106
- | 熟悉情绪套路 | 选套路→搞人设→填剧情 |
107
- | 期待断掉续上 | 引入新角色/新事件重新拉起 |
108
- | 装逼打脸底层 | 鄙视链+人际关系舞台+正向反向传播 |
109
- | 复合型配角 | 主角"白手套":替主角发声+绝对支持+搞笑 |
110
-
111
- ### 望远镜拉期待法
112
-
113
- 倒计时结构:不断描写"发现→观测→打捞→失败→坠落"——读者都知道子弹会射向主角→巨大期待。
114
-
115
- ### 分卷节奏(天才俱乐部案例)
116
-
117
- 每二三十万字一卷,有明确核心与目标;卷内多线头纠缠打破线性"起承转合";"起"必须抛钩子;每卷结尾为下卷埋线。
118
-
119
- ### 开篇写法观察
120
-
121
- 可比较两种开篇:用强冲突迅速入局,或从人情冷暖与基础需求展开。拆解时记录细腻描写、画面剪辑感和两三章内完成熟悉套路各自起什么作用,是否适合本书。
122
-
123
- ---
124
-
125
- ## 卖点循环设计
126
-
127
- ### 完美循环(天灾信使)
128
-
129
- 开小号装逼打脸赚好处→拿好处做主线任务→获得奖励→给小号提升武力→新地图装逼打脸→循环。关键:每次内容不同;情感进展拉住期待感;最终暴露小号身份=装出去的逼兜回主角。
130
-
131
- ### 信息密集型循环(苟在初圣宗)
132
-
133
- 按"轮回"拆分,每轮回=完整故事。循环还需要更新目标、冲突或关系,避免只重复力量升级。
134
-
135
- ### 直播流循环
136
-
137
- 有目标(确定性预期)→ 有对抗(短平快胜负)→ 有阶段性(任务升级)→ 整活正反馈
138
-
139
- ---
140
-
141
- ## 经典作品拆解
142
-
143
- | 作品/作者 | 核心拆解点 |
144
- |-----------|-----------|
145
- | 遮天(辰东) | 九龙拉棺倒计时+同学打脸+前女友回归+进荒古禁地(不断切换期待类型) |
146
- | 夜无疆(辰东) | 大病初愈+无粮+邻居救济→画面剪辑感→熟悉套路两三章速战速决 |
147
- | 我吃西红柿 | "没有特点"=普适性强;敢写升级突飞猛进+敌人摧枯拉朽;前提三观正 |
148
- | 赘婿(香蕉) | 写诗装逼教科书:铺设人际→构架舞台→诗作逐层传播→多轮震惊→态度闭环 |
149
- | 炮火弧线 | 煽情+身临其境;军文核心=国与国、信仰与信仰 |
150
-
151
- ---
152
-
153
- ## 拆书实操技巧
154
-
155
- ### 从期待出发
156
-
157
- - 先知先觉类金手指使用场景:介绍世界观/提升实力/装逼前/对比高手前/介绍新人物前
158
- - 过渡情节写收获/暧昧/小情节,无冲突可跳到冲突前一秒
159
-
160
- ### 情绪折线图
161
-
162
- 横轴=章节,纵轴=情绪正负。控制节奏=控制"富有戏剧性的信息团"出现速度。信息团=能造成情绪转折的情节。
163
-
164
- ### 逐段功能标注法
165
-
166
- 对照原文逐段标记叙事功能(铺垫/转折/高潮/过渡),追踪情绪走向、困境设计、伏笔衔接,输出可复用框架;禁止复制剧情内容或表达。
167
-
168
- ---
169
-
170
- ## 对标书选择
171
-
172
- | 错误 | 原因 |
173
- |------|------|
174
- | 用单书概括市场 | 跨作品判断需另取同平台、同题材与同类型样本;单书结论只对本书负责 |
175
- | 只拆唯一头部爆款 | 头部作品可能依赖不可复制的作者品牌或历史流量,优先选择同平台同题材、数据稳定、非唯一头部的可复制样本 |
176
- | 跨网站对标 | 不同网站读者群体不同,写法差异大 |
177
-
178
- 做跨作品比较时,可先收集同题材样本再定对标书;单书拆解不要求凑足参考书。
179
-
180
- ---
181
-
182
- ## 抽象拆书法:三幕式
183
-
184
- | 幕 | 核心 |
185
- |----|------|
186
- | 第一幕-建立 | 暗示矛盾→主角+金手指→惊人意外→情绪上下拉扯→主线确立 |
187
- | 第二幕-对抗 | 新世界→更强对手→中点反转→情绪拉扯(下行后必有上行) |
188
- | 第三幕-决战 | 线索收束→矛盾极限→关键选择(体现人物弧光)→决战+主题升华 |
189
-
190
- ---
191
-
192
- ## 影视拉片与情绪控制
193
-
194
- - 人物态度转变=最能体现情绪
195
- - 打斗间穿插反应但控制字数,否则截断节奏
196
- - 用情绪展示境况(感叹/震惊/窃喜)表现优劣
197
- - 观察动作段落是否带出情绪变化,以及未变化的段落承担什么作用
198
-
199
- ---
200
-
201
- ## 多线叙事与结构循环
202
-
203
- ### 多线拆解维度
204
-
205
- 事件节点(新人物/冲突爆发)/ 情绪链条节点(一句话概括)/ 事业线 / 感情线
206
-
207
- 感情线模板(单角色):相遇态度→关键转折→态度递进(厌恶→好奇→心动→沦陷)→推倒引爆点
208
-
209
- ### 循环层次感
210
-
211
- 同一框架循环时每次内容必须不同(地图/角色/冲突/情感细节更新)。力量体系保持一致,同时检查每轮是否新增目标、冲突或关系变化。
212
-
213
- ---
214
-
215
- ## 题材实战
216
-
217
- | 题材 | 核心要点 |
218
- |------|----------|
219
- | 历史文 | 本质=类同人写法;书名"朝代+开局事件";核心梗=先知先觉震惊名人+改变历史 |
220
- | 军事文 | 卖点=煽情+身临其境;核心矛盾=国与国/信仰/意识形态 |
221
- | 种田/脑洞 | 密集小爽点(收藏/能力/面板/震惊);面板设定要细致 |
222
- | 直播流 | 目标(确定性预期)+对抗(短平快)+阶段性+爽点写法:先告诉读者打算怎么装逼,再装个更大的 |
223
- | 两界穿梭 | 书名即卖点;核心梗=在A世界低调用B世界资源;长生凡人流:时间尺度大+配角代际更替 |
224
- | 重生流 | 天然期待感;前世被辜负→这一世报复;爽点可重复使用每次形式不同;若目标样本采用简单直给的标签写法,记录它怎样帮助读者识别卖点,不扩展为整个平台的固定标准 |
225
-
226
- ---
227
-
228
- ## 桥段词表
229
-
230
- 给 Stage 3 的 `剧情/{标题}.md` 打「桥段标签」用的常见桥段词。命中就标,逗号分隔;不在表内但本书确有的桥段照实写,不硬凑、宁缺毋滥。**可扩展种子,不是封闭枚举。**
231
-
232
- | 题材 | 常见桥段 |
233
- |------|----------|
234
- | 都市/言情 | 打脸、扮猪吃虎、马甲掉落、先婚后爱、追妻火葬场、破镜重圆、替身、契约婚姻、萌宝助攻 |
235
- | 玄幻/修仙 | 废柴逆袭、扮猪吃虎、越级战斗、夺宝、护短打脸、绝境翻盘、机缘逆天 |
236
- | 历史/种田 | 先知先觉、改变历史、科举经商崛起、攒钱起家、技能点亮 |
237
- | 悬疑/无限 | 信息差、反转打脸、规则怪谈、身份揭穿、复盘解谜 |
238
- | 系统流 | 任务奖励、签到、面板升级、强制任务、积分兑换 |
239
- | 重生/穿越 | 前世复仇、改命、身份调换、双重生、未卜先知 |
240
- | 世情/家庭 | 极品亲戚、婆媳争斗、偏心打脸、维权反击、自我觉醒 |
241
- | 直播/两界 | 直播整活、低调用资源、两界差价、围观震惊 |
242
-
243
- ---
244
-
245
- ## 人设塑造
246
-
247
- ### 第一章立人设
248
-
249
- 小事件展示性格→贴标签确立;紧急事件快速带入剧情;女角色第一步反应要体现性格。
250
-
251
- ### 日常体现人设
252
-
253
- 重复出现符合人设的行为;配角功能化(嫉妒型:得意→嫉妒;崇拜型:质疑→佩服);配角情绪转变要写出。
254
-
255
- ### 开篇逻辑
256
-
257
- 被动入局→交流了解世界观→陷入困境→明确目标→展示金手指→通过金手指收获
258
-
259
- ---
260
-
261
- ## 素材转化
262
-
263
- 从热点提取:识别核心冲突→定主线方向→用经典框架填充素材。
264
-
265
- ### 文体决定行文
266
-
267
- | 文体 | 行文 |
268
- |------|------|
269
- | 打脸爽文 | 节奏快、描写少、言语凝练 |
270
- | 感情流 | 细水长流、细腻描写 |
@@ -1,84 +0,0 @@
1
- # 长篇拆文语义验收样例
2
-
3
- 这些短文本为本项目自有合成样例,用于审查和联合测试。这些样例只用于语义评估,不走生产批次提交:直接向待评估模型提供样例文本及分析要求,再按“应识别的关系”评分;不得仅以关键词或栏目存在判通过。
4
-
5
- ## 样例一:事件与多次披露
6
-
7
- ### 原文
8
-
9
- 第一章,掌印官罗衡趁换值时把边军密函交给敌使,交易已经完成。叙述只写他洗掉指缝里的红蜡,没有解释来源。第二章,主角沈照发现封匣完好,罗衡却换了从不用的沉香。第三章,驿卒说昨夜有人持罗衡腰牌出城;罗衡声称腰牌早已遗失,读者第一次能把红蜡、香气和出城记录连起来,沈照仍认为可能是冒用。第四章,敌使被捕并交出密函,罗衡承认交易。
10
-
11
- ### 应识别的关系
12
-
13
- - 客观事件只有一次:罗衡在第一章完成背叛和交付。
14
- - 至少四个披露节点:红蜡异常、香气异常、腰牌证词与解释冲突、物证加口供确认。
15
- - 读者在第三章已高度怀疑,沈照仍保留另一解释;第四章双方才获得确认。
16
- - 分析要说明判断怎样从“无解释细节”变为“可连接线索”再变成“事实确认”,不能把四个节点写成四次背叛。
17
-
18
- ## 样例二:安静告别的三维节奏
19
-
20
- ### 原文
21
-
22
- 车已停在门外,阿芹只需要上车。祖母替她缝好松开的袖扣,又把针线盒里最后一颗旧铜扣塞进她掌心。两人谈的都是路上会不会下雨,谁也没提阿芹此去可能多年不归。作者用三页写针穿过布、手指停顿和几次被岔开的道别。场景结束时,阿芹上车,祖母仍站在门槛内。
23
-
24
- ### 应识别的关系
25
-
26
- - 事件推进较低到中:外部结果主要是离家成行,但关系进入长期分离的新状态。
27
- - 情绪强度高:铜扣、回避直说和动作停顿共同制造不舍,不等于“因为是告别所以悲伤”。
28
- - 篇幅展开度高:一个简单动作被细节、停顿和潜台词展开;应解释展开服务于压住直白告别。
29
- - 三个分数必须各有证据和理由,不能用“慢节奏”概括全部。
30
-
31
- ## 样例三:因果归属不只属于主角
32
-
33
- ### 原文
34
-
35
- 顾野要在天黑前把药送过关桥。守桥人因旧债扣下他,他第一次交涉失败。同行的秋禾主动拿自己的通行牌作抵押,守桥人才放行。两人刚过桥,山洪冲断桥面,追兵被隔在对岸,秋禾也永久失去通行资格。顾野救到了病人,却欠下秋禾无法立刻偿还的人情。
36
-
37
- ### 应识别的关系
38
-
39
- - 起始目标:顾野送药;阻碍:旧债导致关桥受阻。
40
- - 改变局面的关键行动由秋禾作出;山洪是后续放大结果的外部事件。
41
- - 收益包括送药成功和摆脱追兵;代价由秋禾先承担,顾野新增关系债务。
42
- - 后续行动空间改变:秋禾不能再合法通关,顾野必须处理欠债。不得反推为顾野预先利用山洪。
43
-
44
- ## 样例四:机制的成立与失效
45
-
46
- ### 原文与变体
47
-
48
- 原场景中,学徒周宁被诬陷篡改账册。师父一向允许学徒当众核账,三日前又让众人各自封存底稿。周宁在全体同门前拿出封条完整的底稿,对照出诬陷者新增的一笔。师父先前承诺“账目说话”,因此公开认错并恢复周宁资格。
49
-
50
- 变体中,掌柜长期以惩罚控制伙计,底稿只由掌柜保管,围观者也依赖掌柜发薪。即使伙计拿出一张抄本,众人也可能认为它是伪造品,不敢公开站队。
51
-
52
- ### 应识别的关系
53
-
54
- - 原机制为公开质疑 → 可独立验证的旧证据 → 权威受先前承诺约束 → 公开纠错;“先压后扬”不足以说明成立条件。
55
- - 成立条件包括核账惯例、多人独立封存、师徒关系仍承认程序、见证者有表达空间。
56
- - 可替换的是行业、证据载体和具体诬陷;不可随意删掉独立验证与权威自我约束。
57
- - 变体失效源于证据控制和关系权力不同,不应硬套同一兑现。
58
-
59
- ## 样例五:资料不足保留未知
60
-
61
- ### 原文
62
-
63
- 密室地面有一串湿脚印,窗闩从内扣住。侦探只说“有人希望我们先看窗户”,本段到此结束。正文没有出现暗道、机关或凶手身份。
64
-
65
- ### 应识别的关系
66
-
67
- - 可确认:湿脚印、内扣窗闩和侦探认为视线被引向窗户。
68
- - 不能确认:存在暗道、凶手从窗户进入、脚印由凶手留下、侦探已经知道答案。
69
- - 未知项写明证据缺口和待后文确认,不用类型小说惯例补齐。
70
-
71
- ## 评价表
72
-
73
- 每项 0–2 分:0 为错误或缺失,1 为部分正确,2 为关系清楚且有证据。总分至少 10/12,且无硬失败,才算通过。
74
-
75
- | 项目 | 2 分标准 |
76
- |---|---|
77
- | 因果与归属 | 目标、阻碍、改变局面的主体/事件、得失和后续约束连接正确 |
78
- | 事件与披露 | 客观事件不重复,多次披露和判断变化对应正确 |
79
- | 知识边界 | 读者与关键角色在各节点的已知/未知分开 |
80
- | 三维节奏 | 事件、情绪、篇幅分别解释并允许高低组合不同 |
81
- | 机制迁移 | 写出期待、铺垫、关系/资源/信息条件及失效原因 |
82
- | 证据纪律 | 结论可定位,未知不被常识或类型惯例填满 |
83
-
84
- 硬失败包括:把披露当事件重复登记;把配角或外部事件的作用归给主角;用分数替代理由;把未知写成事实;为旧项目伪造当前主产物;主报告与底层事实相互冲突。
@@ -1,133 +0,0 @@
1
- # 文风协议
2
-
3
- > **何时加载**:story-long-analyze Stage 6 执行前。下游写作 skill 直接读 `文风.md`,不加载本协议。
4
-
5
- ## 产物定义
6
-
7
- `拆文库/{书名}/文风.md` 是整书的写作技法档案,聚合:
8
-
9
- - 句长 / 标点 / 段落节奏(从已有样本或按索引定点读取的可验证原句统计)
10
- - 对话潜台词模式 + 角色语气区分
11
- - 章内与跨章情绪交替周期(从已有情节点和章级基调观察)
12
- - `拆文报告.md` 已有的「写法技巧」「可借鉴套路」
13
- - 分层模仿建议(基础层 / 进阶层 / 适配层,强调学手法不搬桥段)
14
- - 4-6 段可验证原文锚点片段(范例片段用;优先已有样本,没有时按索引定点读取,都不可用时明确失败)
15
-
16
- ## 文件路径
17
-
18
- - **写**:`拆文库/{书名}/文风.md`(analyze 独占)
19
- - **读**:该书被显式选为另一项目的外部对标时,由 story-import 或 story-long-write 首次引用同步到 `{项目}/对标/{书名}/文风.md`;story-long-write 读项目对标视图(回退拆文库)。story-import 正在重建的本书不走这条同步。
20
-
21
- ## 字数预算
22
-
23
- - **硬上限 4000 字**
24
- - 描述部分(整体语感 + 对话技法 + 情绪交替模式 + 可借鉴技巧 + 分层模仿建议)≤ 1800 字
25
- - 原文锚点片段4–6段,每段300–500字,合计≤2100字
26
- - 不可模仿 + 生成记录 ≤ 100 字
27
-
28
- ## 模板
29
-
30
- ```markdown
31
- # {书名} 文风
32
-
33
- ## 生成记录
34
- - 参考资料:拆文报告.md、黄金三章深度拆解、章节摘要
35
- - 抽样章节:第 {K1}/{K2}/{K3}/{K4}[/{K5}/{K6}] 章(每章取 300-500 字连续行段)
36
- - 生成时间:{date}
37
- - 适用对标书路径:拆文库/{书名}/
38
- - 文风可用:是 # 若没有可核验的原句锚点,写“否:原因”;原文文件缺失但已有有效样本时仍可使用
39
-
40
- ## 整体语感
41
- - 句长分布:{在 4-6 段合并样本上确定性测量——短句(<15字)占比 X%、中句(15-30)Y%、长句(>30)Z%、平均句长 N 字、标点密度 M%。一句概括语感。`confidence: high`(数据由机械统计得出,不是模型估计)。}
42
- - confidence: high | med | low
43
- - 标点习惯:{破折号/省略号/句号/感叹号/分号 的高频用法。附 2-3 个原文短片段示例。}
44
- - confidence: high | med | low
45
- - 段落节奏:{平均段长、单段单动作 vs 多动作堆叠、断行习惯。}
46
- - confidence: high | med | low
47
-
48
- ## 对话技法
49
- - 潜台词模式:{2-3 种典型潜台词手法(问非所答 / 语气反差 / 信息隐瞒等),每种附 1 段原文示例。}
50
- - confidence: high | med | low
51
- - 对话标签习惯:{说话动词多样性、动作替代说话标签的频率、对话与动作的穿插比例。}
52
- - 角色语气区分:{主角和 1-2 个核心配角的口头禅/句式差异,引用原文样本句。}
53
-
54
- ## 情绪交替模式
55
- - 章内基调切换:{统计章节内情节点基调序列——典型章节是否在 紧张↔轻松 或 热血↔温馨 之间切换、切换频率(每章 N 次)。}
56
- - confidence: high | med | low
57
- - 跨章基调周期:{已拆范围内前20章的「章基调」序列;不足20章用实际章数并注明范围,识别“虐 3 章爽 1 章”之类周期。}
58
- - 喜剧↔重击的转场手法:{对标书在 轻松→悲伤 锐角转场时用了什么手法,举 1-2 个原文锚点。}
59
-
60
- ## 可借鉴技巧(从 拆文报告.md 直接引用)
61
- - 写法技巧 Top 5:
62
- 1. {技巧名}:{一句话用法说明}
63
- 2. ...
64
- - 可借鉴套路 Top 3:
65
- 1. {套路名}:{适用场景}
66
- 2. ...
67
-
68
- ## 分层模仿建议
69
- - 基础层(必学):{词汇偏好、句式节奏、对话标签、描写重心中最容易迁移的 3-5 条;只学表达习惯,不复制原句}
70
- - 进阶层(结构):{节奏推进、伏笔埋回、视角切换、场景衔接中最值得复用的 3-5 条;替换人物/场景/道具后再使用}
71
- - 适配层(适合当前项目):{哪些技法适合当前项目,哪些会导致人设/题材错位;明确不要搬运专名、标志性台词、独特桥段和事件顺序}
72
-
73
- ## 原文锚点片段
74
-
75
- > 每片段 300-500 字,**用于 narrative-writer 写作时的范例片段**。优先复用旧文风、黄金三章或批次中已经保存并带定位的连续原句;没有有效样本时,Stage 6 可按 `chapter_index.csv` 定点读取 4-6 段连续原文。不得重扫全书。模仿手法、不抄字句。
76
-
77
- ### 片段 A — 基调:紧张
78
- **出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
79
- **示范点**:{句长节奏(该处长短如何分布) / 标点位置 / 一笔两用 等}
80
-
81
- ```
82
- {300-500 字原文}
83
- ```
84
-
85
- ### 片段 B — 基调:悲伤/压抑
86
- **出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
87
- **示范点**:{对话潜台词手法}
88
-
89
- ```
90
- {300-500 字原文}
91
- ```
92
-
93
- ### 片段 C — 基调:轻松/搞笑
94
- **出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
95
- **示范点**:{句子节奏 / 角色语气区分}
96
-
97
- ```
98
- {300-500 字原文}
99
- ```
100
-
101
- ### 片段 D — 基调:热血/爽点
102
- **出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
103
- **示范点**:{爽点铺放比 / 动作描写句长}
104
-
105
- ```
106
- {300-500 字原文}
107
- ```
108
-
109
- > 优先覆盖项目可能用到、且对标书中样本充足的基调:紧张、悲伤/压抑、轻松/温馨、热血。按拆文里实际分布挑 4-6 段;缺哪个基调就写“本书该基调样本不足,跳过”,不要编造。
110
-
111
- ## 不可模仿
112
- - {对标书的明显缺陷或不适合当前项目的技法。可选段落,可空。}
113
- ```
114
-
115
- ## confidence 字段语义
116
-
117
- | 值 | 触发条件 | 下游处理 |
118
- |---|---|---|
119
- | `high` | 数据直接可读(如基调序列从摘要 grep 得出) | narrative-writer 优先采纳,覆盖默认 Gate |
120
- | `med` | 从样本归纳且样本充足(如看章节基调走向、对话潜台词整理) | narrative-writer 参考,与默认 Gate 协商 |
121
- | `low` | 样本不足/原文缺失 | narrative-writer 让位回默认 Gate(不强制采纳) |
122
-
123
- ## 可用性语义
124
-
125
- - `文风可用:是` → 文风可用于写作,narrative-writer 按 confidence 分级使用。
126
- - `文风可用:否:{原因}` → 文风质量不足(例如没有可核验原句、锚点全是占位符)。story-explorer 读取时返回 `gaps.profile_degenerate: true`,narrative-writer 跳过文风,按默认 Gates 写作。
127
-
128
- ## 覆盖与不可模仿原则
129
-
130
- - **覆盖**:文风优先级排在 Gate D(节奏调整)、Gate B(句式去套路)、标点默认习惯之上——这些 Gate 是去 AI 味的**默认值**,文风有更具体的指令时文风赢。
131
- - **不可覆盖**:细纲事件、信息揭露边界、用户字数范围、文件结构。禁用词、结尾、比喻等表达默认值按 style-resolution 的优先级裁决,对标文风低置信时让位给默认值。
132
-
133
- 精确决议表见 `.claude/agents/narrative-writer.md` 的“被调用协议”段。