@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.
- package/README.md +11 -11
- package/lib/client.js +26 -15
- package/lib/client.js.map +2 -2
- package/lib/drama/package.json +4 -0
- package/lib/index.js +42 -16
- package/lib/index.js.map +2 -2
- package/lib/novel-to-game/README.md +3 -3
- package/lib/novel-to-game/README_ZH.md +4 -4
- package/lib/novel-to-game/VERSION +1 -1
- package/lib/novel-to-game/manifest.json +25 -20
- package/lib/novel-to-game/package.json +4 -0
- package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +4 -0
- package/lib/novel-to-game/skills/game-build/SKILL.md +7 -1
- package/lib/novel-to-game/skills/game-build/references/baked-sprite-workflow.md +19 -0
- package/lib/novel-to-game/skills/game-concept/references/concept-method.md +4 -1
- package/lib/novel-to-game/skills/novel-to-game/SKILL.md +6 -3
- package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +1 -0
- package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +13 -2
- package/lib/oh-story/manifest.json +417 -592
- package/lib/oh-story/package.json +4 -0
- package/lib/oh-story/roles/chapter-extractor.md +4 -3
- package/lib/oh-story/roles/character-designer.md +20 -85
- package/lib/oh-story/roles/consistency-checker.md +5 -5
- package/lib/oh-story/roles/narrative-writer.md +9 -9
- package/lib/oh-story/roles/story-architect.md +19 -26
- package/lib/oh-story/roles/story-explorer.md +4 -5
- package/lib/oh-story/roles/story-researcher.md +6 -7
- package/lib/oh-story/skills/browser-cdp/SKILL.md +26 -15
- package/lib/oh-story/skills/story/SKILL.md +94 -54
- package/lib/oh-story/skills/story/VERSION +1 -1
- package/lib/oh-story/skills/story-cover/SKILL.md +41 -220
- package/lib/oh-story/skills/story-cover/references/api-fallback.md +128 -0
- package/lib/oh-story/skills/story-cover/references/cover-styles.md +61 -95
- package/lib/oh-story/skills/story-deslop/SKILL.md +32 -27
- package/lib/oh-story/skills/story-deslop/references/agent-calls.md +4 -4
- package/lib/oh-story/skills/story-deslop/references/banned-words.md +7 -9
- package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +12 -12
- package/lib/oh-story/skills/story-deslop/references/expression.md +10 -3
- package/lib/oh-story/skills/story-deslop/references/story-logic.md +1 -1
- package/lib/oh-story/skills/story-deslop/references/style-resolution.md +1 -1
- package/lib/oh-story/skills/story-import/SKILL.md +12 -11
- package/lib/oh-story/skills/story-import/references/benchmark-sync.md +50 -0
- package/lib/oh-story/skills/story-import/references/character-state-reverse.md +3 -4
- package/lib/oh-story/skills/story-import/references/deep-analysis.md +2 -3
- package/lib/oh-story/skills/story-import/references/import-report.md +5 -4
- package/lib/oh-story/skills/story-import/references/import-special-cases.md +6 -16
- package/lib/oh-story/skills/story-import/references/import-tracking.md +2 -2
- package/lib/oh-story/skills/story-import/references/length-routing.md +1 -43
- package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +8 -8
- package/lib/oh-story/skills/story-import/references/outline-reverse.md +2 -2
- package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +113 -125
- package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +77 -88
- package/lib/oh-story/skills/story-import/scripts/build_outline_brief.py +36 -59
- package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +5 -1
- package/lib/oh-story/skills/story-import/scripts/outline_view.py +286 -0
- package/lib/oh-story/skills/story-long-analyze/SKILL.md +38 -75
- package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +21 -23
- package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +8 -17
- package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +18 -5
- package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +8 -14
- package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +26 -27
- package/lib/oh-story/skills/story-long-analyze/references/stage2-extraction.md +74 -162
- package/lib/oh-story/skills/story-long-analyze/references/stage3-plot-rhythm.md +124 -309
- package/lib/oh-story/skills/story-long-analyze/references/stage4-characters-settings.md +49 -166
- package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +12 -15
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +110 -34
- package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +12 -2
- package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +3 -1
- package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +5 -1
- package/lib/oh-story/skills/story-long-scan/SKILL.md +49 -72
- package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +47 -167
- package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +23 -8
- package/lib/oh-story/skills/story-long-scan/references/platform-fanqie.md +24 -22
- package/lib/oh-story/skills/story-long-scan/references/platform-jjwxc.md +25 -13
- package/lib/oh-story/skills/story-long-scan/references/platform-qidian.md +41 -27
- package/lib/oh-story/skills/story-long-scan/references/platform-qimao.md +24 -16
- package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +31 -33
- package/lib/oh-story/skills/story-long-write/SKILL.md +5 -5
- package/lib/oh-story/skills/story-long-write/references/agent-calls.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +51 -24
- package/lib/oh-story/skills/story-long-write/references/banned-words.md +7 -9
- package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/character-basics.md +57 -95
- package/lib/oh-story/skills/story-long-write/references/character-relations.md +119 -269
- package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +8 -8
- package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +7 -7
- package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +38 -298
- package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +12 -53
- package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +39 -85
- package/lib/oh-story/skills/story-long-write/references/genre-readers.md +97 -163
- package/lib/oh-story/skills/story-long-write/references/long-chapter-hooks.md +39 -119
- package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +39 -91
- package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +81 -310
- package/lib/oh-story/skills/story-long-write/references/long-genre-mechanics.md +115 -326
- package/lib/oh-story/skills/story-long-write/references/long-reversal.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/long-suspense.md +8 -8
- package/lib/oh-story/skills/story-long-write/references/opening-design.md +38 -334
- package/lib/oh-story/skills/story-long-write/references/outline-methods.md +128 -281
- package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +58 -499
- package/lib/oh-story/skills/story-long-write/references/project-files.md +10 -14
- package/lib/oh-story/skills/story-long-write/references/reference-index.md +29 -82
- package/lib/oh-story/skills/story-long-write/references/revision-diagnosis.md +31 -0
- package/lib/oh-story/skills/story-long-write/references/stop-and-fix.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +12 -19
- package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +3 -171
- package/lib/oh-story/skills/story-long-write/references/style-resolution.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +8 -6
- package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/workflow-outline.md +47 -47
- package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +7 -7
- package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +4 -9
- package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +72 -98
- package/lib/oh-story/skills/story-long-write/references/writing-craft.md +59 -115
- package/lib/oh-story/skills/story-long-write/scripts/build_architect_brief.py +38 -18
- package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +23 -11
- package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +5 -1
- package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +1 -1
- package/lib/oh-story/skills/story-review/SKILL.md +26 -24
- package/lib/oh-story/skills/story-review/references/agent-prompts.md +13 -9
- package/lib/oh-story/skills/story-review/references/banned-words.md +7 -9
- package/lib/oh-story/skills/story-review/references/expression.md +10 -3
- package/lib/oh-story/skills/story-review/references/quality-rubric.md +7 -7
- package/lib/oh-story/skills/story-review/references/review-tracking.md +2 -1
- package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +8 -9
- package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +9 -11
- package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +9 -8
- package/lib/oh-story/skills/story-review/references/solo.md +6 -5
- package/lib/oh-story/skills/story-review/references/story-logic.md +1 -1
- package/lib/oh-story/skills/story-review/references/style-resolution.md +1 -1
- package/lib/oh-story/skills/story-setup/SKILL.md +24 -31
- package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +12 -13
- package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +7 -9
- package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +57 -95
- package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +119 -269
- package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +12 -12
- package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +8 -8
- package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +7 -7
- package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +38 -298
- package/lib/oh-story/skills/story-setup/references/agent-references/expression.md +10 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/female-audience-writing.md +141 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +96 -161
- package/lib/oh-story/skills/story-setup/references/agent-references/long-chapter-hooks.md +39 -119
- package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +13 -54
- package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +81 -310
- package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-mechanics.md +115 -326
- package/lib/oh-story/skills/story-setup/references/agent-references/long-reversal.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/long-suspense.md +8 -8
- package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +38 -334
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +128 -281
- package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +58 -499
- package/lib/oh-story/skills/story-setup/references/agent-references/short-chapter-hooks.md +63 -171
- package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +11 -63
- package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +40 -50
- package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +14 -39
- package/lib/oh-story/skills/story-setup/references/agent-references/story-logic.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +12 -19
- package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +3 -171
- package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +59 -115
- package/lib/oh-story/skills/story-short-analyze/SKILL.md +41 -90
- package/lib/oh-story/skills/story-short-analyze/references/analysis-characters.md +66 -0
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +21 -20
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +4 -3
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +4 -4
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +5 -5
- package/lib/oh-story/skills/story-short-analyze/references/analysis-submission.md +52 -0
- package/lib/oh-story/skills/story-short-analyze/references/optional-modules.md +23 -73
- package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +25 -26
- package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +20 -38
- package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +9 -158
- package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +39 -26
- package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +42 -71
- package/lib/oh-story/skills/story-short-scan/SKILL.md +52 -62
- package/lib/oh-story/skills/story-short-scan/references/manual-rank-input.md +16 -12
- package/lib/oh-story/skills/story-short-scan/references/platform-dianzhong.md +10 -4
- package/lib/oh-story/skills/story-short-scan/references/platform-heiyan.md +15 -6
- package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +34 -72
- package/lib/oh-story/skills/story-short-scan/references/topic-match.md +33 -13
- package/lib/oh-story/skills/story-short-write/SKILL.md +5 -5
- package/lib/oh-story/skills/story-short-write/references/agent-calls.md +3 -3
- package/lib/oh-story/skills/story-short-write/references/banned-words.md +7 -9
- package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +17 -22
- package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +22 -37
- package/lib/oh-story/skills/story-short-write/references/deslop-gates.md +12 -12
- package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +8 -8
- package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +11 -63
- package/lib/oh-story/skills/story-short-write/references/expression.md +10 -3
- 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
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +6 -6
- 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
- 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
- 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
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +10 -10
- 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
- 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
- package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +6 -6
- 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
- package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +40 -50
- package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +63 -171
- package/lib/oh-story/skills/story-short-write/references/reference-index.md +13 -14
- package/lib/oh-story/skills/story-short-write/references/short-craft.md +10 -29
- package/lib/oh-story/skills/story-short-write/references/short-deslop.md +2 -2
- package/lib/oh-story/skills/story-short-write/references/short-format.md +12 -32
- package/lib/oh-story/skills/story-short-write/references/short-reversal.md +14 -39
- package/lib/oh-story/skills/story-short-write/references/story-logic.md +1 -1
- package/lib/oh-story/skills/story-short-write/references/style-resolution.md +1 -1
- package/lib/oh-story/skills/story-short-write/references/submission-craft.md +29 -19
- package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +14 -19
- package/lib/oh-story/skills/story-short-write/references/workflow-design.md +67 -26
- package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +10 -11
- package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +50 -69
- package/lib/oh-story/skills/story-short-write/scripts/check-phase2-contract.js +21 -16
- package/lib/types/client/file-activity.d.ts +10 -0
- package/lib/types/client/file-activity.d.ts.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/native-hooks.d.ts.map +1 -1
- package/lib/types/skill-provider.d.ts.map +1 -1
- package/lib/types/workspace-route.d.ts.map +1 -1
- package/lib/video-recap/package.json +4 -0
- package/package.json +23 -23
- package/lib/oh-story/skills/story-import/references/format-and-structure.md +0 -168
- package/lib/oh-story/skills/story-import/references/state-tracking.md +0 -45
- package/lib/oh-story/skills/story-import/references/tracking-transaction.md +0 -146
- package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +0 -270
- package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +0 -84
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +0 -133
- package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +0 -101
- package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +0 -92
- package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +0 -428
- package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +0 -503
- package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +0 -34
- package/lib/oh-story/skills/story-long-write/references/expression.md +0 -76
- package/lib/oh-story/skills/story-long-write/references/narrative-focus.md +0 -63
- package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +0 -457
- package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +0 -389
- package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +0 -272
- package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +0 -354
- package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +0 -710
- package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +0 -624
- package/lib/oh-story/skills/story-long-write/references/story-logic.md +0 -65
- package/lib/oh-story/skills/story-long-write/references/style-craft.md +0 -306
- package/lib/oh-story/skills/story-review/references/character-relations.md +0 -433
- package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +0 -285
- package/lib/oh-story/skills/story-review/references/plot-core-methods.md +0 -522
- package/lib/oh-story/skills/story-review/references/review-quality.md +0 -243
- package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +0 -428
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +0 -457
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +0 -389
- package/lib/oh-story/skills/story-setup/references/agent-references/short-paragraph-hooks.md +0 -145
- package/lib/oh-story/skills/story-short-analyze/references/analysis-character-basics.md +0 -433
- package/lib/oh-story/skills/story-short-analyze/references/analysis-character-design.md +0 -426
- package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +0 -384
- package/lib/oh-story/skills/story-short-analyze/references/analysis-paragraph-hooks.md +0 -144
- package/lib/oh-story/skills/story-short-analyze/references/analysis-reader-profile.md +0 -238
- package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +0 -464
- package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +0 -79
- package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +0 -89
- package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +0 -54
- package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +0 -145
- package/lib/oh-story/skills/story-short-write/references/output-contract.md +0 -116
- package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +0 -207
- package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +0 -50
|
@@ -1,197 +1,80 @@
|
|
|
1
1
|
# Stage 4:角色、设定与关系
|
|
2
2
|
|
|
3
|
-
Stage 4 时刻读本文件与 [synthesis-inputs.md](synthesis-inputs.md)
|
|
3
|
+
Stage 4 时刻读本文件与 [synthesis-inputs.md](synthesis-inputs.md)(取料、证据等级、阶段标记与事实保真)。
|
|
4
4
|
|
|
5
5
|
## 核心规则
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
从逐章摘要的 `涉及`、`状态变化`(`digest --part chapters --fields 涉及,状态变化`,批次输出里叫 `涉及人物`)和批次 `关系变化` 归一人物,再结合 Stage 3 剧情单元生成角色档案与设定。Stage 2 每章只记关键人物和可见净变化,跨章的人物判断、别名合并都在这里做。关系记录动作方向、触发、双方得失、表面/真实状态、阶段变化和证据;“甲保护乙”与“乙依赖甲”分别记录。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## 谁建档、建多深
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
按人物在故事里的作用分级,出场章节数只当线索,不用出场比例否定核心角色。拿不准时归入低一级;前期戏少、后期推动重要支线的,按后期作用定级;重要导师或伙伴即使出场少也算核心配角。
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
| 定位 | 标准 | 建档深度 |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| 主角 | 推动主线、有完整成长轨迹 | 完整档案+成长弧线+动机链 |
|
|
16
|
+
| 反派 | 与主角对立、推动核心冲突、有明确动机 | 完整档案+动机链 |
|
|
17
|
+
| 核心配角 | 推动重要支线,或有独立人格和成长,或与主角反复直接互动 | 完整档案+关系 |
|
|
18
|
+
| 功能角色 | 作用有限:提供信息、道具或一次性互动 | 简化档案:功能+首次出场章 |
|
|
19
|
+
| 不建档 | 只出场一次、无台词且不推动剧情的路人;群体称呼、无名路人,以及大哥、掌柜、老师、小伙子这类亲属、身份、年龄或外貌泛称,除非原文固定用它指代某一个人 | 跳过 |
|
|
14
20
|
|
|
15
|
-
|
|
21
|
+
## 一人一实体与别名
|
|
16
22
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
| 完整提取 | 出场3次以上/有台词且推动剧情/与主角直接互动 | 完整档案 |
|
|
23
|
+
- 不同人物的信息绝不合并进同一个实体;拿不准两个称呼是否同一人时分开建。
|
|
24
|
+
- 只有本名/常用名(“希尔曼”“林雷·巴鲁克”)和有同指证据的绰号(“龙血战士林雷”)能触发合并。同指证据指同位说明、括号别名、上下文指代或明确改名;批次 `跨批状态` 的「已确认别名」是现成线索。
|
|
25
|
+
- 描述称谓(“红发壮汉”“随从”)和头衔职务(“护卫队长”“家主”)不触发合并;带姓名的职务称呼有明确同指证据时按绰号处理。
|
|
26
|
+
- 主条目用首次正式名,别名列在档案里并注明类型和依据。
|
|
22
27
|
|
|
23
|
-
|
|
28
|
+
## 金手指
|
|
24
29
|
|
|
25
|
-
|
|
30
|
+
相互关联、共同作用的元素合为一个(如“戒指+导师灵魂”),同一事物的不同描述角度不拆;只有完全独立、互不依赖的能力来源才分开写。长篇的金手指常会演化,写清获取、机制、进化史和多重能力;没有金手指时注明。
|
|
26
31
|
|
|
27
|
-
|
|
28
|
-
1. 收集所有章节的角色提及数据
|
|
29
|
-
2. 别名匹配(仅 proper_name 和 nickname,置信度 ≥0.85)
|
|
30
|
-
3. descriptor/title 永不触发合并
|
|
31
|
-
4. 确认后保留首次正式名
|
|
32
|
+
## 人物关系
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
关系只从已提取的情节点和批次关系观察整理,不重读原文。复用每个批次的 `关系变化`,只记新关系或关系变化。
|
|
34
35
|
|
|
35
|
-
|
|
36
|
+
- 同一对角色关系变化时记演变轨迹:`第{N}章:{状态A} → 第{M}章:{状态B}|触发:{事件}|情感转变:{正面→负面等}`。
|
|
37
|
+
- 同一有向关系的最新状态作主记录,历史写进演变轨迹;反向关系动作不因角色相同而去重。
|
|
38
|
+
- 没有直接互动、只有第三方评价或描述支撑的关系,证据等级标 `B` 或 `C`,写明评价者和依据;只凭同场出现不能确认关系。
|
|
39
|
+
- 复核线索:统计主角和核心配角各自的有向关系数(同方向多次变化算一条),少于 3 查遗漏,多于 10 查误合并;只按原文修正,不为凑数补造或删减。
|
|
36
40
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
**阶段 A:轻量提及(Stage 2 输出)**
|
|
40
|
-
- 每章 `涉及人物` 记录关键人物,`状态变化` 记录本章可见净变化;
|
|
41
|
-
- 批次 `关系变化` 补充有方向的动作、触发与得失;
|
|
42
|
-
- 不另建出场人物表,不在单章内完成跨章人物定型。
|
|
43
|
-
|
|
44
|
-
**阶段 B:完整档案(Stage 4 构建)**
|
|
45
|
-
- 合并逐章 `涉及人物`、`状态变化` 和批次关系观察
|
|
46
|
-
- 跨章节别名解析(批次 `跨批状态` 的「已确认别名」是现成线索)
|
|
47
|
-
- 群体称呼、无名路人和泛称(亲属、社交、身份、年龄外貌类称呼,如大哥、掌柜、老师、小伙子)不建档,除非原文固定用它指代某一个人
|
|
48
|
-
- 构建完整角色档案
|
|
49
|
-
|
|
50
|
-
### 一人一实体原则
|
|
51
|
-
|
|
52
|
-
- **绝对禁止**将不同人物的信息合并到同一个实体中
|
|
53
|
-
- 每个角色实体必须对应唯一的一个人物
|
|
54
|
-
- 如果无法确定两个称呼是否指向同一人物,必须分开创建实体
|
|
55
|
-
|
|
56
|
-
### 别名解析规则
|
|
57
|
-
|
|
58
|
-
**别名类型**:
|
|
59
|
-
|
|
60
|
-
| 类型 | 定义 | 可合并 | 示例 |
|
|
61
|
-
|------|------|--------|------|
|
|
62
|
-
| proper_name | 专名/全名/常用名 | 是 | "希尔曼""林雷·巴鲁克" |
|
|
63
|
-
| nickname | 绰号/外号,须有同指证据 | 是(置信度≥0.85) | "龙血战士林雷" |
|
|
64
|
-
| descriptor | 描述性称谓 | 否 | "红发壮汉""随从""队长" |
|
|
65
|
-
| title | 头衔/职务 | 否 | "护卫队长""家主""族长" |
|
|
66
|
-
|
|
67
|
-
**合并约束**:
|
|
68
|
-
- 仅 proper_name 和 nickname(置信度 ≥0.85)可用于合并
|
|
69
|
-
- descriptor 和 title **永不**触发实体合并
|
|
70
|
-
- nickname 须提供同指证据:同位说明、括号别名、上下文指代、明确改名
|
|
71
|
-
- 带姓名的职务称呼有明确同指证据时按 nickname 处理;泛指的职务仍不触发合并。
|
|
72
|
-
|
|
73
|
-
**角色类型(archetype)辅助判断**:
|
|
74
|
-
|
|
75
|
-
比例按已分析章节统计,仅作线索;角色的叙事作用、目标与证据优先,不用出场比例否定核心角色。
|
|
76
|
-
|
|
77
|
-
| 类型 | 标准 | 提取深度 |
|
|
78
|
-
|------|------|----------|
|
|
79
|
-
| **主角** | 出现章节 ≥50% 总章节 + 推动主线 + 有完整成长轨迹 | 完整档案+弧线+动机链 |
|
|
80
|
-
| **反派** | 与主角对立 + 推动核心冲突 + 有明确动机 | 完整档案+动机链 |
|
|
81
|
-
| **核心配角** | 出现章节 ≥20% OR 推动重要支线 OR 有独立人格和成长 | 完整档案+关系 |
|
|
82
|
-
| **功能角色** | 出现章节 <20% + 作用有限(提供信息/道具/一次性互动) | 简化档案 |
|
|
83
|
-
|
|
84
|
-
边界模糊优先归入更低等级。**特殊**:前期 minor 后期 supporting → 判为 supporting。重要导师/伙伴即使出现少也可判为 supporting。
|
|
85
|
-
|
|
86
|
-
**角色档案结构**(200-500字):
|
|
87
|
-
1. 身份背景(1-2句)
|
|
88
|
-
2. 核心经历(3-5句,按时序)
|
|
89
|
-
3. 性格特质(1-2句,从行为归纳)
|
|
90
|
-
4. 能力特长(1-2句)
|
|
91
|
-
5. 人际关系(1-2句)
|
|
92
|
-
6. 成长轨迹(如有,1句)
|
|
93
|
-
|
|
94
|
-
### 金手指合并规则
|
|
41
|
+
## 输出模板
|
|
95
42
|
|
|
96
|
-
|
|
97
|
-
- 同一事物的不同描述角度**不拆分**
|
|
98
|
-
- 只有完全独立、互不依赖的能力来源才拆分为多个
|
|
99
|
-
- 长篇特点:金手指可能复杂多样,需详尽描述演化过程和多重能力
|
|
100
|
-
- 无金手指时注明
|
|
43
|
+
Stage 4 直接按主题拆成多个文件,与导入和长篇写作的项目结构对齐。等级、数值、距离、属性、势力数等硬事实核对已有批次证据或旧成果,原文没给的写「原文未明确」。
|
|
101
44
|
|
|
102
|
-
|
|
45
|
+
`角色/{角色名}.md`(每角色一份):
|
|
46
|
+
- 定位:主角 / 反派 / 核心配角 / 功能角色
|
|
47
|
+
- 200–500 字档案:身份背景(1–2 句)→ 核心经历(3–5 句,按时序)→ 性格特质(1–2 句,从行为归纳)→ 能力特长 → 人际关系 → 成长轨迹(如有)
|
|
48
|
+
- 关键情节:3–5 个转折点,按时序
|
|
49
|
+
- 成长弧线:有明显变化时一句话总结,如“从普通少年成长为觉醒血脉的强者”
|
|
50
|
+
- 别名:列出别名、类型和依据
|
|
103
51
|
|
|
104
|
-
|
|
52
|
+
`设定/世界观/力量体系.md`:等级、晋升条件的文本描述,长篇注意多层级体系;不到 200 字且不成独立体系时并入 `背景设定.md`,本文件省略。
|
|
105
53
|
|
|
106
|
-
|
|
54
|
+
`设定/世界观/地理.md`:分布、主要区域、关键地点;不到 200 字时并入 `背景设定.md`。
|
|
107
55
|
|
|
108
|
-
|
|
109
|
-
|------|------|----------|
|
|
110
|
-
| 类型 | 奇幻/现实/平行世界 | 各文件 frontmatter 或开头注明 |
|
|
111
|
-
| 力量体系 | 名称、等级、晋升方式(文本描述) | `设定/世界观/力量体系.md`(>=200字独立,否则并入 背景设定) |
|
|
112
|
-
| 地理 | 分布、主要区域、关键地点(文本描述) | `设定/世界观/地理.md`(同上,>=200字独立) |
|
|
113
|
-
| 势力 | 门派/组织/家族/国家 | **每个势力一个文件** `设定/势力/{势力名}.md`(>=200字独立;不足合并到 `设定/世界观/背景设定.md`) |
|
|
114
|
-
| 核心规则 | 世界运转的基本规则 | `设定/世界观/背景设定.md` |
|
|
115
|
-
| 特殊设定 | 区别于现实的独特设定 | `设定/世界观/背景设定.md`(与核心规则同文件) |
|
|
116
|
-
| 金手指 | 见上方「金手指合并规则」 | `设定/世界观/金手指.md`(统一在 `设定/世界观/` 子目录下,不放扁平 `设定/金手指.md`) |
|
|
56
|
+
`设定/世界观/背景设定.md`:世界类型(奇幻/现实/平行世界)、核心规则、特殊设定,以及不足独立成文件的力量体系、地理、势力;无特殊世界观时写“本书为现实题材,无特殊世界观设定”。
|
|
117
57
|
|
|
118
|
-
|
|
58
|
+
`设定/世界观/金手指.md`(统一放在 `设定/世界观/` 下):
|
|
59
|
+
- 类型:系统 / 空间 / 重生 / 穿越 / 特殊体质 / 神器 / 血脉 / 其他
|
|
60
|
+
- 名称 | 描述(300–600 字,含能力、获取、机制、进化史、多重能力演化)| 核心机制 | 当前能力
|
|
61
|
+
- 没有金手指时只写“本书无明显金手指设定”
|
|
119
62
|
|
|
120
|
-
|
|
63
|
+
`设定/势力/{势力名}.md`(每个核心势力一份):名称 / 类型(门派、组织、家族、国家)/ 核心人物 / 立场倾向 / 与其他势力关系 / 关键事件;不到 200 字时并入 `背景设定.md`,不丢信息。
|
|
121
64
|
|
|
122
|
-
|
|
65
|
+
`角色/角色关系.md`:
|
|
123
66
|
|
|
124
|
-
|
|
|
125
|
-
|
|
126
|
-
| 主体 → 客体 | 有向关系;反向动作存在时另记一条 |
|
|
127
|
-
| 关系动作/类型 | 保护、依赖、控制、服从、欺骗、竞争等动作及家人/师徒/朋友/敌人/恋人/同事/上下级/商业/其他类型 |
|
|
128
|
-
| 表面/真实状态 | 文本允许区分时分别记录;未证实的真实状态标推断等级 |
|
|
129
|
-
| 触发事件 | 导致关系建立或变化的具体行动/事件 |
|
|
130
|
-
| 双方得失 | 信任、资源、地位、行动空间、风险、债务、暴露或失控 |
|
|
131
|
-
| 变化后状态 | 本阶段结束时的状态及后续约束 |
|
|
132
|
-
| 证据 | A/B/C 强度、章节、情节点或 source locator |
|
|
67
|
+
| 关系ID | 主体 → 客体 | 关系动作/类型 | 表面关系 | 真实关系 | 触发事件 | 双方得失 | 变化后状态 | 证据等级 | 证据 |
|
|
68
|
+
|---|---|---|---|---|---|---|---|---|---|
|
|
133
69
|
|
|
134
|
-
|
|
70
|
+
关系动作写保护、依赖、控制、服从、欺骗、竞争等,类型写家人、师徒、朋友、敌人、恋人、同事、上下级、商业或其他;证据等级填 `A`/`B`/`C`(含义见 synthesis-inputs「证据等级」);证据写章节、情节点或 `source_locator`。同一对角色的最新状态和历史演变都保留。
|
|
135
71
|
|
|
136
|
-
|
|
72
|
+
## 人物关系图
|
|
137
73
|
|
|
138
|
-
|
|
74
|
+
关系图只从 `角色/角色关系.md` 生成,不手画、不另建关系事实:
|
|
139
75
|
|
|
140
|
-
|
|
76
|
+
```text
|
|
77
|
+
"{PYTHON}" "{story-long-analyze skill 根}/scripts/render_relation_chart.py" --root "{拆文目录}" --png
|
|
141
78
|
```
|
|
142
|
-
第{N}章:{关系状态A} → 第{M}章:{关系状态B}
|
|
143
|
-
触发事件:{具体事件}
|
|
144
|
-
情感转变:{正面→负面/负面→正面/中立→复杂 等}
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
**最终状态合并**:同一有向关系的多阶段状态保留最新状态作为主记录,历史变化写入演变轨迹。反向关系动作不能因角色对相同而被去重。
|
|
148
|
-
|
|
149
|
-
**隐含关系推断**:当角色间没有直接互动但有间接证据时:
|
|
150
|
-
- 通过第三方的评价/描述推断(置信度参考 0.7,并注明评价者及依据)
|
|
151
|
-
- 通过共同出现的频率和场合形成候选推断(置信度参考 0.6),仍需具体关系证据,不能仅凭同场确认关系
|
|
152
|
-
- 推断关系标记 `[推断]`,与直接证据关系区分
|
|
153
|
-
|
|
154
|
-
**关系数复核线索**:
|
|
155
|
-
- 逐个统计主要角色(主角+核心配角)与不同角色建立的有向关系数,同方向多次变化只算一条
|
|
156
|
-
- 关系数 < 3 时查遗漏,> 10 时查误合并;只按原文修正,不为达到数量补造或删减关系
|
|
157
|
-
|
|
158
|
-
## 输出模板
|
|
159
|
-
|
|
160
|
-
> **Stage 4 直接按主题拆分输出多个文件**(与当前导入、长篇写作项目结构对齐)。
|
|
161
|
-
> **事实保真**:等级/数值/距离/属性/势力数等硬事实核对已有批次证据或旧成果,原文未给的写「原文未明确」、禁编造填空(见 [synthesis-inputs.md](synthesis-inputs.md)「合成阶段事实保真」)。
|
|
162
|
-
|
|
163
|
-
`设定/世界观/力量体系.md`:
|
|
164
|
-
- 文本描述,含等级、晋升条件。长篇注意多层级力量体系
|
|
165
|
-
- 内容 < 200 字且不构成独立体系 → 合并到 `设定/世界观/背景设定.md`,本文件可省略
|
|
166
|
-
|
|
167
|
-
`设定/世界观/地理.md`:
|
|
168
|
-
- 分布、主要区域、关键地点(文本描述)
|
|
169
|
-
- 内容 < 200 字 → 合并到 `背景设定.md`,本文件可省略
|
|
170
|
-
|
|
171
|
-
`设定/世界观/背景设定.md`:
|
|
172
|
-
- 核心规则 + 特殊设定
|
|
173
|
-
- 内容不足独立成文件的「力量体系 / 地理 / 势力」也合并到这里
|
|
174
|
-
- 无特殊世界观时:本文件输出 "本书为现实题材,无特殊世界观设定"
|
|
175
|
-
|
|
176
|
-
`设定/世界观/金手指.md`:
|
|
177
|
-
- 类型{system/space/rebirth/transmigration/special_physique/artifact/bloodline/other} | 名称 | 描述(300-600字,含能力/获取/机制/进化史/多重能力演化)| 核心机制 | 当前能力
|
|
178
|
-
- 合并规则见上方「金手指合并规则」。
|
|
179
|
-
- 无金手指时:文件只写"本书无明显金手指设定"
|
|
180
|
-
|
|
181
|
-
`设定/势力/{势力名}.md`(每个核心势力一个文件):
|
|
182
|
-
- 名称 / 类型(门派/组织/家族/国家)/ 核心人物 / 立场倾向 / 与其他势力关系 / 关键事件
|
|
183
|
-
- 内容 >= 200 字时独立;不足合并到 `设定/世界观/背景设定.md`(不丢失信息)
|
|
184
|
-
|
|
185
|
-
`角色/{角色名}.md`(每角色):
|
|
186
|
-
- 200-500字档案(身份背景→核心经历→性格特质→能力特长→人际关系→成长轨迹)
|
|
187
|
-
- archetype:protagonist/antagonist/supporting/minor
|
|
188
|
-
- 关键情节(3-5个转折点,按时序排列)
|
|
189
|
-
- 成长弧线(character_arc:如有明显变化则总结,如"从普通少年成长为觉醒血脉的强者")
|
|
190
|
-
- 别名列表(标注类型和置信度)
|
|
191
|
-
|
|
192
|
-
`角色/角色关系.md` 从逐章事实和批次观察聚合,不重新读整本原文:
|
|
193
|
-
|
|
194
|
-
| 关系ID | 主体 → 客体 | 关系动作/类型 | 表面关系 | 真实关系 | 触发事件 | 双方得失 | 变化后状态 | 证据强度 | 证据 |
|
|
195
|
-
|---|---|---|---|---|---|---|---|---|---|
|
|
196
79
|
|
|
197
|
-
|
|
80
|
+
它总是写出 `人物关系图/人物关系图.md`(Mermaid 图+文字清单,文字清单保留中文,是主产物);只有装了 matplotlib 且找到能显示图中全部文字的字体时,才另画 `核心人物关系.png` 与 `关键关系演变.png`,表情等符号不画进图片。字体不够就不出图,不改画拼音或首字母版,把脚本返回的 `author_message` 转告作者。
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Stage 5
|
|
1
|
+
# Stage 5:主报告、完整概要与选题回填
|
|
2
2
|
|
|
3
3
|
Stage 5 时刻读本文件与 [synthesis-inputs.md](synthesis-inputs.md)。`拆文报告.md` 的模板与写法在 [author-facing.md](author-facing.md)「拆文报告.md」。
|
|
4
4
|
|
|
@@ -10,26 +10,23 @@ Stage 5 时刻读本文件与 [synthesis-inputs.md](synthesis-inputs.md)。`拆
|
|
|
10
10
|
"{PYTHON}" "{story-long-analyze skill 根}/scripts/manage_analysis_run.py" mark-stage --root "{拆文目录}" --stage stage5 --prepare
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
若有旧报告,命令会完整复制到 `_analysis_cache/legacy/拆文报告.md`;已存在的首份备份不覆盖。旧报告与首份备份内容不同时,另存一份带内容 hash 的历史备份。其他旧产物与已有摘要不得覆盖。新报告和完整概要落盘后再用不带 `--prepare` 的 `mark-stage` 标记完成。
|
|
14
14
|
|
|
15
15
|
## 完整概要
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
从已落盘的 `剧情/故事线.md`(含故事框架)与各剧情单元写 500–1000 字全书概要,涵盖主要剧情线的发展阶段、核心人物作用、关键转折与因果,写进 `概要.md`:把 Stage 0 的「首版概要」一节换成「全书概要」,基本信息和卷段表保留。
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
## 报告
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
按 author-facing「拆文报告.md」写。报告只综合已落盘的底层结果,不为写报告重读全文,也不复制逐章摘要;每条结论写一句人话,再指向对应文件和章节。`source_locator`、证据等级和 `EV/RV/AX/EM` 全量编号留在底层文件里,报告里的编号只在带名称时出现。
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
文风尚未生成时,「文风一句话」写明待补;报告落盘并标记 `stage5` 后,由 Stage 6 按 [style-profile-generator.md](style-profile-generator.md)「报告回填」补齐,续跑也照此交接。
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
## 选题回填
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
长篇扫榜的 `选题决策.md` 会把「能爆的原因」标成 `待拆文验证`,等拆文给出依据。报告落盘后找这份文件:先看 `拆文库/` 所在的工作区根目录,再看工作区里 `扫榜/*/选题决策.md` 中日期最新的一份;都没有就跳过,不影响拆文。
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
- 底层文件中的每条可检索结论保留剧情单元/章节、`source_locator` 或定位词及证据强度;作者报告只写结论、名称和章节,不复制内部字段;`chapter_index.csv` 的逐章 hash 和 `_progress.md` 批次范围 hash 用于判断原文范围是否变化。
|
|
34
|
-
- 下游先运行兼容检查器读取 `classification`、`current_capabilities`、`conflicts` 和覆盖范围。缺项时请求长篇拆文的定点增强;不得把旧资料概括成伪造的当前主产物,也不得为入库重新阅读全文。
|
|
35
|
-
- 是否进入灵感库、跨书归并、差异保留和检索策略由三层灵感库能力决定;单书拆文不自动入库。
|
|
29
|
+
1. 文件里没有「推荐选题」一节(只扫了榜)就跳过,不算无效;有推荐选题但缺「能爆的原因」等当前必需字段时停下,按 author-facing「选题决策缺栏目」告诉作者。
|
|
30
|
+
2. 只看「题材组合」与本书题材匹配、且「能爆的原因」仍标 `待拆文验证` 的选题。
|
|
31
|
+
3. 拆文支持这个假设时,把标记改成 `已拆文验证`,在同一行补依据,写成「依据:《{书名}》拆文报告·核心发现第 N 条(第 x–y 章)」;拆文结果与假设不符时改成 `拆文未证实`,用同样格式写清哪里不符。只改这一行,其他栏目不动。
|
|
32
|
+
4. 向作者汇报时用一句话说明回填了哪个选题、结论是什么。
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Stage 6:文风档案生成与单独重建
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
完整管道收尾或单独补缺失的 `文风.md` 时读本文件。单独补文风不触发 Stage 1–5。`拆文库/{书名}/文风.md` 由本 skill 独占写入;书被选为另一项目的对标时,由 story-import 或 story-long-write 首次引用时复制到 `{项目}/对标/{书名}/文风.md`。
|
|
4
4
|
|
|
5
5
|
## 原则
|
|
6
6
|
|
|
7
7
|
1. 文风档案描述作者实际写法,不评价作者水平。
|
|
8
8
|
2. 情绪和节奏意图以 `剧情/情绪模块.md`、`剧情/节奏.md` 为准,文风只管表达层。
|
|
9
9
|
3. 已有完整 `文风.md` 时原样保留;用户明确要求增强时才更新。
|
|
10
|
-
4. Stage 6
|
|
10
|
+
4. Stage 6 不重扫全书,只允许按索引行号定点回读 4–6 段原文。
|
|
11
11
|
5. 摘要措辞不能冒充作者原句;缺少原文和有效样本时报错。
|
|
12
12
|
|
|
13
13
|
## 来源顺序
|
|
14
14
|
|
|
15
15
|
1. 既有 `文风.md`;
|
|
16
16
|
2. 项目内非空且含连续原文的 `_style-sample.txt`;
|
|
17
|
-
3. `章节/第1
|
|
17
|
+
3. `章节/第1章_深度拆解.md`–`第3章_深度拆解.md` 中带定位的短引和写法证据;
|
|
18
18
|
4. `_analysis_cache/批次-*.md`、`章节/*_摘要.md` 与 `拆文报告.md` 的结构层观察;
|
|
19
|
-
5.
|
|
19
|
+
5. 仍缺锚点时,读 `chapter_index.csv`,按“覆盖主要基调”选 4–6 章,再按 `start_line/end_line` 定点读原文片段。
|
|
20
20
|
|
|
21
21
|
旧项目缺索引时可单独建索引,不写 `_progress.md` 或启动其他阶段。
|
|
22
22
|
|
|
23
|
-
## 报告回填
|
|
24
|
-
|
|
25
|
-
完整管道或续跑中,文风落盘后、标记 `stage6` 前,检查 `_progress.md` 受管阶段表:`stage5` 为 `completed`、产物为 `拆文报告.md`,且报告「文风一句话」仍待补时,用 `文风.md` 补齐该段。已有简述保留;单独补旧项目文风不改已有报告。
|
|
26
|
-
|
|
27
23
|
## 单独重建文风
|
|
28
24
|
|
|
29
25
|
当 story-long-write 或用户发现 `文风.md` 缺失时:
|
|
30
26
|
|
|
31
|
-
1. 运行检查器,确认其他拆文成果可用且 `stage_repairs` 包含 `stage6_style`;
|
|
32
|
-
2.
|
|
27
|
+
1. 运行检查器,确认其他拆文成果可用且 `stage_repairs` 包含 `stage6_style` 或 `stage6`;
|
|
28
|
+
2. `_style-sample.txt` 有效就直接用;
|
|
33
29
|
3. 样本不足时确认 `chapter_index.csv` 与原文存在。缺索引时只运行:
|
|
34
30
|
|
|
35
31
|
```text
|
|
@@ -37,8 +33,8 @@
|
|
|
37
33
|
```
|
|
38
34
|
|
|
39
35
|
4. 从索引选 4–6 章,覆盖已有资料能确认的不同基调;每章按行号取一段 300–500 字连续原句,写入或更新 `_style-sample.txt`;
|
|
40
|
-
5.
|
|
41
|
-
6.
|
|
36
|
+
5. 按下方模板生成 `文风.md`;
|
|
37
|
+
6. 落盘后运行:
|
|
42
38
|
|
|
43
39
|
```text
|
|
44
40
|
"{PYTHON}" "{story-long-analyze skill 根}/scripts/manage_analysis_run.py" mark-stage --root "{拆文目录}" --stage stage6 --output "文风.md"
|
|
@@ -46,34 +42,114 @@
|
|
|
46
42
|
|
|
47
43
|
索引、原文和有效样本都不存在时停止,返回“无法取得可验证文风锚点”,不得生成锚点全空的可用文风。
|
|
48
44
|
|
|
49
|
-
##
|
|
45
|
+
## 报告回填
|
|
46
|
+
|
|
47
|
+
完整管道或续跑中,文风落盘后、标记 `stage6` 前,检查 `_progress.md` 受管阶段表:`stage5` 为 `completed`、产物为 `拆文报告.md`,且报告「文风一句话」仍待补时,用 `文风.md` 补齐该段。已有简述保留;单独补旧项目文风不改已有报告。
|
|
48
|
+
|
|
49
|
+
## 篇幅与可信度
|
|
50
|
+
|
|
51
|
+
总上限 4000 字:描述部分(整体语感、对话技法、情绪交替模式、可借鉴技巧、分层模仿建议)≤1800 字,原文锚点 4–6 段、每段 300–500 字、合计 ≤2100 字,生成记录与不建议模仿合计 ≤100 字。
|
|
52
|
+
|
|
53
|
+
每项结论后写一行「依据」,用下面三种说法之一:
|
|
54
|
+
|
|
55
|
+
| 依据 | 什么时候写 |
|
|
56
|
+
|---|---|
|
|
57
|
+
| 已有资料 | 从既有拆文成果读出,如章基调序列从逐章摘要的基调行统计 |
|
|
58
|
+
| 原文锚点 | 从 4–6 段原文锚点归纳,锚点覆盖三种以上基调 |
|
|
59
|
+
| 样本不足 | 锚点不到 4 段、只覆盖一两种基调,或只能依据摘要措辞 |
|
|
60
|
+
|
|
61
|
+
句长、标点、段落节奏都是看锚点归纳出来的,最多写「原文锚点」。
|
|
62
|
+
|
|
63
|
+
## 模板
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
# {书名} 文风
|
|
67
|
+
|
|
68
|
+
## 生成记录
|
|
69
|
+
- 参考资料:拆文报告.md、黄金三章深度拆解、章节摘要
|
|
70
|
+
- 抽样章节:第 {K1}/{K2}/{K3}/{K4}[/{K5}/{K6}] 章(每章取 300-500 字连续行段)
|
|
71
|
+
- 生成时间:{date}
|
|
72
|
+
- 适用对标书路径:拆文库/{书名}/
|
|
73
|
+
- 文风可用:是 # 没有可核验的原句锚点时写“否:原因”;原文文件缺失但已有有效样本时仍可使用
|
|
74
|
+
|
|
75
|
+
## 整体语感
|
|
76
|
+
- 句长分布:{短句多还是长句多、长短怎样交替、什么场面用短句,附 1-2 个原文短例。一句概括语感。}
|
|
77
|
+
- 依据:原文锚点 / 样本不足
|
|
78
|
+
- 标点习惯:{破折号/省略号/句号/感叹号/分号 的高频用法。附 2-3 个原文短片段示例。}
|
|
79
|
+
- 依据:原文锚点 / 样本不足
|
|
80
|
+
- 段落节奏:{平均段长、单段单动作还是多动作堆叠、断行习惯。}
|
|
81
|
+
- 依据:原文锚点 / 样本不足
|
|
82
|
+
|
|
83
|
+
## 对话技法
|
|
84
|
+
- 潜台词模式:{2-3 种典型潜台词手法(问非所答 / 语气反差 / 信息隐瞒等),每种附 1 段原文示例。}
|
|
85
|
+
- 依据:已有资料 / 原文锚点 / 样本不足
|
|
86
|
+
- 对话标签习惯:{说话动词多样性、动作替代说话标签的频率、对话与动作的穿插比例。}
|
|
87
|
+
- 角色语气区分:{主角和 1-2 个核心配角的口头禅/句式差异,引用原文样本句。}
|
|
88
|
+
|
|
89
|
+
## 情绪交替模式
|
|
90
|
+
- 章内基调切换:{按情节点基调序列看典型章节是否在 紧张↔轻松 或 热血↔温馨 之间切换、每章切换几次。}
|
|
91
|
+
- 依据:已有资料 / 原文锚点 / 样本不足
|
|
92
|
+
- 跨章基调周期:{已拆范围内前 20 章的章基调序列;不足 20 章用实际章数并注明范围,识别“虐 3 章爽 1 章”之类周期。}
|
|
93
|
+
- 喜剧↔重击的转场手法:{轻松→悲伤 的急转用了什么手法,举 1-2 个原文锚点。}
|
|
94
|
+
|
|
95
|
+
## 可借鉴技巧(从 拆文报告.md 直接引用)
|
|
96
|
+
- 写法技巧 Top 5:
|
|
97
|
+
1. {技巧名}:{一句话用法说明}
|
|
98
|
+
2. ...
|
|
99
|
+
- 可借鉴套路 Top 3:
|
|
100
|
+
1. {套路名}:{适用场景}
|
|
101
|
+
2. ...
|
|
102
|
+
|
|
103
|
+
## 分层模仿建议
|
|
104
|
+
- 基础层(必学):{词汇偏好、句式节奏、对话标签、描写重心中最容易迁移的 3-5 条;只学表达习惯,不复制原句}
|
|
105
|
+
- 进阶层(结构):{节奏推进、伏笔埋回、视角切换、场景衔接中最值得复用的 3-5 条;替换人物/场景/道具后再使用}
|
|
106
|
+
- 适配层(适合当前项目):{哪些技法适合、哪些会导致人设/题材错位;不搬运专名、标志性台词、独特桥段和事件顺序}
|
|
107
|
+
|
|
108
|
+
## 原文锚点片段
|
|
109
|
+
|
|
110
|
+
> 每片段 300-500 字,供写正文时当范例。优先复用旧文风、黄金三章或批次中已保存并带定位的连续原句;没有有效样本时按 `chapter_index.csv` 定点读取。模仿手法,不抄字句。
|
|
111
|
+
|
|
112
|
+
### 片段 A — 基调:紧张
|
|
113
|
+
**出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
|
|
114
|
+
**示范点**:{句长节奏 / 标点位置 / 一笔两用 等}
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
{300-500 字原文}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 片段 B — 基调:悲伤/压抑
|
|
121
|
+
**出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
|
|
122
|
+
**示范点**:{对话潜台词手法}
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
{300-500 字原文}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 片段 C — 基调:轻松/搞笑
|
|
129
|
+
**出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
|
|
130
|
+
**示范点**:{句子节奏 / 角色语气区分}
|
|
50
131
|
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
- 每项标 `high / med / low` 置信度及来源路径;
|
|
55
|
-
- 原文锚点 4–6 段,每段标章节、行号、基调和示范点;全书只分析到较少基调时,不补造缺失基调。
|
|
132
|
+
```
|
|
133
|
+
{300-500 字原文}
|
|
134
|
+
```
|
|
56
135
|
|
|
57
|
-
|
|
136
|
+
### 片段 D — 基调:热血/爽点
|
|
137
|
+
**出处**:第 {K} 章 第 {段号} 段(行 {L1}-{L2})
|
|
138
|
+
**示范点**:{爽点铺放比 / 动作描写句长}
|
|
58
139
|
|
|
59
|
-
|
|
140
|
+
```
|
|
141
|
+
{300-500 字原文}
|
|
142
|
+
```
|
|
60
143
|
|
|
61
|
-
|
|
62
|
-
|---|---|---|---|
|
|
63
|
-
| 生成记录 | 参考了哪些资料 + 抽样看了哪几章 + 文风是否可用 | 否 | 与「不可模仿」合计≤100 字 |
|
|
64
|
-
| 整体语感 | 句长分布 / 标点习惯 / 段落节奏 | 是(每子项一标) | ~500 字 |
|
|
65
|
-
| 对话技法 | 潜台词模式 / 对话标签 / 角色语气区分 | 是(潜台词必标) | ~350 字 |
|
|
66
|
-
| 情绪交替模式 | 章内基调切换 / 跨章基调周期 / 喜剧↔重击转场 | 是(章内切换必标) | ~350 字 |
|
|
67
|
-
| 可借鉴技巧 | 写法技巧 Top 5 + 可借鉴套路 Top 3(从拆文报告引用;情绪/节奏意图只引用 `剧情/情绪模块.md` / `剧情/节奏.md`,不在文风中重定义) | 否 | ~250 字 |
|
|
68
|
-
| 分层模仿建议 | 基础层 / 进阶层 / 适配层,各写可执行边界 | 否 | ~350 字 |
|
|
69
|
-
| **原文锚点片段** | **4-6 段,每段300-500字,合计≤2100字**,按基调分类,标"出处 + 行号 + 示范点" | 否 | ≤2100 字 |
|
|
70
|
-
| 不可模仿 | 对标书缺陷或不适合本项目的技法 | 否 | 与生成记录合计≤100 字 |
|
|
144
|
+
> 优先覆盖项目可能用到、且对标书样本充足的基调:紧张、悲伤/压抑、轻松/温馨、热血。按拆文里实际分布挑 4-6 段;缺哪个基调就写“本书该基调样本不足,跳过”,不要编造。
|
|
71
145
|
|
|
72
|
-
|
|
146
|
+
## 不建议模仿
|
|
147
|
+
- {对标书的明显缺陷或不适合当前项目的技法。可选段落,可空。}
|
|
148
|
+
```
|
|
73
149
|
|
|
74
150
|
## 质量检查
|
|
75
151
|
|
|
76
|
-
-
|
|
152
|
+
- 依据写「已有资料」的结论都有资料路径,写「原文锚点」的都能回指锚点;
|
|
77
153
|
- 4–6 段锚点覆盖不同基调,且来自索引指定的局部行段;
|
|
78
|
-
-
|
|
154
|
+
- 未获增强请求时不覆盖旧文件;
|
|
79
155
|
- Stage 6 失败只报告本阶段缺口,不回头重跑 Stage 1–5。
|
|
@@ -17,16 +17,26 @@ Stage 3、4、5 各自的时刻都读本文件。
|
|
|
17
17
|
- 旧项目没有批次缓存时,直接复用现有剧情、节奏、情绪、关系和逐章资料,不要为了统一格式先把旧摘要重新压缩一遍;证据不足或冲突时标未知或待核;
|
|
18
18
|
- Stage 3–5 不回读原文,也不各自重读同一批原文;Stage 6 可以按索引定点读取 4–6 段文风锚点,但不得重新扫描整本原文。
|
|
19
19
|
|
|
20
|
+
## 证据等级
|
|
21
|
+
|
|
22
|
+
剧情单元、节奏、情绪模块、角色关系等底层文件里的推断按三级标注:
|
|
23
|
+
|
|
24
|
+
- `A 明确`:输入资料直接给出;
|
|
25
|
+
- `B 强推断`:多个明确细节共同支持;
|
|
26
|
+
- `C 暂定`:证据不足,只留作待核。
|
|
27
|
+
|
|
28
|
+
给作者看的报告不写字母,按 author-facing「证据强弱说人话」转述。
|
|
29
|
+
|
|
20
30
|
## 阶段标记
|
|
21
31
|
|
|
22
|
-
Stage
|
|
32
|
+
Stage 3–5 各运行一次,失败后按缺口重试。文件成功落盘后再标记:
|
|
23
33
|
|
|
24
34
|
```text
|
|
25
35
|
"{PYTHON}" "{story-long-analyze skill 根}/scripts/manage_analysis_run.py" mark-stage \
|
|
26
36
|
--root "{拆文目录}" --stage stage3 --output "剧情/节奏.md"
|
|
27
37
|
```
|
|
28
38
|
|
|
29
|
-
|
|
39
|
+
`mark-stage` 只检查约定产物存在且非空:Stage 3 要情绪模块与节奏两份都在(用上面的 `--output`),Stage 4 要至少一份角色档案(`角色关系.md` 不算)和一份设定,Stage 5 要报告。语义质量仍按各阶段规则验收。Stage 1–2 的标记见 pipeline-ops.md,Stage 6 见 style-profile-generator.md。
|
|
30
40
|
|
|
31
41
|
## 合成阶段事实保真(阶段 3-5:剧情/设定/角色/报告)
|
|
32
42
|
|
|
@@ -483,7 +483,9 @@ def inspect(root: Path, expected_override: int | None) -> dict[str, object]:
|
|
|
483
483
|
)
|
|
484
484
|
if plot_dir.is_dir()
|
|
485
485
|
else False,
|
|
486
|
-
"characters": any_nonempty((root / "角色").glob("*.md")
|
|
486
|
+
"characters": any_nonempty(path for path in (root / "角色").glob("*.md") if path.name != "角色关系.md")
|
|
487
|
+
if (root / "角色").is_dir()
|
|
488
|
+
else False,
|
|
487
489
|
"settings": any_nonempty((root / "设定").rglob("*.md")) if (root / "设定").is_dir() else False,
|
|
488
490
|
"batch_cache": any_nonempty((root / "_analysis_cache").glob("批次-*.md"))
|
|
489
491
|
if (root / "_analysis_cache").is_dir()
|
|
@@ -898,7 +898,11 @@ def stage_required_outputs(root: Path, stage: str) -> List[str]:
|
|
|
898
898
|
if stage == "stage3":
|
|
899
899
|
return ["剧情/情绪模块.md", "剧情/节奏.md"]
|
|
900
900
|
if stage == "stage4":
|
|
901
|
-
|
|
901
|
+
# 角色关系.md is the relation table, not a character profile.
|
|
902
|
+
character_files = sorted(
|
|
903
|
+
path for path in (root / "角色").glob("*.md")
|
|
904
|
+
if path.name != "角色关系.md" and path.is_file() and path.stat().st_size
|
|
905
|
+
)
|
|
902
906
|
setting_files = sorted(path for path in (root / "设定").rglob("*.md") if path.is_file() and path.stat().st_size)
|
|
903
907
|
missing = []
|
|
904
908
|
if not character_files:
|