@oh-story/dsh 0.1.8 → 0.1.10

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 (360) hide show
  1. package/README.md +14 -14
  2. package/lib/client.js +237 -84
  3. package/lib/client.js.map +3 -3
  4. package/lib/drama/manifest.json +183 -77
  5. package/lib/drama/skills/short-drama/SKILL.md +5 -1
  6. package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +140 -9
  7. package/lib/drama/skills/short-drama/scripts/project_tool.py +11 -0
  8. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +28 -0
  9. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +8 -2
  10. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +28 -0
  11. package/lib/drama/skills/short-drama-edit/SKILL.md +146 -0
  12. package/lib/drama/skills/short-drama-edit/agents/openai.yaml +4 -0
  13. package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +60 -0
  14. package/lib/drama/skills/short-drama-edit/assets/remotion/package.json +15 -0
  15. package/lib/drama/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
  16. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
  17. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
  18. package/lib/drama/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
  19. package/lib/drama/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
  20. package/lib/drama/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
  21. package/lib/drama/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
  22. package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
  23. package/lib/drama/skills/short-drama-edit/references/cut-craft.md +38 -0
  24. package/lib/drama/skills/short-drama-edit/references/delivery-verify.md +29 -0
  25. package/lib/drama/skills/short-drama-edit/references/generated-footage.md +54 -0
  26. package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
  27. package/lib/drama/skills/short-drama-edit/references/stage-contract.md +51 -0
  28. package/lib/drama/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
  29. package/lib/drama/skills/short-drama-edit/scripts/selftest.py +520 -0
  30. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +2 -0
  31. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +5 -0
  32. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +3 -0
  33. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +11 -0
  34. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +2 -2
  35. package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +4 -1
  36. package/lib/drama/skills/short-drama-produce/SKILL.md +29 -4
  37. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +22 -0
  38. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +13 -12
  39. package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
  40. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +7 -0
  41. package/lib/drama/skills/short-drama-produce/scripts/fixture_adapter.py +18 -1
  42. package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +181 -2
  43. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +199 -3
  44. package/lib/drama/skills/short-drama-review/SKILL.md +2 -0
  45. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +7 -0
  46. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +10 -0
  47. package/lib/drama/skills/short-drama-storyboard/SKILL.md +12 -1
  48. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +4 -0
  49. package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
  50. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +78 -2
  51. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +2 -0
  52. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +12 -5
  53. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +17 -0
  54. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +76 -7
  55. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +5 -2
  56. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +21 -0
  57. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +6 -17
  58. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +12 -3
  59. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +61 -5
  60. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +3 -3
  61. package/lib/drama/skills/short-drama-write/SKILL.md +11 -2
  62. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +6 -0
  63. package/lib/drama/skills/short-drama-write/references/stage-contract.md +1 -0
  64. package/lib/index.js +290 -90
  65. package/lib/index.js.map +4 -4
  66. package/lib/novel-to-game/README.md +299 -59
  67. package/lib/novel-to-game/README_ZH.md +299 -56
  68. package/lib/novel-to-game/VERSION +1 -1
  69. package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +3 -1
  70. package/lib/novel-to-game/examples/jin-ping-mei/build/app/RUN.md +11 -3
  71. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/new-guofeng.css +397 -8
  72. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/style.css +0 -31
  73. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/data.js +71 -73
  74. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/engine.js +78 -89
  75. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/main.js +37 -14
  76. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/text.js +5 -5
  77. package/lib/novel-to-game/examples/jin-ping-mei/build/app/package.json +2 -1
  78. package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +11 -16
  79. package/lib/novel-to-game/examples/jin-ping-mei/qa/verification.json +11 -11
  80. package/lib/novel-to-game/examples/jin-ping-mei/qa/verify_playable_model.mjs +23 -0
  81. package/lib/novel-to-game/manifest.json +77 -87
  82. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +9 -35
  83. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +27 -106
  84. package/lib/novel-to-game/skills/game-build/SKILL.md +17 -35
  85. package/lib/novel-to-game/skills/game-build/references/blender-asset-workflow.md +24 -0
  86. package/lib/novel-to-game/skills/game-build/references/build-brief-contract.md +45 -82
  87. package/lib/novel-to-game/skills/game-build/references/generative-media-pipeline.md +14 -45
  88. package/lib/novel-to-game/skills/game-build/references/playable-model-contract.md +30 -65
  89. package/lib/novel-to-game/skills/game-build/references/tts-production-contract.md +13 -27
  90. package/lib/novel-to-game/skills/game-concept/SKILL.md +16 -34
  91. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +28 -75
  92. package/lib/novel-to-game/skills/game-qa/SKILL.md +9 -20
  93. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +10 -6
  94. package/lib/novel-to-game/skills/game-world-design/SKILL.md +19 -32
  95. package/lib/novel-to-game/skills/game-world-design/references/narrative-design-method.md +23 -72
  96. package/lib/novel-to-game/skills/game-world-design/references/numeric-design-method.md +14 -48
  97. package/lib/novel-to-game/skills/game-world-design/references/world-design-method.md +36 -103
  98. package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +9 -18
  99. package/lib/novel-to-game/skills/novel-game-analyze/references/gameability-protocol.md +4 -4
  100. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +10 -27
  101. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +5 -6
  102. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +6 -11
  103. package/lib/oh-story/manifest.json +419 -254
  104. package/lib/oh-story/roles/chapter-extractor.md +177 -237
  105. package/lib/oh-story/roles/character-designer.md +1 -1
  106. package/lib/oh-story/roles/consistency-checker.md +4 -4
  107. package/lib/oh-story/roles/narrative-writer.md +56 -243
  108. package/lib/oh-story/roles/story-architect.md +6 -6
  109. package/lib/oh-story/roles/story-explorer.md +11 -11
  110. package/lib/oh-story/skills/story/SKILL.md +13 -7
  111. package/lib/oh-story/skills/story/VERSION +1 -1
  112. package/lib/oh-story/skills/story/references/author-memory.md +61 -29
  113. package/lib/oh-story/skills/story/scripts/author_memory_commit.py +934 -170
  114. package/lib/oh-story/skills/story-cover/SKILL.md +10 -1
  115. package/lib/oh-story/skills/story-deslop/SKILL.md +54 -229
  116. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +29 -56
  117. package/lib/oh-story/skills/story-deslop/references/author-memory.md +61 -29
  118. package/lib/oh-story/skills/story-deslop/references/banned-words.md +3 -1
  119. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +154 -0
  120. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +27 -0
  121. package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +934 -170
  122. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +6 -1
  123. package/lib/oh-story/skills/story-deslop/scripts/check-degeneration.js +39 -20
  124. package/lib/oh-story/skills/story-deslop/scripts/normalize-punctuation.js +10 -5
  125. package/lib/oh-story/skills/story-deslop/scripts/style-whitelist.js +39 -0
  126. package/lib/oh-story/skills/story-import/SKILL.md +78 -82
  127. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +1 -1
  128. package/lib/oh-story/skills/story-import/references/format-and-structure.md +2 -2
  129. package/lib/oh-story/skills/story-import/references/state-tracking.md +4 -69
  130. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +10 -8
  131. package/lib/oh-story/skills/story-import/references/tracking-initialization.md +31 -0
  132. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +9 -34
  133. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +197 -15
  134. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +210 -2
  135. package/lib/oh-story/skills/story-import/scripts/wordcount_core.py +3 -0
  136. package/lib/oh-story/skills/story-long-analyze/SKILL.md +91 -258
  137. package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +245 -0
  138. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +2 -2
  139. package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +105 -0
  140. package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +113 -105
  141. package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +169 -125
  142. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +172 -64
  143. package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +84 -0
  144. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +42 -132
  145. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +5 -5
  146. package/lib/oh-story/skills/story-long-analyze/scripts/build_chapter_index.py +466 -0
  147. package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +702 -0
  148. package/lib/oh-story/skills/story-long-analyze/scripts/inspiration_index.py +864 -0
  149. package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +1106 -0
  150. package/lib/oh-story/skills/story-long-analyze/scripts/render_relation_chart.py +425 -0
  151. package/lib/oh-story/skills/story-long-scan/SKILL.md +4 -1
  152. package/lib/oh-story/skills/story-long-write/SKILL.md +52 -216
  153. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +29 -56
  154. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +72 -12
  155. package/lib/oh-story/skills/story-long-write/references/author-memory.md +61 -29
  156. package/lib/oh-story/skills/story-long-write/references/banned-words.md +3 -1
  157. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +20 -0
  158. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +26 -0
  159. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +10 -4
  160. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +2 -2
  161. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +6 -15
  162. package/lib/oh-story/skills/story-long-write/references/long-format.md +2 -0
  163. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +2 -0
  164. package/lib/oh-story/skills/story-long-write/references/project-files.md +110 -0
  165. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +12 -4
  166. package/lib/oh-story/skills/story-long-write/references/reference-index.md +86 -0
  167. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +1 -1
  168. package/lib/oh-story/skills/story-long-write/references/style-craft.md +9 -29
  169. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +1 -1
  170. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +27 -0
  171. package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +31 -0
  172. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +9 -34
  173. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +88 -118
  174. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +55 -119
  175. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +15 -11
  176. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +73 -54
  177. package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +22 -0
  178. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +63 -4
  179. package/lib/oh-story/skills/story-long-write/scripts/author_memory_commit.py +934 -170
  180. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +531 -0
  181. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +6 -1
  182. package/lib/oh-story/skills/story-long-write/scripts/check-degeneration.js +39 -20
  183. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +197 -15
  184. package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +90 -23
  185. package/lib/oh-story/skills/story-long-write/scripts/normalize-punctuation.js +10 -5
  186. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +285 -0
  187. package/lib/oh-story/skills/story-long-write/scripts/storyctl.py +58 -0
  188. package/lib/oh-story/skills/story-long-write/scripts/style-whitelist.js +39 -0
  189. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +210 -2
  190. package/lib/oh-story/skills/story-long-write/scripts/wordcount_core.py +3 -0
  191. package/lib/oh-story/skills/story-review/SKILL.md +80 -87
  192. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +29 -56
  193. package/lib/oh-story/skills/story-review/references/author-memory.md +61 -29
  194. package/lib/oh-story/skills/story-review/references/banned-words.md +3 -1
  195. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +10 -4
  196. package/lib/oh-story/skills/story-review/references/review-quality.md +6 -12
  197. package/lib/oh-story/skills/story-review/references/style-resolution.md +27 -0
  198. package/lib/oh-story/skills/story-review/references/tracking-initialization.md +31 -0
  199. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +9 -34
  200. package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +934 -170
  201. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +6 -1
  202. package/lib/oh-story/skills/story-review/scripts/check-degeneration.js +39 -20
  203. package/lib/oh-story/skills/story-review/scripts/normalize-punctuation.js +10 -5
  204. package/lib/oh-story/skills/story-review/scripts/style-whitelist.js +39 -0
  205. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +210 -2
  206. package/lib/oh-story/skills/story-review/scripts/wordcount_core.py +3 -0
  207. package/lib/oh-story/skills/story-setup/SKILL.md +58 -43
  208. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +29 -56
  209. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +3 -1
  210. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +154 -0
  211. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +10 -4
  212. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +2 -2
  213. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +2 -2
  214. package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +1 -1
  215. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +1 -1
  216. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +1 -1
  217. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +1 -1
  218. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +27 -0
  219. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +63 -4
  220. package/lib/oh-story/skills/story-setup/references/diagnostics.md +38 -0
  221. package/lib/oh-story/skills/story-short-analyze/SKILL.md +22 -3
  222. package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +1 -1
  223. package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +5 -1
  224. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +2 -2
  225. package/lib/oh-story/skills/story-short-scan/SKILL.md +5 -1
  226. package/lib/oh-story/skills/story-short-write/SKILL.md +15 -324
  227. package/lib/oh-story/skills/story-short-write/references/author-memory.md +61 -29
  228. package/lib/oh-story/skills/story-short-write/references/banned-words.md +3 -1
  229. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +60 -0
  230. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +10 -4
  231. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +2 -2
  232. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +1 -1
  233. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +3 -3
  234. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +3 -3
  235. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +3 -3
  236. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +5 -5
  237. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +4 -4
  238. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +5 -5
  239. 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 +3 -3
  240. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +1 -1
  241. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +1 -1
  242. package/lib/oh-story/skills/story-short-write/references/reference-index.md +55 -0
  243. package/lib/oh-story/skills/story-short-write/references/short-craft.md +12 -14
  244. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +10 -10
  245. package/lib/oh-story/skills/story-short-write/references/short-format.md +3 -1
  246. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +2 -2
  247. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +27 -0
  248. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +78 -0
  249. package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +126 -0
  250. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +32 -0
  251. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +5 -5
  252. package/lib/oh-story/skills/story-short-write/scripts/author_memory_commit.py +934 -170
  253. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +6 -1
  254. package/lib/oh-story/skills/story-short-write/scripts/check-degeneration.js +39 -20
  255. package/lib/oh-story/skills/story-short-write/scripts/check-delivery-contract.js +34 -5
  256. package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +90 -23
  257. package/lib/oh-story/skills/story-short-write/scripts/normalize-punctuation.js +10 -5
  258. package/lib/oh-story/skills/story-short-write/scripts/style-whitelist.js +39 -0
  259. package/lib/types/client/drama-production-view.d.ts.map +1 -1
  260. package/lib/types/client/file-activity.d.ts +19 -1
  261. package/lib/types/client/file-activity.d.ts.map +1 -1
  262. package/lib/types/client/index.d.ts.map +1 -1
  263. package/lib/types/client/production-prompts.d.ts +7 -0
  264. package/lib/types/client/production-prompts.d.ts.map +1 -1
  265. package/lib/types/client/production-runtime.d.ts +33 -0
  266. package/lib/types/client/production-runtime.d.ts.map +1 -1
  267. package/lib/types/drama-adapters.d.ts +5 -3
  268. package/lib/types/drama-adapters.d.ts.map +1 -1
  269. package/lib/types/native-hooks.d.ts +52 -0
  270. package/lib/types/native-hooks.d.ts.map +1 -1
  271. package/lib/types/role-identity.d.ts +17 -0
  272. package/lib/types/role-identity.d.ts.map +1 -0
  273. package/lib/types/role-tool.d.ts.map +1 -1
  274. package/lib/types/skill-provider.d.ts.map +1 -1
  275. package/lib/video-recap/CHANGELOG.md +31 -1
  276. package/lib/video-recap/manifest.json +162 -162
  277. package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +4 -9
  278. package/lib/video-recap/skills/video-assemble/scripts/assemble.py +47 -60
  279. package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +77 -115
  280. package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +41 -40
  281. package/lib/video-recap/skills/video-assemble/scripts/audio_automation.py +22 -32
  282. package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +102 -192
  283. package/lib/video-recap/skills/video-assemble/scripts/jianying_builders.py +14 -35
  284. package/lib/video-recap/skills/video-assemble/scripts/jianying_model.py +14 -12
  285. package/lib/video-recap/skills/video-assemble/scripts/jianying_optional.py +8 -9
  286. package/lib/video-recap/skills/video-assemble/scripts/jianying_schema.py +3 -14
  287. package/lib/video-recap/skills/video-assemble/scripts/jianying_timeline_contract.py +23 -12
  288. package/lib/video-recap/skills/video-assemble/scripts/jianying_tracks.py +1 -4
  289. package/lib/video-recap/skills/video-assemble/scripts/jianying_writer.py +24 -25
  290. package/lib/video-recap/skills/video-assemble/scripts/lib.py +31 -85
  291. package/lib/video-recap/skills/video-assemble/scripts/media.py +100 -144
  292. package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +101 -195
  293. package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +10 -21
  294. package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +90 -169
  295. package/lib/video-recap/skills/video-assemble/scripts/subtitle_core.py +69 -122
  296. package/lib/video-recap/skills/video-assemble/scripts/subtitle_render.py +10 -17
  297. package/lib/video-recap/skills/video-assemble/scripts/timeline.py +33 -48
  298. package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +14 -20
  299. package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +135 -213
  300. package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +49 -57
  301. package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +38 -74
  302. package/lib/video-recap/skills/video-cut/scripts/cut_render.py +46 -95
  303. package/lib/video-recap/skills/video-cut/scripts/lib.py +23 -25
  304. package/lib/video-recap/skills/video-cut/scripts/media_geometry.py +70 -173
  305. package/lib/video-recap/skills/video-cut/scripts/narration_mapping.py +28 -53
  306. package/lib/video-recap/skills/video-cut/scripts/sentence_boundaries.py +162 -322
  307. package/lib/video-recap/skills/video-recap/references/timeline-and-jianying.md +6 -7
  308. package/lib/video-recap/skills/video-recap/scripts/doctor.py +104 -124
  309. package/lib/video-recap/skills/video-recap/scripts/final_qc.py +255 -412
  310. package/lib/video-recap/skills/video-recap/scripts/lib.py +30 -52
  311. package/lib/video-recap/skills/video-recap/scripts/materials.py +97 -120
  312. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_client.py +7 -12
  313. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_evidence.py +46 -97
  314. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_observations.py +18 -36
  315. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_payload.py +29 -47
  316. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_report.py +43 -76
  317. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_runner.py +2 -1
  318. package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +2 -1
  319. package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +2 -2
  320. package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +129 -145
  321. package/lib/video-recap/skills/video-recap/scripts/recap_review.py +27 -20
  322. package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +20 -31
  323. package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +31 -106
  324. package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +43 -113
  325. package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +196 -377
  326. package/lib/video-recap/skills/video-script/scripts/agent_brief.py +1 -1
  327. package/lib/video-recap/skills/video-script/scripts/agent_text.py +63 -172
  328. package/lib/video-recap/skills/video-script/scripts/brief_context.py +80 -135
  329. package/lib/video-recap/skills/video-script/scripts/brief_inputs.py +125 -167
  330. package/lib/video-recap/skills/video-script/scripts/brief_timeline.py +93 -208
  331. package/lib/video-recap/skills/video-script/scripts/deslop_qc.py +20 -46
  332. package/lib/video-recap/skills/video-script/scripts/lib.py +30 -26
  333. package/lib/video-recap/skills/video-script/scripts/narration_lint.py +145 -140
  334. package/lib/video-recap/skills/video-script/scripts/review_response.py +12 -42
  335. package/lib/video-recap/skills/video-script/scripts/review_runner.py +0 -6
  336. package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +39 -100
  337. package/lib/video-recap/skills/video-script/scripts/timeline_fusion.py +33 -124
  338. package/lib/video-recap/skills/video-understanding/scripts/agent_brief.py +1 -1
  339. package/lib/video-recap/skills/video-understanding/scripts/agent_text.py +63 -172
  340. package/lib/video-recap/skills/video-understanding/scripts/asr.py +1 -2
  341. package/lib/video-recap/skills/video-understanding/scripts/brief_context.py +80 -135
  342. package/lib/video-recap/skills/video-understanding/scripts/brief_inputs.py +125 -167
  343. package/lib/video-recap/skills/video-understanding/scripts/brief_timeline.py +93 -208
  344. package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +1 -1
  345. package/lib/video-recap/skills/video-understanding/scripts/deslop_qc.py +20 -46
  346. package/lib/video-recap/skills/video-understanding/scripts/lib.py +31 -26
  347. package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +145 -140
  348. package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +39 -100
  349. package/lib/video-recap/skills/video-understanding/scripts/timeline_fusion.py +33 -124
  350. package/lib/video-recap/skills/video-understanding/scripts/vlm.py +1 -4
  351. package/lib/video-recap/skills/video-voiceover/scripts/dub.py +7 -13
  352. package/lib/video-recap/skills/video-voiceover/scripts/fish_audio.py +12 -30
  353. package/lib/video-recap/skills/video-voiceover/scripts/lib.py +98 -131
  354. package/lib/video-recap/skills/video-voiceover/scripts/tts_audio.py +17 -28
  355. package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +151 -240
  356. package/package.json +45 -45
  357. package/lib/novel-to-game/skills/game-world-design/references/dialogue-design-method.md +0 -59
  358. package/lib/novel-to-game/skills/game-world-design/references/game-writing-craft.md +0 -53
  359. package/lib/novel-to-game/skills/novel-to-game/references/intake-benchmark-reference.md +0 -42
  360. package/lib/oh-story/skills/story-long-write/references/state-tracking.md +0 -108
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oh-story/dsh",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "A DSH plugin for fiction, short-drama, interactive-game, and video-recap production",
5
5
  "keywords": [
6
6
  "deepseek-harness",
@@ -69,55 +69,55 @@
69
69
  ],
70
70
  "license": "MIT",
71
71
  "peerDependencies": {
72
- "@deepseek-ai/cordis": "^4.0.2",
73
- "@deepseek-ai/dsh-agent": "^0.1.2-rc.1",
74
- "@deepseek-ai/dsh-api-session-controller": "^0.1.2-rc.1",
75
- "@deepseek-ai/dsh-client-store": "^0.1.2-rc.1",
76
- "@deepseek-ai/dsh-client-ui-chat": "^0.1.2-rc.1",
77
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.2-rc.1",
78
- "@deepseek-ai/dsh-client-ui-layout": "^0.1.2-rc.1",
79
- "@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-rc.1",
80
- "@deepseek-ai/dsh-client-ui-session": "^0.1.2-rc.1",
81
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.2-rc.1",
82
- "@deepseek-ai/dsh-client-ui-tool": "^0.1.2-rc.1",
83
- "@deepseek-ai/dsh-fs": "^0.1.2-rc.1",
84
- "@deepseek-ai/dsh-host-webserver": "^0.1.2-rc.1",
85
- "@deepseek-ai/dsh-llm": "^0.1.2-rc.1",
86
- "@deepseek-ai/dsh-session": "^0.1.2-rc.1",
87
- "@deepseek-ai/dsh-sandbox-policy": "^0.1.2-rc.1",
88
- "@deepseek-ai/dsh-skill": "^0.1.2-rc.1",
89
- "@deepseek-ai/dsh-subagent": "^0.1.2-rc.1",
90
- "@deepseek-ai/dsh-tools": "^0.1.2-rc.1",
91
- "@deepseek-ai/dsh-typert-registry": "^0.1.2-rc.1",
92
- "@deepseek-ai/dsh-util-values": "^0.1.2-rc.1",
93
- "@deepseek-ai/schemastery": "^3.18.2",
72
+ "@deepseek-ai/cordis": "^4.0.4",
73
+ "@deepseek-ai/dsh-agent": ">=0.1.7-rc.2 <0.1.8-0",
74
+ "@deepseek-ai/dsh-api-session-controller": ">=0.1.7-rc.2 <0.1.8-0",
75
+ "@deepseek-ai/dsh-client-store": ">=0.1.7-rc.2 <0.1.8-0",
76
+ "@deepseek-ai/dsh-client-ui-chat": ">=0.1.7-rc.2 <0.1.8-0",
77
+ "@deepseek-ai/dsh-client-ui-conversation": ">=0.1.7-rc.2 <0.1.8-0",
78
+ "@deepseek-ai/dsh-client-ui-layout": ">=0.1.7-rc.2 <0.1.8-0",
79
+ "@deepseek-ai/dsh-client-ui-renderer": ">=0.1.7-rc.2 <0.1.8-0",
80
+ "@deepseek-ai/dsh-client-ui-session": ">=0.1.7-rc.2 <0.1.8-0",
81
+ "@deepseek-ai/dsh-client-ui-slots": ">=0.1.7-rc.2 <0.1.8-0",
82
+ "@deepseek-ai/dsh-client-ui-tool": ">=0.1.7-rc.2 <0.1.8-0",
83
+ "@deepseek-ai/dsh-fs": ">=0.1.7-rc.2 <0.1.8-0",
84
+ "@deepseek-ai/dsh-host-webserver": ">=0.1.7-rc.2 <0.1.8-0",
85
+ "@deepseek-ai/dsh-llm": ">=0.1.7-rc.2 <0.1.8-0",
86
+ "@deepseek-ai/dsh-session": ">=0.1.7-rc.2 <0.1.8-0",
87
+ "@deepseek-ai/dsh-sandbox-policy": ">=0.1.7-rc.2 <0.1.8-0",
88
+ "@deepseek-ai/dsh-skill": ">=0.1.7-rc.2 <0.1.8-0",
89
+ "@deepseek-ai/dsh-subagent": ">=0.1.7-rc.2 <0.1.8-0",
90
+ "@deepseek-ai/dsh-tools": ">=0.1.7-rc.2 <0.1.8-0",
91
+ "@deepseek-ai/dsh-typert-registry": ">=0.1.7-rc.2 <0.1.8-0",
92
+ "@deepseek-ai/dsh-util-values": ">=0.1.7-rc.2 <0.1.8-0",
93
+ "@deepseek-ai/schemastery": "^3.18.4",
94
94
  "react": "^18.3.1",
95
95
  "react-dom": "^18.3.1",
96
96
  "zod": "^4.4.3"
97
97
  },
98
98
  "devDependencies": {
99
- "@deepseek-ai/cordis": "4.0.2",
100
- "@deepseek-ai/dsh-agent": "0.1.2-rc.1",
101
- "@deepseek-ai/dsh-api-session-controller": "0.1.2-rc.1",
102
- "@deepseek-ai/dsh-client-store": "0.1.2-rc.1",
103
- "@deepseek-ai/dsh-client-ui-chat": "0.1.2-rc.1",
104
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.2-rc.1",
105
- "@deepseek-ai/dsh-client-ui-layout": "0.1.2-rc.1",
106
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.2-rc.1",
107
- "@deepseek-ai/dsh-client-ui-session": "0.1.2-rc.1",
108
- "@deepseek-ai/dsh-client-ui-slots": "0.1.2-rc.1",
109
- "@deepseek-ai/dsh-client-ui-tool": "0.1.2-rc.1",
110
- "@deepseek-ai/dsh-fs": "0.1.2-rc.1",
111
- "@deepseek-ai/dsh-host-webserver": "0.1.2-rc.1",
112
- "@deepseek-ai/dsh-llm": "0.1.2-rc.1",
113
- "@deepseek-ai/dsh-session": "0.1.2-rc.1",
114
- "@deepseek-ai/dsh-sandbox-policy": "0.1.2-rc.1",
115
- "@deepseek-ai/dsh-skill": "0.1.2-rc.1",
116
- "@deepseek-ai/dsh-subagent": "0.1.2-rc.1",
117
- "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
118
- "@deepseek-ai/dsh-typert-registry": "0.1.2-rc.1",
119
- "@deepseek-ai/dsh-util-values": "0.1.2-rc.1",
120
- "@deepseek-ai/schemastery": "3.18.2",
99
+ "@deepseek-ai/cordis": "4.0.4",
100
+ "@deepseek-ai/dsh-agent": "0.1.7-rc.2",
101
+ "@deepseek-ai/dsh-api-session-controller": "0.1.7-rc.2",
102
+ "@deepseek-ai/dsh-client-store": "0.1.7-rc.2",
103
+ "@deepseek-ai/dsh-client-ui-chat": "0.1.7-rc.2",
104
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.7-rc.2",
105
+ "@deepseek-ai/dsh-client-ui-layout": "0.1.7-rc.2",
106
+ "@deepseek-ai/dsh-client-ui-renderer": "0.1.7-rc.2",
107
+ "@deepseek-ai/dsh-client-ui-session": "0.1.7-rc.2",
108
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.2",
109
+ "@deepseek-ai/dsh-client-ui-tool": "0.1.7-rc.2",
110
+ "@deepseek-ai/dsh-fs": "0.1.7-rc.2",
111
+ "@deepseek-ai/dsh-host-webserver": "0.1.7-rc.2",
112
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
113
+ "@deepseek-ai/dsh-session": "0.1.7-rc.2",
114
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.2",
115
+ "@deepseek-ai/dsh-skill": "0.1.7-rc.2",
116
+ "@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
117
+ "@deepseek-ai/dsh-tools": "0.1.7-rc.2",
118
+ "@deepseek-ai/dsh-typert-registry": "0.1.7-rc.2",
119
+ "@deepseek-ai/dsh-util-values": "0.1.7-rc.2",
120
+ "@deepseek-ai/schemastery": "3.18.4",
121
121
  "@types/react": "18.3.28",
122
122
  "@types/react-dom": "18.3.7",
123
123
  "react": "18.3.1",
@@ -1,59 +0,0 @@
1
- # 对白与互动选择设计方法
2
-
3
- 对白承担主要体验时,用本方法把人物目标、信息权限和玩家选择写成可实现的场景。它不规定
4
- 台词长度、选项数量或固定节拍;逐字文案的声口见
5
- [game-writing-craft.md](game-writing-craft.md)。
6
-
7
- ## 一、先写议程,不先写台词
8
-
9
- 先完成 [narrative-design-method.md](narrative-design-method.md) 的场景脊柱,再为会改变局面的
10
- 参与者记录:当前要求、害怕暴露的事、可用筹码、初始策略、受阻后会换的策略和底线。
11
-
12
- 先写行动链:
13
-
14
- `A 用策略和筹码行动 → B 回应或拒绝 → 局面变化 → A 换招或退出`
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
- 的证据不能在删解释时一并删掉。
@@ -1,53 +0,0 @@
1
- # 游戏文案写作规范
2
-
3
- 小说改编游戏的玩家可见文本应继承原著的语言资产,同时适应平台、分级和交互节奏。先确定声口,
4
- 再删解释腔和模板腔;适用于标题、引导、按钮、提示、事件、对白、结算和结局。
5
-
6
- ## 一、确定声口
7
-
8
- 根据 `PRODUCT_BRIEF`、原作语域和目标市场确定整体声口,例如古典白话、现代口语、克制写实、
9
- 喜剧或悬疑。结构可以更短、更适合交互,但用词、称呼、礼制和文化概念仍跟随原作;不要把所有
10
- 题材改成同一种网络腔。
11
-
12
- 核心人物各记一行:说话目的、施压方式、句式节奏、称呼习惯、常落到的实物和绝不会说的话。
13
- 只保留会改变实际台词的差异,不靠口头禅制造辨识度。
14
-
15
- ## 二、视角与信息
16
-
17
- 场景按明确视角人物呈现,只写其此刻能感知、记起或合理推断的内容。视角可以换场切换,但不要
18
- 在同一场景随意滑入他人内心,也不要由旁白提前解释秘密、主题或人物品性。
19
-
20
- 玩家作决定所需的证据要可见;结论尽量交给动作、物件、台词和反应。界面读数只服务确实需要
21
- 量化的系统,不替人物和现场叙事。
22
-
23
- ## 三、删模板腔
24
-
25
- 修订时优先处理这些信号:
26
-
27
- - 用“不是 A,而是 B”、总结句或主题升华替玩家下结论;
28
- - 直接命名情绪,却没有身体、动作或关系上的表现;
29
- - 同一动作重复描写,或用万能副词、套语堆出文学感;
30
- - 人物用完整书面句科普设定、前因后果和自己的真实动机;
31
- - 所有句子同样工整,所有人物同一种语法、节奏和证据观;
32
- - 段尾总靠预告、感叹或抽象悬念收束,而不是未完成的行动或具体变化。
33
-
34
- 这些是修订线索,不是机械词表。方言、口吃、急话、地方称呼和题材需要的停顿不应因“规范化”
35
- 被抹平;判断标准是它是否符合人物、场景和原作语域。
36
-
37
- ## 四、交互文本
38
-
39
- - **按钮与选项**:写玩家将执行的动作或真正会说的话,不写策划标签;
40
- - **提示与引导**:说明当前可做什么或可见代价,不一次倾倒术语;
41
- - **事件标题**:给出具体冲突、人物或物件,不用空泛悬念;
42
- - **结算反馈**:先让人物和世界回应,数字只补充量,不替代意义;
43
- - **选择节点**:按钮、代价提示和回应各承担不同信息,避免重复解释。
44
-
45
- ## 五、分级与安全边界
46
-
47
- 内容强度服从 `PRODUCT_BRIEF` 和目标平台。亲密或成人向场景仍需明确视角、人物意志、关系变化
48
- 和后果,不把身体描写当作内容本身;不涉及真实人物,不性化未成年角色。
49
-
50
- ## 六、交付自查
51
-
52
- 逐场确认声口一致但人物可区分;信息没有越过视角;玩家能理解选择依据;UI 没有把世界翻译成
53
- 策划术语;删除一句若不损失信息、人物、情绪或行动,就删除。自然度不以固定词频或字数阈值判定。
@@ -1,42 +0,0 @@
1
- # 玩法先例与平台约束参考
2
-
3
- 本参考帮助 intake 给出可执行默认值,不维护游戏名单、销量排名或按语言划分的固定市场表。
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
- | 形态 | intake 要锁的约束 |
31
- |---|---|
32
- | PC / 主机 | 键鼠或手柄、目标性能、窗口/全屏、打包系统 |
33
- | 浏览器 | 首次加载、最低视口、鼠标/触控、静态托管或服务端边界 |
34
- | 移动 App | 朝向、触控、机型性能、安装包与离线需求 |
35
- | 小程序 / 小游戏 | 当前渠道包体、输入、联网、审核与分包限制 |
36
-
37
- 平台能力、许可或渠道规格可能变化时查当前官方文档;仓库不保存版本号、价格或包体上限快照。
38
-
39
- ## 交给概念阶段
40
-
41
- PRODUCT_BRIEF 只需写明主玩法、3–5 个候选核心动词、一个主要先例、目标平台和最大未知。若玩法仍
42
- 有多个合理方向,把差异留给三个概念比较,不在 intake 提前锁死;低风险空白继续列为未确认假设。
@@ -1,108 +0,0 @@
1
- # 状态追踪协议
2
-
3
- > 本文件定义"本节速记"的提取逻辑和"角色状态记录"的格式。写作 skill 在写前准备的状态筛选步骤中加载此文件。
4
-
5
- ---
6
-
7
- ## 本节速记
8
-
9
- 写作每一章/每一节前,从所有已加载的上下文中筛选出只与本节相关的信息。目的是避免全量加载导致 LLM 上下文被无关信息稀释。
10
-
11
- ### 筛选逻辑
12
-
13
- 从上下文中提取三类信息:
14
-
15
- 1. **当前状态**:本章涉及角色的最新能力、关系变化、公众形象
16
- 2. **历史因果**:与本章事件直接相关的伏笔成因、前史事件
17
- 3. **世界约束**:本章涉及的世界观规则(力量体系、社会规则、地理限制)
18
-
19
- ### 筛选标准
20
-
21
- **只保留"如果不知道这个,本章会写错"的信息。**
22
-
23
- 具体判断方法:
24
- - 本章细纲中提到了某个角色 → 保留该角色的当前状态
25
- - 本章有伏笔回收 → 保留伏笔的埋设细节和前文铺垫
26
- - 本章涉及特定地点/能力/规则 → 保留相关世界观约束
27
- - 纯背景知识(与本章事件无因果关联) → 丢弃
28
-
29
- ### 输出格式
30
-
31
- 筛选后输出一个简洁的"本节速记":
32
-
33
- ```
34
- ## 本节速记(第{N}章)
35
-
36
- ### 角色状态
37
- {角色A}:{一句话当前状态,含最近变化}
38
- {角色B}:{一句话当前状态}
39
-
40
- ### 相关伏笔/前史
41
- {伏笔1}:{埋设细节,{埋设章节}},本章需要{回收/推进}
42
-
43
- ### 世界约束
44
- {约束1}:{与本章相关的规则/设定}
45
- ```
46
-
47
- **示例(demo《让你管账号,你高燃混剪炸全网》第 10 章):**
48
- ```
49
- ## 本节速记(第10章)
50
-
51
- ### 角色状态
52
- 江晨:火箭军文工团宣传兵,《诸君,且听龙吟》已爆红,正从军宣新人升为军内认可的创作者
53
- 钟嘉嘉:军报记者,采访稿已经过审,与江晨从采访关系转为稳定合作
54
- 周薄森:文工团副团长,已从担心江晨惹事转为认可其创作能力
55
-
56
- ### 相关伏笔/前史
57
- 五天百万粉任务:第1章发布,第10章仍未结算;本章只推进声量,留到第11章结算
58
- 专业团队重拍:本章用高清专业版“缺了灵魂”反衬江晨手机原版不可替代
59
-
60
- ### 世界约束
61
- 军宣作品采用要经过组织决策;江晨可以靠作品效果赢得认可,不能跳过军内流程直接拍板
62
- ```
63
-
64
- ---
65
-
66
- ## 角色状态记录格式
67
-
68
- > ⚠️ **本节仅适用于长篇写作。** 短篇通常不需要独立角色状态追踪。
69
-
70
- 动态状态按核心角色拆成 `追踪/角色状态/{角色名}.md`,由 `tracking_commit.py` 根据事务 JSON 整份覆盖;静态原始人设仍在 `设定/角色/{角色名}.md`。只为后续会复用的主角、反派、核心配角建快照,不为路人、一次性功能角色建文件。
71
-
72
- ### 格式
73
-
74
- ```markdown
75
- # 江晨|当前状态
76
-
77
- - 截至章节:第10章
78
- - 身份:火箭军文工团宣传兵;军宣爆款创作者
79
- - 位置:火箭军文工团高层看片会
80
- - 当前目标:完成五天百万粉任务,持续做出真正能打的军宣内容
81
- - 身心状态:专业团队反向验证原版价值,军内认可继续抬升
82
-
83
- ## 能力与资源
84
- - 前世 MCN 爆款运营经验
85
- - 《中国军魂》伴奏
86
- - 大师级导演能力
87
-
88
- ## 关键关系
89
- - 钟嘉嘉持续提供军报资源
90
- - 周薄森和张耀祖已明确认可其创作能力
91
-
92
- ## 已知信息
93
- - 《军报》采访稿已经过审
94
- - 原版视频将继续作为正式军宣内容
95
-
96
- ## 未结事项
97
- - 五天百万粉任务尚未结算
98
- - 钟嘉嘉所谓“只猜对一半”仍未解释
99
- ```
100
-
101
- ### 更新规则
102
-
103
- 1. 每章只记录身份、位置、目标、身心状态、能力资源、关系、已知信息、未结事项中真正发生变化的内容。
104
- 2. 核心复用角色发生变化时,在同一事务的 `character_changes` 写变化,并在 `character_snapshots` 提交其**截至当前已写最后一章**的完整快照;工具以快照是否存在判断核心/临时角色,整份覆盖核心角色小文件,不追加历史。
105
- 3. 修订旧章时,从修订章检查到最后已写章,按各维度和各关系对象重算当前状态,再提交完整快照;不得把最后一条单维度变化当成角色全状态。
106
- 4. 无变化可不提交快照;核心角色重新进入当前场景时直接读取其已有小文件,并由事务工具把必要信息带入续写状态卡。
107
- 5. 角色变化历史属于 `逐章记录/第NNN章.md`,当前快照不重复保存逐章履历。
108
- 6. 完整 JSON 字段、4096 字节目标与 8192 字节硬上限见 [tracking-transaction.md](tracking-transaction.md)。