@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,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: story-setup
|
|
3
|
-
version: 1.3.
|
|
3
|
+
version: 1.3.4
|
|
4
4
|
description: "网文写作工具集基础设施部署与检查。为 Claude Code / OpenCode / Codex / Google Antigravity / ZCode / OpenClaw / Reasonix 提供内置适配;Web AI / 通用 Agent 可走 skills + AGENTS.md 文件模式。触发方式:/story-setup、$story-setup、「准备写书」「帮我搭一下环境」「配置写作项目」「检查写作环境」。"
|
|
5
5
|
metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudecode"}}
|
|
6
6
|
---
|
|
@@ -21,14 +21,14 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
|
|
|
21
21
|
|
|
22
22
|
## Phase 1:判断宿主与项目
|
|
23
23
|
|
|
24
|
-
**先自检参考目录**:以正在执行的本 `SKILL.md` 所在目录为准,列出与它同级的 `references/` 下的子目录,核对下面 9 个名字是否都在**且都非空**——`agent-references`、`templates`、`opencode`、`codex`、`antigravity`、`zcode`、`openclaw`、`reasonix`、`generic`;同级 `references/deploy-*.md`(8 份宿主部署文件)、`scripts/merge-claude-settings.py`、`scripts/merge-codex-hooks.py`、`scripts/merge-antigravity-hooks.py`、`scripts/generate-antigravity-agents.mjs`、`scripts/deploy-antigravity-skills.py` 与 `scripts/copy-path-safety.py` 也必须存在(宿主部署步骤、Claude/Codex/Antigravity hooks 合并、Antigravity Skills 物化与 agent
|
|
24
|
+
**先自检参考目录**:以正在执行的本 `SKILL.md` 所在目录为准,列出与它同级的 `references/` 下的子目录,核对下面 9 个名字是否都在**且都非空**——`agent-references`、`templates`、`opencode`、`codex`、`antigravity`、`zcode`、`openclaw`、`reasonix`、`generic`;同级 `references/deploy-*.md`(8 份宿主部署文件)、`scripts/merge-claude-settings.py`、`scripts/merge-codex-hooks.py`、`scripts/merge-antigravity-hooks.py`、`scripts/generate-antigravity-agents.mjs`、`scripts/deploy-antigravity-skills.py`、`scripts/merge-project-instructions.py` 与 `scripts/copy-path-safety.py` 也必须存在(宿主部署步骤、Claude/Codex/Antigravity hooks 合并、Antigravity Skills 物化与 agent 生成、项目指令合并、递归复制安全检查依赖它们)。有缺即 skill 包没装全,**立即停止,不写任何部署文件**,报告里区分「缺目录」「目录为空」和「缺脚本或部署文件」,并给修复指令:「story-setup 参考资料包不完整,缺 {路径}。按你的安装方式重装 oh-story-claudecode(命令行装的重跑 `npx skills add zenstory-ai/oh-story-claudecode -y -g`,marketplace / Plugin Management 装的在面板里重装),再执行 /story-setup。」
|
|
25
25
|
|
|
26
26
|
> 判据是「有没有 `SKILL.md`」:只看正在执行的 `SKILL.md` 同级的 `references/`。项目内 `.claude/skills/story-setup/`、`.codex/skills/story-setup/` 和 OpenCode 的 `skills/story-setup/` 只有 `references/agent-references/`、不含 `SKILL.md`,不会是执行目录,也不要拿它们核对。Antigravity / ZCode / OpenClaw / Reasonix / generic 的项目副本是整份 skill 拷贝、自带 `SKILL.md`,9 个子目录本就齐全,照常核对即可。
|
|
27
27
|
|
|
28
28
|
1. 检查当前目录是否已部署过(存在 `.story-deployed`)
|
|
29
|
-
- `agents_version` 缺失、非整数或小于 `
|
|
30
|
-
- `agents_version:
|
|
31
|
-
- `agents_version` 大于 `
|
|
29
|
+
- `agents_version` 缺失、非整数或小于 `36` → 标记为待更新,继续执行当前部署
|
|
30
|
+
- `agents_version: 36` → 使用 AskUserQuestion 确认是否重新部署;提示里写明重新部署只用**当前本地 skill 包**刷新项目文件,要拿 skill 本身的新版本得先更新 oh-story-claudecode(`npx skills add` 或 marketplace),再回来重跑
|
|
31
|
+
- `agents_version` 大于 `36` → 当前 story-setup 比项目部署旧;停止以避免降级覆盖,提示先更新 oh-story-claudecode,不写任何部署文件
|
|
32
32
|
- 同时读 `target_cli` 字段。**已部署项目以 sentinel 里的值为准**:非空时(逗号分隔的多端组合原样保留)这些端照常重新部署,不再让作者选;第 4 步仍判断当前宿主:判断出来且不在其中(作者换了软件)→ AskUserQuestion 问「这个文件夹之前是给 {已部署宿主名} 装的,你现在用的是 {当前宿主名},要一起装上吗?」(「一起装上(推荐)」「只更新原来的」),选前者就加进 `target_cli`;判断不出不问。字段缺失或为空才走第 4-6 步。用户明确要求增删目标端时,用 AskUserQuestion 在现有值基础上改,改完的值写回 sentinel。
|
|
33
33
|
- `target_cli` 不含 opencode、但项目里有 `.opencode/plugins/story-hooks.ts` 或 `.opencode/agents/`(多端部署时 OpenCode 曾被版本门拦下)→ 用 AskUserQuestion 问是否把 OpenCode 加回来;选加回则先过 [references/deploy-opencode.md](references/deploy-opencode.md) 的「部署前置」,通过后写回 `target_cli`
|
|
34
34
|
2. 检查是否有书名目录(包含 `追踪/` 子目录的目录,或用户自定义结构)
|
|
@@ -48,6 +48,7 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
|
|
|
48
48
|
- `openclaw.json`、`.openclaw/`,或 `AGENTS.md` 中的 OpenClaw 段(标题行含 `网文写作工具集(OpenClaw)`)→ `target_cli = openclaw`
|
|
49
49
|
- `.reasonix/`、`reasonix-plugin.json`、`REASONIX.md`,或 `AGENTS.md` 中的 Reasonix 段(标题行含 `网文写作工具集(Reasonix)`)→ `target_cli = reasonix`
|
|
50
50
|
- `AGENTS.md` 中的通用段(标题行含 `网文写作工具集(通用 Agent / Web AI)`)→ `target_cli = generic`
|
|
51
|
+
- `CLAUDE.md` / `AGENTS.md` 里的 `<!-- oh-story:{宿主} 开始` 管理块 → `target_cli` 含该宿主
|
|
51
52
|
|
|
52
53
|
> 后三类只认各端**互斥**的标记:`skills/*/SKILL.md` 的 `metadata.openclaw` 不作 OpenClaw 信号(13 个 skill 都带,三条 skills-only 路径部署出的 `skills/` 一样);`.agents/skills/` 由 Antigravity、Codex 与 Reasonix 共用,也不单独作准。
|
|
53
54
|
6. 定下 `target_cli`:
|
|
@@ -59,7 +60,7 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
|
|
|
59
60
|
|
|
60
61
|
## Phase 2:部署基础设施
|
|
61
62
|
|
|
62
|
-
Phase 2
|
|
63
|
+
Phase 2 幂等:复制、写入与各宿主合并重复执行结果一致。受管目录中只覆盖 oh-story 自己的 13 个 skill、7 个助手、hook 与规则文件,保留同目录里作者自己的文件;不覆盖书稿、设定、大纲、追踪和 `.active-book`。工具、权限或网络问题中断后,从头重跑即可,不另清理半成品;`create only if absent` 的用户状态文件(见清单 Owner class)不会被覆盖。
|
|
63
64
|
|
|
64
65
|
**两列基准目录不同**:`Source path` 是包内来源,story-setup 内的路径以当前 `SKILL.md` 所在目录定位;`Target path` 相对用户项目根。执行每一行(以及各宿主部署算法里的每个递归复制步骤)之前,先把通配符具体化为单个源/目标,再用本 `SKILL.md` 同级的 `scripts/copy-path-safety.py` 检查。该脚本按 `Path.resolve` / `realpath` 语义跟随已有 symlink,并在两侧都存在时用 `samefile` 核对文件系统对象;**只转绝对路径或比较字符串不算检查完成**。读取其 JSON:`status: same` 时 no-op,禁止复制;仅 `copy_allowed: true` 时可以复制;`source_missing`、`unsafe_target_within_source` 或 `filesystem_identity_error` 必须停止该步骤并报告。无法运行脚本时只能用当前环境的文件系统 API 做完全相同的 canonical realpath、same-object 与 target-descendant 检查;无法确认就停止,不得尝试复制。OpenClaw / Reasonix / generic 的项目副本是整份 skill 拷贝,重跑时执行的就是项目里那份;Reasonix / Codex 还可能经 `.agents/skills → ../skills` symlink 加载,路径文本不同也可能指向同一目录,照字面复制会把目录嵌进自身并撑满磁盘。
|
|
65
66
|
|
|
@@ -80,7 +81,7 @@ Phase 2 幂等:复制、写入与各宿主合并重复执行结果一致。工
|
|
|
80
81
|
| `reasonix` | [references/deploy-reasonix.md](references/deploy-reasonix.md) |
|
|
81
82
|
| `generic` | [references/deploy-generic.md](references/deploy-generic.md) |
|
|
82
83
|
|
|
83
|
-
多端部署时几个宿主共用根 `AGENTS.md
|
|
84
|
+
多端部署时几个宿主共用根 `AGENTS.md`,各占一个管理块(见下方「项目指令合并」);某一端被自己的前置条件拦下(如 OpenCode 版本门、Antigravity 缺 Node)时,按该端部署文件的规定处理,其他端照常部署。
|
|
84
85
|
|
|
85
86
|
### Step 2:创建部署标记
|
|
86
87
|
|
|
@@ -88,15 +89,14 @@ Phase 2 幂等:复制、写入与各宿主合并重复执行结果一致。工
|
|
|
88
89
|
- 写入以下字段(YAML `key: value` 格式,hook 用 `references/templates/hooks/lib/sentinel.sh` 读取):
|
|
89
90
|
```
|
|
90
91
|
deployed_at: <date -u +"%Y-%m-%dT%H:%M:%SZ">
|
|
91
|
-
agents_version:
|
|
92
|
-
setup_skill_version: 1.3.
|
|
92
|
+
agents_version: 36
|
|
93
|
+
setup_skill_version: 1.3.4
|
|
93
94
|
target_cli: claude-code(或 opencode、codex、antigravity、zcode、openclaw、reasonix、generic,或其任意组合)
|
|
94
95
|
resolver_strategy: project-local-skill-reference
|
|
95
96
|
references_dir: .claude/skills/story-setup/references/agent-references(Codex 写 .codex/skills/...;Antigravity 写 .agents/skills/...;ZCode 写 .zcode/skills/...;OpenCode / OpenClaw / Reasonix / generic 写 skills/...;多端用逗号分隔)
|
|
96
97
|
```
|
|
97
98
|
- 此文件供 session-start.sh 和写作 skill 检测部署状态,避免重复提示
|
|
98
99
|
- 宿主部署文件里「部署标记补充」要求的额外标记一并创建(如 Claude Code 的重启确认标记)
|
|
99
|
-
- 如果 `.story-deployed` 已存在但 `agents_version` 缺失、非整数或小于 `35`,按本次流程更新 hooks/agents/rules/reference bundle(具体变更见 `UPGRADING.md`);大于 `35` 时已在 Phase 1 停止,不得降级覆盖
|
|
100
100
|
|
|
101
101
|
## Phase 3:验证安装
|
|
102
102
|
|
|
@@ -104,7 +104,7 @@ Phase 2 幂等:复制、写入与各宿主合并重复执行结果一致。工
|
|
|
104
104
|
|
|
105
105
|
1. 对 `target_cli` 里的每个宿主,执行其部署文件的「验证」一节。
|
|
106
106
|
2. 验证部署标记:
|
|
107
|
-
- 检查 `.story-deployed`
|
|
107
|
+
- 检查 `.story-deployed` 存在,字段齐全,版本号与 Step 2 的字段块一致
|
|
108
108
|
3. 输出安装报告。读者是不懂编程的作者,按这个顺序写:
|
|
109
109
|
- **先写「现在可以做什么」**:用写书的话列本次部署后真正可用的事(如「可以开新书、续写:说 /story-long-write」「可以拆一本对标书」),端的限制如实翻译(如「这个工具里审稿由我一个人完成,没有分工助手」)。
|
|
110
110
|
- **再写「你还需要做的事」**:逐条可照做,如「新开一个会话」「在 Codex 里打开 /hooks,把 oh-story 的几条信任一下」「先安装 Node」;没有就写「无需其他操作」。这两段不出现脚本名、字段名、状态名或文件路径;各宿主部署文件「安装报告必须提示」的内容先翻译进这两段。
|
|
@@ -114,30 +114,23 @@ Phase 2 幂等:复制、写入与各宿主合并重复执行结果一致。工
|
|
|
114
114
|
|
|
115
115
|
## 模板占位符
|
|
116
116
|
|
|
117
|
-
|
|
118
|
-
|--------|----------|------|
|
|
119
|
-
| `{项目名}` | 用户项目名称或目录名 | 《剑来》、《暗卫》 |
|
|
120
|
-
| `{书名}` | 书名目录名(与目录一致) | 与 `{项目名}` 相同,或用户自定义 |
|
|
121
|
-
| `{目标平台}` | 目标发布平台 | 起点、番茄、晋江、知乎盐言 |
|
|
122
|
-
| `{作者名}` | 用户笔名或昵称 | 未指定时用「作者」 |
|
|
117
|
+
只替换 `{项目名}`:用作者给的书名或项目名,没给就用当前目录名,去掉花括号。模板里其余花括号写法(如 `{书名}/正文/`)表示「任意一本书的目录」,原样保留。
|
|
123
118
|
|
|
124
|
-
|
|
119
|
+
## 项目指令合并(CLAUDE.md / AGENTS.md)
|
|
125
120
|
|
|
126
|
-
|
|
121
|
+
每个宿主在项目指令文件里占一个管理块:`<!-- oh-story:{宿主} 开始 … -->` 到 `<!-- oh-story:{宿主} 结束 -->`,块里是渲染后的模板;Claude Code 写 `CLAUDE.md`,其余宿主共用根 `AGENTS.md`。按 `python3` → `python` → `py` 的顺序探测出可用的 Python 记为 `PYBIN`,运行:
|
|
127
122
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
3. OpenCode 使用 `skills/story-setup/references/opencode/AGENTS.md.tmpl`;Codex 使用 `skills/story-setup/references/codex/AGENTS.md.tmpl`;ZCode 使用 `skills/story-setup/references/zcode/AGENTS.md.tmpl`;OpenClaw 使用 `skills/story-setup/references/openclaw/AGENTS.md.tmpl`;Reasonix 使用 `skills/story-setup/references/reasonix/AGENTS.md.tmpl`;通用 Web AI / 其他 Agent 使用 `skills/story-setup/references/generic/AGENTS.md.tmpl`
|
|
132
|
-
4. 模板中的标准 section(Skill 路由表、文件结构、协作规则、与作者协作、Compact 后恢复上下文;模板有而用户文件没有的 section 直接补入)覆盖同名 section;用户独有 section 保留
|
|
133
|
-
5. 多端同时部署时,Codex/OpenCode/ZCode/OpenClaw/Reasonix/generic 共同可用的通用段落只保留一份;工具特有说明以小节区分,避免互相覆盖
|
|
123
|
+
```text
|
|
124
|
+
"$PYBIN" "{story-setup skill目录}/scripts/merge-project-instructions.py" --host {宿主} --template {该宿主模板} --existing {项目指令文件} --output {项目指令文件} --project-name {项目名}
|
|
125
|
+
```
|
|
134
126
|
|
|
135
|
-
|
|
127
|
+
规则(无法运行脚本时照此手工合并):
|
|
128
|
+
1. 文件不存在或为空 → 只写这一块。
|
|
129
|
+
2. 已有本宿主的块 → 整块替换;块外文字和别的宿主的块一字不动。
|
|
130
|
+
3. 没有本宿主的块、但块外有旧版「网文写作工具集」标题行(旧部署)→ 删掉本宿主的旧标题行、引言及与模板同名的节(含已退役的「协作规则」;「Skill 路由表」「文件结构」「写作约束」只在内容带 oh-story 痕迹时才删),在原位置写入这一块;作者自己的节保留在块外。已有别的宿主的块、块外没有旧标题行时,只删本宿主独有的节(如「Codex 项目约定」)。
|
|
131
|
+
4. 以上都不是 → 把这一块追加到文件末尾。
|
|
136
132
|
|
|
137
|
-
|
|
138
|
-
- `.story-deployed` 存在且 `agents_version: 35` → 提示已部署,AskUserQuestion 确认是否重新部署;提示里写明重新部署只用当前本地 skill 包刷新项目文件,skill 本身的更新走 `npx skills add` 或 marketplace
|
|
139
|
-
- `.story-deployed` 存在但 `agents_version` 缺失、非整数或小于 `35` → 提示需要更新,重新执行 Phase 2 覆盖 agents/hooks/rules/reference bundle,CLAUDE.md / AGENTS.md / settings.local.json / .codex/hooks.json / `.agents/hooks.json` / .zcode/config.json 走合并策略
|
|
140
|
-
- `.story-deployed` 存在且 `agents_version` 大于 `35` → 当前 skill 版本过旧,停止并提示先更新 oh-story-claudecode;不覆盖项目中的更新部署
|
|
133
|
+
把脚本输出的旧节名写进安装报告的「部署明细」。
|
|
141
134
|
|
|
142
135
|
---
|
|
143
136
|
|
|
@@ -147,7 +140,7 @@ Phase 2 幂等:复制、写入与各宿主合并重复执行结果一致。工
|
|
|
147
140
|
|------|------|
|
|
148
141
|
| references/deploy-*.md | 8 份宿主部署文件:各自的部署清单、算法、验证与安装报告提示,按 Phase 2 Step 1 只读目标宿主那份 |
|
|
149
142
|
| [references/diagnostics.md](references/diagnostics.md) | 仅检查模式 |
|
|
150
|
-
| UPGRADING.md |
|
|
143
|
+
| UPGRADING.md | 写给作者:各版本要不要重跑、哪些旧数据要迁移 |
|
|
151
144
|
|
|
152
145
|
---
|
|
153
146
|
|
package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md
CHANGED
|
@@ -17,21 +17,21 @@
|
|
|
17
17
|
|---|---|
|
|
18
18
|
| [agent-quality.md](agent-quality.md) | 审查、评分或交付前检查;只提供跨体裁质量核心,必须同时加载当前 profile 的质量覆盖 |
|
|
19
19
|
| [genre-readers.md](genre-readers.md) | 判断目标读者、平台与期待 |
|
|
20
|
-
| [
|
|
21
|
-
| [plot-core-methods.md](plot-core-methods.md) | 卡文、剧情循环失效、五步高潮、过渡或日纲缺推进;short 只取与总篇幅兼容的方法 |
|
|
20
|
+
| [plot-core-methods.md](plot-core-methods.md) | 排或审细纲、小节大纲:目标情绪与主角选择、爽点六类、高潮构建、过渡章、开篇噱头;short 只取与总篇幅兼容的方法 |
|
|
22
21
|
|
|
23
22
|
## Long profile
|
|
24
23
|
|
|
25
24
|
| 文件 | 读取条件 |
|
|
26
25
|
|---|---|
|
|
27
|
-
| [long-genre-catalog.md](long-genre-catalog.md) |
|
|
28
|
-
| [
|
|
26
|
+
| [long-genre-catalog.md](long-genre-catalog.md) | 长篇男频题材定位或框架速查 |
|
|
27
|
+
| [female-audience-writing.md](female-audience-writing.md) | 女频长篇的题材框架、读者需求与简介;女频只读本文件,不读题材目录 |
|
|
28
|
+
| [long-genre-mechanics.md](long-genre-mechanics.md) | 提炼长篇核心梗、设计金手指或微创新 |
|
|
29
29
|
| [genre-prose-cards.md](genre-prose-cards.md) | 确定长篇题材声线与长线约束 |
|
|
30
|
-
| [
|
|
31
|
-
| [outline-
|
|
32
|
-
| [
|
|
33
|
-
| [
|
|
34
|
-
| [long-emotional-methods.md](long-emotional-methods.md) |
|
|
30
|
+
| [character-relations.md](character-relations.md) | 本书有感情线:只读「感情线阶段」 |
|
|
31
|
+
| [outline-methods.md](outline-methods.md) | 讨论或审查卷结构:读「卷纲排法」;没有主对标再读「八节点故事结构」,有自创单元读「情绪模块公式」,换地图读「换地图」 |
|
|
32
|
+
| [opening-design.md](opening-design.md) | 新书开篇或前 3 章细纲:只读「开篇规划」 |
|
|
33
|
+
| [emotional-arc-design.md](emotional-arc-design.md) | 设计或审查卷、剧情单元的情绪弧线:只读「六种弧线速查」 |
|
|
34
|
+
| [long-emotional-methods.md](long-emotional-methods.md) | 设计感情桥段:三板斧、拉扯节奏与失败模式 |
|
|
35
35
|
| [long-chapter-hooks.md](long-chapter-hooks.md) | 设计章首/章尾与跨章期待,不采用固定百字配额 |
|
|
36
36
|
| [long-suspense.md](long-suspense.md) | 编排短期、中期、远期悬念与回收周期 |
|
|
37
37
|
| [long-reversal.md](long-reversal.md) | 设计单元、卷级或全书反转,不采用全文百分比铁律 |
|
|
@@ -44,11 +44,10 @@ Long profile 禁止读取 `short-*` 文件,不得采用“6 章”“每节 50
|
|
|
44
44
|
| 文件 | 读取条件 |
|
|
45
45
|
|---|---|
|
|
46
46
|
| [short-genre-formulas.md](short-genre-formulas.md) | 需要短篇题材结构骨架时 |
|
|
47
|
-
| [short-
|
|
48
|
-
| [short-
|
|
49
|
-
| [short-emotional-methods.md](short-emotional-methods.md) | 设计单篇内的羁绊、撕裂、拉扯与余韵 |
|
|
47
|
+
| [short-chapter-hooks.md](short-chapter-hooks.md) | 设计节尾、节首、段落钩子、付费断点与全文悬念 |
|
|
48
|
+
| [short-emotional-methods.md](short-emotional-methods.md) | 设计单篇内的羁绊、撕裂、拉扯与余韵,选整篇弧线与转折位置 |
|
|
50
49
|
| [short-reversal.md](short-reversal.md) | 设计短篇线索、误导与揭示;两层反转按所选方案使用 |
|
|
51
50
|
| [short-quality.md](short-quality.md) | 审查全文密度、付费点、反转证据链和结尾兑现 |
|
|
52
51
|
|
|
53
|
-
Short profile 禁止读取 `long-*`、`outline-*`、`opening-design.md` 或 `genre-prose-cards.md`;不得把卷级、日更或跨十几章指标当硬门槛。
|
|
52
|
+
Short profile 禁止读取 `long-*`、`outline-*`、`opening-design.md`、`emotional-arc-design.md`、`female-audience-writing.md` 或 `genre-prose-cards.md`;不得把卷级、日更或跨十几章指标当硬门槛。
|
|
54
53
|
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# AI 味词句信号索引
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
|
|
5
|
-
<!-- 共享副本由 scripts/shared-references.json 管理,改动后同步并跑 scripts/check-shared-files.sh -->
|
|
3
|
+
> 这里列的是需回到上下文判断的信号,不是出现即错的禁词。表达服从 [style-resolution.md](style-resolution.md);不据词频判断作者身份,不以清零为目标。具体修法由调用方加载的方法文件承担。
|
|
6
4
|
|
|
7
5
|
## 句式与组织信号
|
|
8
6
|
|
|
@@ -36,11 +34,11 @@
|
|
|
36
34
|
|
|
37
35
|
“她感到”“意识到”“知道”“原来”可以准确表达感受、判断和发现;“仿佛/好像/似乎”可以限定视角置信度;“坚定/冰冷/深邃”可以是准确描述。“突然/瞬间/猛地”也可能承担真实突发或时间压缩。只凭这些词不能认定告知式心理、模板比喻或偷懒。
|
|
38
36
|
|
|
39
|
-
##
|
|
37
|
+
## 复合样本
|
|
40
38
|
|
|
41
|
-
|
|
39
|
+
例句展示组合风险,不是合格与不合格的标准答案;判断及改法仍按三层方法,不能照例句新增动作、改变人物态度或一律拆短。
|
|
42
40
|
|
|
43
|
-
| 观察对象 |
|
|
41
|
+
| 观察对象 | 例句或模板 | 回到语境核对 |
|
|
44
42
|
|---|---|---|
|
|
45
43
|
| 否定、状语与声线 | “他不是冷漠,而是绝望”“他笑了一下,带着一丝不易察觉的嘲讽”“他说,带着一丝无奈”“她声音不大,却带着不容置疑的力量”“好的,他说道” | 对比是否有纠错对象,状语与标签是否机械复现;普通“说”不用替换成动作 |
|
|
46
44
|
| 跨段铺排与预告 | “不是嚎啕大哭。/也不是扯着嗓子喊不舍。/只是一个人走远了……”“他不知道的是,更大的风暴即将来临”“命运终于露出獠牙;属于他的反击才刚刚开始”“早已布好的棋局” | 是否反复铺垫同一意思、空泛宣告或越过揭露边界;排除猜测与题材承诺另判 |
|
|
@@ -54,10 +52,10 @@
|
|
|
54
52
|
| 温和请求、完整解释与笼统反应 | “我觉得你这样做不太合适,能不能考虑一下我的感受?”“其实我这样做是有原因的,因为当时的情况非常复杂……”“所有人都震惊了,不敢相信自己的耳朵。”“她很害怕,不知道该怎么办,只能等着事情过去。” | 是否所有人都用同一套说法,关键交锋或选择是否被概括;不能把请求改辱骂、解释改挑衅,或凭空补锁门、录音与群体动作 |
|
|
55
53
|
| 比喻的功能边界 | “像一头被抛弃的野狗”“像一把刀”“脸色惨白得像这漫天的雪”“力道大得像是要把骨头捏碎” | 生活化、物品、环境与身体感知比喻均可能有效;看是否传递角色特有信息,不按类别全删 |
|
|
56
54
|
| 二修伪自然 | “手里拿着刀,他冲了上去”;连续“伸手拿起、取过、挑开、放下、转身”;强加口误、脏话、每句换行或对话占比 | 一次伴随动作前置不等于油腻;检查是否机械套用另一种句法、流程或格式 |
|
|
57
|
-
|
|
|
55
|
+
| 替换的误改风险 | “美丽动人的笑容”“白色的药片”“手里那截链子”“飞驰的汽车”“他因为害怕而……”;垂下眼、目光微沉、攥拳 | 修饰、指示与原因可能承担区分、承接或动作条件;不能仅为去词删成信息残缺,也不能把每个情绪词换成同一微动作 |
|
|
58
56
|
|
|
59
|
-
##
|
|
57
|
+
## 使用边界
|
|
60
58
|
|
|
61
|
-
|
|
59
|
+
脚本提示只供定位,不能替代语义结论。是否构成问题、如何修复及获准保留,由本次方法与文风裁决确定。
|
|
62
60
|
|
|
63
61
|
标点、句长、段落疏密和对话占比均不在此设置统一指标。不通过同义词轮换、错误用字、英文点省略号或机械补动作规避提示。
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"results": {
|
|
73
73
|
"style_profile_path": "对标/{书名}/文风.md",
|
|
74
74
|
"style_profile_summary": "<≤200字 提取核心:标点习惯 + 对话技法 + 情绪交替模式>",
|
|
75
|
-
"selected_emotion_module": "<从 剧情/情绪模块.md
|
|
75
|
+
"selected_emotion_module": "<从 剧情/情绪模块.md 选出的读者想看什么/情绪链/戏剧单元/可替换项/不可照搬;缺失时为 null>",
|
|
76
76
|
"rhythm_reference": "<从 剧情/节奏.md 选出的关键信息推进/情绪触动点/爆发节奏/冷却参考;缺失时为 null>",
|
|
77
77
|
"module_source_path": "对标/{书名}/剧情/情绪模块.md",
|
|
78
78
|
"rhythm_source_path": "对标/{书名}/剧情/节奏.md",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
| 配角 | 配角卡模板 | 第2节 |
|
|
13
13
|
| 反派 | 反派层级表 → 反派建立四要素 → 反派性格四步法 | 第3节 |
|
|
14
14
|
| 角色动机 | 动机链模板 → 动机冲突类型 | 第4节 |
|
|
15
|
-
| 角色塑造/深化 |
|
|
16
|
-
| 主角特殊问题 |
|
|
15
|
+
| 角色塑造/深化 | 塑造方法速查(反差设计/配角用法/执念法/重复点等) | 第5节 |
|
|
16
|
+
| 主角特殊问题 | 逼格/成长弧/红线/调子太高/开篇立人设/身份与金手指 | 第6节 |
|
|
17
17
|
| 反派塑造深化 | 反派渲染/人设主角化 | 第7节 |
|
|
18
18
|
|
|
19
19
|
---
|
|
@@ -73,17 +73,17 @@
|
|
|
73
73
|
|
|
74
74
|
### 3.1 反派层级表
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
按反派要撑多长的剧情选层级,按表格要求设计。
|
|
77
77
|
|
|
78
|
-
####
|
|
78
|
+
#### 小反派(一个剧情单元内解决)
|
|
79
79
|
|
|
80
80
|
| 维度 | 要求 |
|
|
81
81
|
|------|------|
|
|
82
|
-
| 功能 |
|
|
82
|
+
| 功能 | 一个剧情单元的障碍 |
|
|
83
83
|
| 设计 | 1-2 个鲜明特征即可(嚣张/贪财/欺软怕硬) |
|
|
84
84
|
| 退场 | 被打败或被揭穿,干脆利落 |
|
|
85
85
|
|
|
86
|
-
####
|
|
86
|
+
#### 中等反派(一卷的主对手)
|
|
87
87
|
|
|
88
88
|
| 维度 | 要求 |
|
|
89
89
|
|------|------|
|
|
@@ -171,6 +171,8 @@
|
|
|
171
171
|
- 约束必须有力——否则主角一路碾压没有张力
|
|
172
172
|
- 风险必须真实——读者要相信主角真的可能失去重要的东西
|
|
173
173
|
- 动机可以随剧情演变,但不能说变就变
|
|
174
|
+
- 起因从三处找:世界压迫(没实力就自保不了)、金手指带来的利益、亲友的遭遇
|
|
175
|
+
- 外力动机之外再给一个内在梦想;目标要贴身份,宗门圣女想救宗门可信,杂役弟子想救宗门就缺说服力
|
|
174
176
|
|
|
175
177
|
### 4.3 动机冲突类型
|
|
176
178
|
|
|
@@ -199,56 +201,36 @@
|
|
|
199
201
|
- 角色的行动 → 具体的动作和决定,不是形容词堆砌
|
|
200
202
|
- 角色的态度 → 通过对话和反应体现,不是心理独白
|
|
201
203
|
|
|
202
|
-
### 5.2
|
|
204
|
+
### 5.2 反差设计
|
|
203
205
|
|
|
204
|
-
|
|
205
|
-
|------|------|------|
|
|
206
|
-
| 敏感性 | 触碰弱点,看反应方式 | 惊慌失措/匆忙逃跑/转移注意力=不同性格 |
|
|
207
|
-
| 逃避 | 展现回避行为暗示弱点 | 角色的"不做什么"比"做了什么"更揭示深层性格 |
|
|
208
|
-
| 先正后缺 | 先展示吸引人特质,再揭示缺陷 | 读者先喜欢角色,才能容忍缺陷 |
|
|
209
|
-
|
|
210
|
-
### 5.3 四大性格属性
|
|
206
|
+
给每个重要角色填三层标签,至少一层和另两层相反:
|
|
211
207
|
|
|
212
|
-
|
|
|
213
|
-
|
|
214
|
-
|
|
|
215
|
-
|
|
|
216
|
-
|
|
|
217
|
-
| 身份属性 | 身份认同感 | 定义个性的基本组成部分 |
|
|
208
|
+
| 层 | 含义 | 例 |
|
|
209
|
+
|---|---|---|
|
|
210
|
+
| 身份 | 外界看到的身份 | 豪门弃妇 |
|
|
211
|
+
| 表现 | 他展现给外界的行为 | 被骂不还口,被赶不反抗 |
|
|
212
|
+
| 内核 | 真实的打算和性格 | 悄悄录音、收证据、提前转走财产 |
|
|
218
213
|
|
|
219
|
-
|
|
214
|
+
- 反差用行为对照写出来,不靠旁白点明;内核留到关键抉择时亮出来,亮得越晚越震撼。
|
|
215
|
+
- 找反差可以让外表、身份、爱好、性格两两错位:看着凶实际心软、杀手擅长插花、豪门子弟住地下室。
|
|
216
|
+
- 主角和核心配角给一层强反差;功能性配角贴一两个标签就够,不强行立体。要保持神秘和压迫感的高手可以留扁平,写透来历和软处反而显弱。
|
|
217
|
+
- 反差太大会劝退一部分读者,按本书读者口味控制尺度。
|
|
220
218
|
|
|
221
|
-
### 5.
|
|
222
|
-
|
|
223
|
-
| 层次 | 方法 |
|
|
224
|
-
|------|------|
|
|
225
|
-
| 移情作用 | 开头不要太多角色,先让读者了解主角并产生期待 |
|
|
226
|
-
| 最小特征(标签) | 主角由内而外塑造,配角由外到内塑造(贴标签) |
|
|
227
|
-
| 角色的不真诚 | 所说≠所想,举动≠态度,日常相处与便当(角色死亡/退场)是深化角色的两极 |
|
|
228
|
-
| 角色的聚光灯 | 配角必须与主角产生强烈联系性,配角压过主角时塑造新配角夺走光环 |
|
|
219
|
+
### 5.3 展示人物特质的方法
|
|
229
220
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
| 层面 | 定义 | 示例 |
|
|
221
|
+
| 方法 | 操作 | 示例 |
|
|
233
222
|
|------|------|------|
|
|
234
|
-
|
|
|
235
|
-
|
|
|
236
|
-
|
|
|
237
|
-
|
|
238
|
-
操作要点:价值取向不必一开始揭示,在关键抉择时自然暴露;人物真相的揭示越晚,戏剧张力越强。
|
|
239
|
-
|
|
240
|
-
### 5.6 人设分层展示法
|
|
223
|
+
| 敏感性 | 触碰弱点,看反应方式 | 惊慌失措/匆忙逃跑/转移注意力=不同性格 |
|
|
224
|
+
| 逃避 | 展现回避行为暗示弱点 | 角色的"不做什么"比"做了什么"更揭示深层性格 |
|
|
225
|
+
| 先正后缺 | 先展示吸引人特质,再揭示缺陷 | 读者先喜欢角色,才能容忍缺陷 |
|
|
241
226
|
|
|
242
|
-
|
|
243
|
-
|------|------|
|
|
244
|
-
| 第一层 | 告诉读者类型模型(萝莉/御姐/少妇) |
|
|
245
|
-
| 第二层 | 贴特点标签(胸大/腿长/小麦色皮肤) |
|
|
246
|
-
| 第三层 | 为性格找原因(家庭/内在冲动) |
|
|
247
|
-
| 第四层 | 打破——可爱天然呆其实什么都知道,人设立刻升华 |
|
|
227
|
+
### 5.4 配角用法
|
|
248
228
|
|
|
249
|
-
|
|
229
|
+
- 嘴替:主角不便说的话、不便发的狠、不便吃的瘪,交给一个忠心配角或伙伴,主角的逼格不掉。
|
|
230
|
+
- 任务基地:选一个配角同时挂着几件短期和长期的事,主角每收完一个剧情单元回到他那里接新事;他下线时给主角更大的好处。
|
|
231
|
+
- 以角色带角色:读者喜欢某个角色,就写他的家人、闺蜜、对头,喜爱跟着延续;读者不感兴趣的角色及时下线。
|
|
250
232
|
|
|
251
|
-
### 5.
|
|
233
|
+
### 5.5 人物经历三线时间法
|
|
252
234
|
|
|
253
235
|
| 时间线 | 内容 |
|
|
254
236
|
|--------|------|
|
|
@@ -256,7 +238,7 @@
|
|
|
256
238
|
| 现在 | 与主角的关系定位、当前互动模式 |
|
|
257
239
|
| 未来 | 制造变强动力或危机(老师被劫/女主被抓/反派揭底) |
|
|
258
240
|
|
|
259
|
-
### 5.
|
|
241
|
+
### 5.6 配角执念设定法
|
|
260
242
|
|
|
261
243
|
快速让读者认同支线配角:
|
|
262
244
|
|
|
@@ -265,7 +247,7 @@
|
|
|
265
247
|
- 过于极端的执念 → 加入"亲民"小细节 → 便于读者认同
|
|
266
248
|
- 适用:支线配角,不适合频繁出现的主要配角
|
|
267
249
|
|
|
268
|
-
### 5.
|
|
250
|
+
### 5.7 人物行为重复点设计
|
|
269
251
|
|
|
270
252
|
维持长篇不歪的关键手法:
|
|
271
253
|
|
|
@@ -274,11 +256,11 @@
|
|
|
274
256
|
- 人物看点 + 核心看点 = 层次感,两者循环产生差异化
|
|
275
257
|
- 反派/配角也需要重复看点,能让人爱上的反派会增加读者新鲜感
|
|
276
258
|
|
|
277
|
-
### 5.
|
|
259
|
+
### 5.8 围绕人设写行为
|
|
278
260
|
|
|
279
261
|
行为、语言、思维都要围绕人格展开。如果为了剧情需要让角色做出不符合人设的行为 → 先修改剧情,不要改人设。
|
|
280
262
|
|
|
281
|
-
### 5.
|
|
263
|
+
### 5.9 人推事件 vs 事件推人
|
|
282
264
|
|
|
283
265
|
| 驱动方式 | 特点 |
|
|
284
266
|
|---------|------|
|
|
@@ -296,23 +278,30 @@
|
|
|
296
278
|
- 主角必须有逼格——这是读者的代入基础
|
|
297
279
|
- 不要写太多降智的内心戏和爆粗口
|
|
298
280
|
- 主角可以不完美,但不能让人看不起
|
|
281
|
+
- 被挑衅时的反应随实力和阅历变:实力高就轻描淡写,实力不够就隐忍蓄力;气急败坏地反击是毒点
|
|
282
|
+
|
|
283
|
+
### 6.2 主角的成长弧
|
|
299
284
|
|
|
300
|
-
|
|
285
|
+
成长按四段写,每段要有读者看得见的事件:
|
|
301
286
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
287
|
+
1. 触发:一件事打破现状,主角原来的办法或信念不管用了
|
|
288
|
+
2. 变化铺垫:主角试新办法、付代价,可以反复,每次留一处行为上的变化证据
|
|
289
|
+
3. 转折点:关键抉择时,主角第一次按新的方式选
|
|
290
|
+
4. 新状态:之后同类局面里,主角稳定用新的方式行动
|
|
291
|
+
|
|
292
|
+
- 成长写在心智和选择上,不只写在实力上。
|
|
293
|
+
- 网文主角不一定要成长:开场三观圆满、人设稳定的主角更容易代入,弧线可以只放在实力和地位上。
|
|
305
294
|
|
|
306
295
|
### 6.3 主角红线
|
|
307
296
|
|
|
308
297
|
以下类型的主角绝对不要写:
|
|
309
298
|
|
|
310
|
-
| 禁止 |
|
|
299
|
+
| 禁止 | 说明 |
|
|
311
300
|
|------|------|
|
|
312
|
-
| 圣母型主角 |
|
|
301
|
+
| 圣母型主角 | 以德报怨、拿自己人的利益换好名声,读者要的是痛快;守底线、行善后有回报不算圣母 |
|
|
313
302
|
| 无脑战斗机器 | 难以产生情感共鸣 |
|
|
314
303
|
| 内核邪恶 | 读者无法代入 |
|
|
315
|
-
|
|
|
304
|
+
| 因蠢、圣母心或与实力不符的低级失误犯错 | 读者无法原谅;因不可抗力或信息差犯错可以 |
|
|
316
305
|
| 自暴自弃 | 比被欺负更让读者厌恶 |
|
|
317
306
|
|
|
318
307
|
### 6.4 主角调子起太高怎么办
|
|
@@ -323,15 +312,17 @@
|
|
|
323
312
|
- 读者失去追更动力
|
|
324
313
|
|
|
325
314
|
**化解方法**:
|
|
326
|
-
-
|
|
315
|
+
- **降调不降人**——压低气势和期待,但不打压主角本身的能力和尊严
|
|
327
316
|
- **留出维度差距**——即使某方面很强,总有其他维度是短板
|
|
328
317
|
- **超额收获法**——看似收获很大,经主角盘算后发现更大
|
|
318
|
+
- 紧张题材(极道、末世、悬疑)别给主角随时能兜底的靠山,靠山不能消掉危机感
|
|
329
319
|
|
|
330
320
|
### 6.5 主角开篇立人设
|
|
331
321
|
|
|
332
|
-
-
|
|
333
|
-
-
|
|
334
|
-
-
|
|
322
|
+
- 人设靠选择立:开篇让主角做一次选择,读者从选择里看出他是什么人。
|
|
323
|
+
- 无敌流、认知差这类开局,靠主角怎么用力量的选择立人设,不靠战力展示本身。
|
|
324
|
+
- 行动力从三处显:做别人不敢做的事、做别人做不到的事、做别人没想到能这样做的事;行动要有人设上的缘由,不为制造意外崩人设。
|
|
325
|
+
- 主角有不讨喜的一面(好色、贪财、记仇)要在开头亮明,后面别突然转性。
|
|
335
326
|
|
|
336
327
|
### 6.6 主角的两个身份与两个金手指
|
|
337
328
|
|
|
@@ -342,40 +333,9 @@
|
|
|
342
333
|
| 显性金手指 | 系统/玉坠/重生记忆 | 开局获得贯穿全书 |
|
|
343
334
|
| 隐性金手指 | 主角性格 | 让主角与众不同的就是金手指 |
|
|
344
335
|
|
|
345
|
-
|
|
336
|
+
**最佳写法**:前 3 章用一次选择立住人设(见 6.5),之后靠金手指场面把人设一层层加深
|
|
346
337
|
**人设与全书气质**:主角人设必须与世界基调相符,四点高度统一:社会身份+身世+金手指+性格
|
|
347
338
|
|
|
348
|
-
### 6.7 性格单一缺陷型主角+动物伙伴体系
|
|
349
|
-
|
|
350
|
-
淡漠型主角反应少,容易让人物互动单薄;可用性格各异的伙伴补足反应与对话。
|
|
351
|
-
|
|
352
|
-
**问题**:性格过于单一 → 影响精彩程度 → 难以推进故事
|
|
353
|
-
**解法**:给淡漠型主角配备 3-5 只动物伙伴,每只不同性格。
|
|
354
|
-
|
|
355
|
-
| 伙伴类型 | 功能 |
|
|
356
|
-
|---------|------|
|
|
357
|
-
| 蠢萌犯二型 | 负责搞笑,主角不宜吃瘪但动物可以 |
|
|
358
|
-
| 聪敏嘴贱型 | 负责嘴替,主角不该说的话由它说,保持主角逼格 |
|
|
359
|
-
| 耿直蠢笨型 | 负责反差萌 |
|
|
360
|
-
| 奇特能力胆小型 | 负责能力补充 |
|
|
361
|
-
|
|
362
|
-
### 6.8 核心情绪与表达欲平衡
|
|
363
|
-
|
|
364
|
-
- 需求的内核不变,变的只是形式
|
|
365
|
-
- 写完一段剧情后,站在读者角度审视是否偏离核心梗
|
|
366
|
-
- 主角牛逼了必须有所得,不能光付出没回报
|
|
367
|
-
- 表达欲旺盛时最容易偏离——要主动检查
|
|
368
|
-
|
|
369
|
-
### 6.9 压势不压人:矛盾的正确来源
|
|
370
|
-
|
|
371
|
-
**错误做法**:让反派莫名其妙针对主角,背后逻辑站不住脚。
|
|
372
|
-
|
|
373
|
-
**正确做法**:反派有自己的目的,行动客观上导致主角困境,但并非刻意针对主角本人。
|
|
374
|
-
|
|
375
|
-
**矛盾链条**:反派目的 → 压制主角所在群体(压势) → 主角推翻 → 底层依旧麻木 → 主角改变路径 → 新冲突自然产生
|
|
376
|
-
|
|
377
|
-
核心:所有人被自己想要的利益驱动,背后是三观不同,更深是成长环境,最深层是世界观。
|
|
378
|
-
|
|
379
339
|
---
|
|
380
340
|
|
|
381
341
|
## 第7节:反派塑造深化
|
|
@@ -410,6 +370,8 @@
|
|
|
410
370
|
- [ ] 逼格在线——不会让读者看不起
|
|
411
371
|
- [ ] 没有触碰红线(圣母/无脑战斗机器/内核邪恶/因蠢犯错/自暴自弃)
|
|
412
372
|
- [ ] 核心目标和全书主线对齐
|
|
373
|
+
- [ ] 主要角色有三层标签,至少一层反差,用行为对照写出
|
|
374
|
+
- [ ] 影响剧情走向的设定(实力、钱、人脉、背景)至少 3 项,爱好只做记忆点
|
|
413
375
|
|
|
414
376
|
### 配角检查
|
|
415
377
|
|
|
@@ -442,4 +404,4 @@
|
|
|
442
404
|
- [ ] 行为/语言/思维围绕人设展开,没有为剧情改人设
|
|
443
405
|
- [ ] 主要角色有行为重复点,维持长篇一致性
|
|
444
406
|
- [ ] 配角与主角有明确联系,不会抢主角风头
|
|
445
|
-
- [ ]
|
|
407
|
+
- [ ] 内核标签在关键抉择时亮出,没有提前用旁白交代
|