@oh-story/dsh 0.1.0
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/LICENSE +21 -0
- package/README.md +38 -0
- package/cordis.patch.yml +3 -0
- package/lib/client.js +1201 -0
- package/lib/client.js.map +7 -0
- package/lib/drama/LICENSE.upstream +21 -0
- package/lib/drama/manifest.json +1012 -0
- package/lib/drama/skills/short-drama/SKILL.md +153 -0
- package/lib/drama/skills/short-drama/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
- package/lib/drama/skills/short-drama/assets/production-observation.example.jsonl +2 -0
- package/lib/drama/skills/short-drama/assets/project-template/short-drama.json +36 -0
- package/lib/drama/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
- package/lib/drama/skills/short-drama/references/audience-reveal.md +74 -0
- package/lib/drama/skills/short-drama/references/contract-and-ownership.md +94 -0
- package/lib/drama/skills/short-drama/references/creator-workflow.md +82 -0
- package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
- package/lib/drama/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +74 -0
- package/lib/drama/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +79 -0
- package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
- package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
- package/lib/drama/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +72 -0
- package/lib/drama/skills/short-drama/references/knowhow-index.md +80 -0
- package/lib/drama/skills/short-drama/references/lifecycle-commands.md +130 -0
- package/lib/drama/skills/short-drama/references/look-development.md +52 -0
- package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +58 -0
- package/lib/drama/skills/short-drama/references/production-form-profiles.md +126 -0
- package/lib/drama/skills/short-drama/references/reference-roles.md +142 -0
- package/lib/drama/skills/short-drama/references/runtime-preflight.md +27 -0
- package/lib/drama/skills/short-drama/scripts/project_tool.py +1963 -0
- package/lib/drama/skills/short-drama/scripts/selftest.py +287 -0
- package/lib/drama/skills/short-drama-assets/SKILL.md +187 -0
- package/lib/drama/skills/short-drama-assets/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
- package/lib/drama/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
- package/lib/drama/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
- package/lib/drama/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
- package/lib/drama/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
- package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +89 -0
- package/lib/drama/skills/short-drama-assets/references/character-and-look.md +164 -0
- package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +123 -0
- package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +146 -0
- package/lib/drama/skills/short-drama-assets/references/location-and-view.md +84 -0
- package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +111 -0
- package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +107 -0
- package/lib/drama/skills/short-drama-assets/references/stage-contract.md +136 -0
- package/lib/drama/skills/short-drama-assets/references/voice-direction.md +171 -0
- package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +267 -0
- package/lib/drama/skills/short-drama-assets/scripts/selftest.py +89 -0
- package/lib/drama/skills/short-drama-develop/SKILL.md +157 -0
- package/lib/drama/skills/short-drama-develop/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
- package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +120 -0
- package/lib/drama/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
- package/lib/drama/skills/short-drama-develop/assets/story-engine.md +181 -0
- package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +219 -0
- package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
- package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +113 -0
- package/lib/drama/skills/short-drama-develop/references/episode-design.md +509 -0
- package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards.md +92 -0
- package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +282 -0
- package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
- package/lib/drama/skills/short-drama-develop/references/premise-devices.md +211 -0
- package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
- package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
- package/lib/drama/skills/short-drama-develop/references/stage-contract.md +88 -0
- package/lib/drama/skills/short-drama-develop/references/story-craft.md +359 -0
- package/lib/drama/skills/short-drama-develop/scripts/episode_intake.py +699 -0
- package/lib/drama/skills/short-drama-develop/scripts/selftest.py +47 -0
- package/lib/drama/skills/short-drama-image-prompts/SKILL.md +181 -0
- package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +37 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +31 -0
- package/lib/drama/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
- package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +154 -0
- package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +231 -0
- package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +122 -0
- package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +152 -0
- package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +96 -0
- package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +38 -0
- package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
- package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +140 -0
- package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
- package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +89 -0
- package/lib/drama/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
- package/lib/drama/skills/short-drama-image-prompts/scripts/selftest.py +93 -0
- package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +245 -0
- package/lib/drama/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +141 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
- package/lib/drama/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
- package/lib/drama/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
- package/lib/drama/skills/short-drama-produce/SKILL.md +103 -0
- package/lib/drama/skills/short-drama-produce/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +140 -0
- package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
- package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +40 -0
- package/lib/drama/skills/short-drama-produce/scripts/fixture_adapter.py +60 -0
- package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +1635 -0
- package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +964 -0
- package/lib/drama/skills/short-drama-produce/scripts/selftest.py +134 -0
- package/lib/drama/skills/short-drama-review/SKILL.md +178 -0
- package/lib/drama/skills/short-drama-review/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-review/assets/finding-template.jsonl +2 -0
- package/lib/drama/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
- package/lib/drama/skills/short-drama-review/assets/verdict-template.json +32 -0
- package/lib/drama/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
- package/lib/drama/skills/short-drama-review/examples/minimal-verdict.json +34 -0
- package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +114 -0
- package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +270 -0
- package/lib/drama/skills/short-drama-review/references/project-calibration.md +85 -0
- package/lib/drama/skills/short-drama-review/references/review-method.md +82 -0
- package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +115 -0
- package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
- package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +164 -0
- package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +166 -0
- package/lib/drama/skills/short-drama-review/references/stage-contract.md +87 -0
- package/lib/drama/skills/short-drama-review/scripts/review_check.py +325 -0
- package/lib/drama/skills/short-drama-review/scripts/selftest.py +87 -0
- package/lib/drama/skills/short-drama-storyboard/SKILL.md +264 -0
- package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
- package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +32 -0
- package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
- package/lib/drama/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +241 -0
- package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +39 -0
- package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +169 -0
- package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +264 -0
- package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +70 -0
- package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +39 -0
- package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +157 -0
- package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +192 -0
- package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +29 -0
- package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +110 -0
- package/lib/drama/skills/short-drama-storyboard/scripts/selftest.py +191 -0
- package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
- package/lib/drama/skills/short-drama-video-prompts/SKILL.md +245 -0
- package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +212 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +46 -0
- package/lib/drama/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
- package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +240 -0
- package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +255 -0
- package/lib/drama/skills/short-drama-video-prompts/references/generability.md +93 -0
- package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +304 -0
- package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +191 -0
- package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +312 -0
- package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +168 -0
- package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +110 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
- package/lib/drama/skills/short-drama-write/SKILL.md +284 -0
- package/lib/drama/skills/short-drama-write/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-write/assets/beats.jsonl +2 -0
- package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
- package/lib/drama/skills/short-drama-write/assets/episode-card.json +55 -0
- package/lib/drama/skills/short-drama-write/assets/screenplay.md +36 -0
- package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
- package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +519 -0
- package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +273 -0
- package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +51 -0
- package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
- package/lib/drama/skills/short-drama-write/references/screenplay-format.md +260 -0
- package/lib/drama/skills/short-drama-write/references/script-craft.md +558 -0
- package/lib/drama/skills/short-drama-write/references/stage-contract.md +94 -0
- package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +107 -0
- package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +309 -0
- package/lib/drama/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
- package/lib/drama/skills/short-drama-write/scripts/selftest.py +229 -0
- package/lib/drama/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
- package/lib/index.js +756 -0
- package/lib/index.js.map +7 -0
- package/lib/oh-story/LICENSE.upstream +21 -0
- package/lib/oh-story/manifest.json +1351 -0
- package/lib/oh-story/roles/chapter-extractor.md +314 -0
- package/lib/oh-story/roles/character-designer.md +169 -0
- package/lib/oh-story/roles/consistency-checker.md +190 -0
- package/lib/oh-story/roles/narrative-writer.md +294 -0
- package/lib/oh-story/roles/story-architect.md +195 -0
- package/lib/oh-story/roles/story-explorer.md +364 -0
- package/lib/oh-story/roles/story-researcher.md +304 -0
- package/lib/oh-story/skills/browser-cdp/SKILL.md +175 -0
- package/lib/oh-story/skills/story/SKILL.md +116 -0
- package/lib/oh-story/skills/story/VERSION +1 -0
- package/lib/oh-story/skills/story-cover/SKILL.md +327 -0
- package/lib/oh-story/skills/story-cover/references/cover-styles.md +210 -0
- package/lib/oh-story/skills/story-deslop/SKILL.md +445 -0
- package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-deslop/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-deslop/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-deslop/scripts/check-outline-copy.js +241 -0
- package/lib/oh-story/skills/story-deslop/scripts/normalize-punctuation.js +410 -0
- package/lib/oh-story/skills/story-import/SKILL.md +634 -0
- package/lib/oh-story/skills/story-import/references/character-state-reverse.md +82 -0
- package/lib/oh-story/skills/story-import/references/format-and-structure.md +169 -0
- package/lib/oh-story/skills/story-import/references/length-routing.md +134 -0
- package/lib/oh-story/skills/story-import/references/state-tracking.md +108 -0
- package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +442 -0
- package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +175 -0
- package/lib/oh-story/skills/story-import/references/tracking-transaction.md +161 -0
- package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +1139 -0
- package/lib/oh-story/skills/story-long-analyze/SKILL.md +329 -0
- package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +270 -0
- package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +530 -0
- package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +559 -0
- package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +80 -0
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +149 -0
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +133 -0
- package/lib/oh-story/skills/story-long-scan/SKILL.md +342 -0
- package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +197 -0
- package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +114 -0
- package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +105 -0
- package/lib/oh-story/skills/story-long-scan/references/scan-output-format.md +207 -0
- package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +78 -0
- package/lib/oh-story/skills/story-long-write/SKILL.md +327 -0
- package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +302 -0
- package/lib/oh-story/skills/story-long-write/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-long-write/references/character-basics.md +445 -0
- package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +428 -0
- package/lib/oh-story/skills/story-long-write/references/character-relations.md +385 -0
- package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +502 -0
- package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +62 -0
- package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +426 -0
- package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +209 -0
- package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +188 -0
- package/lib/oh-story/skills/story-long-write/references/format-and-structure.md +169 -0
- package/lib/oh-story/skills/story-long-write/references/genre-catalog.md +480 -0
- package/lib/oh-story/skills/story-long-write/references/genre-core-mechanics.md +415 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +91 -0
- package/lib/oh-story/skills/story-long-write/references/genre-readers.md +235 -0
- package/lib/oh-story/skills/story-long-write/references/genre-writing-formulas.md +444 -0
- package/lib/oh-story/skills/story-long-write/references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-long-write/references/hooks-paragraph.md +146 -0
- package/lib/oh-story/skills/story-long-write/references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-long-write/references/opening-design.md +349 -0
- package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +457 -0
- package/lib/oh-story/skills/story-long-write/references/outline-methods.md +287 -0
- package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +389 -0
- package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +326 -0
- package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +522 -0
- package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +354 -0
- package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +711 -0
- package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +622 -0
- package/lib/oh-story/skills/story-long-write/references/quality-checklist.md +184 -0
- package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +109 -0
- package/lib/oh-story/skills/story-long-write/references/reversal-toolkit.md +349 -0
- package/lib/oh-story/skills/story-long-write/references/state-tracking.md +108 -0
- package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +409 -0
- package/lib/oh-story/skills/story-long-write/references/style-craft.md +347 -0
- package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +510 -0
- package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +161 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +140 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +171 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +99 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +284 -0
- package/lib/oh-story/skills/story-long-write/references/writing-craft.md +421 -0
- package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-long-write/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +241 -0
- package/lib/oh-story/skills/story-long-write/scripts/normalize-punctuation.js +410 -0
- package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +1139 -0
- package/lib/oh-story/skills/story-review/SKILL.md +483 -0
- package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-review/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-review/references/character-relations.md +385 -0
- package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-review/references/plot-core-methods.md +522 -0
- package/lib/oh-story/skills/story-review/references/quality-checklist.md +250 -0
- package/lib/oh-story/skills/story-review/references/quality-rubric.md +55 -0
- package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +18 -0
- package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +19 -0
- package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +20 -0
- package/lib/oh-story/skills/story-review/references/tracking-transaction.md +161 -0
- package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-review/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-review/scripts/normalize-punctuation.js +410 -0
- package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +1139 -0
- package/lib/oh-story/skills/story-setup/SKILL.md +495 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +445 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +428 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +385 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +426 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/emotional-methods.md +179 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +169 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-catalog.md +480 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-core-mechanics.md +415 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +91 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +235 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-writing-formulas.md +444 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +349 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +457 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +287 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +389 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +522 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/quality-checklist.md +247 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/reversal-toolkit.md +349 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +409 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +510 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +421 -0
- package/lib/oh-story/skills/story-short-analyze/SKILL.md +278 -0
- package/lib/oh-story/skills/story-short-analyze/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-short-analyze/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-short-analyze/references/character-basics.md +453 -0
- package/lib/oh-story/skills/story-short-analyze/references/character-design-methods.md +438 -0
- package/lib/oh-story/skills/story-short-analyze/references/character-relations.md +395 -0
- package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +79 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-catalog.md +490 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-core-mechanics.md +425 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-readers.md +245 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-writing-formulas.md +453 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-writing-techniques.md +475 -0
- package/lib/oh-story/skills/story-short-analyze/references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-short-analyze/references/hooks-paragraph.md +146 -0
- package/lib/oh-story/skills/story-short-analyze/references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +685 -0
- package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +165 -0
- package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +561 -0
- package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +242 -0
- package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +90 -0
- package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +54 -0
- package/lib/oh-story/skills/story-short-scan/SKILL.md +212 -0
- package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +90 -0
- package/lib/oh-story/skills/story-short-write/SKILL.md +433 -0
- package/lib/oh-story/skills/story-short-write/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +62 -0
- package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +179 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +159 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +156 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +163 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +167 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +178 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +166 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +159 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +151 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +153 -0
- 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 +210 -0
- package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +444 -0
- package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +488 -0
- package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +146 -0
- package/lib/oh-story/skills/story-short-write/references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-short-write/references/output-contract.md +165 -0
- package/lib/oh-story/skills/story-short-write/references/quality-checklist.md +222 -0
- package/lib/oh-story/skills/story-short-write/references/reversal-toolkit.md +349 -0
- package/lib/oh-story/skills/story-short-write/references/short-craft.md +185 -0
- package/lib/oh-story/skills/story-short-write/references/short-deslop.md +133 -0
- package/lib/oh-story/skills/story-short-write/references/short-format.md +167 -0
- package/lib/oh-story/skills/story-short-write/references/submission-craft.md +35 -0
- package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +158 -0
- package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +153 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +241 -0
- package/lib/oh-story/skills/story-short-write/scripts/normalize-punctuation.js +410 -0
- package/lib/types/client/file-activity.d.ts +30 -0
- package/lib/types/client/file-activity.d.ts.map +1 -0
- package/lib/types/client/file-tree.d.ts +20 -0
- package/lib/types/client/file-tree.d.ts.map +1 -0
- package/lib/types/client/index.d.ts +12 -0
- package/lib/types/client/index.d.ts.map +1 -0
- package/lib/types/client/jsonl-preview.d.ts +15 -0
- package/lib/types/client/jsonl-preview.d.ts.map +1 -0
- package/lib/types/client/markdown-preview.d.ts +38 -0
- package/lib/types/client/markdown-preview.d.ts.map +1 -0
- package/lib/types/index.d.ts +25 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/native-hooks.d.ts +16 -0
- package/lib/types/native-hooks.d.ts.map +1 -0
- package/lib/types/role-provider.d.ts +6 -0
- package/lib/types/role-provider.d.ts.map +1 -0
- package/lib/types/role-tool.d.ts +10 -0
- package/lib/types/role-tool.d.ts.map +1 -0
- package/lib/types/skill-provider.d.ts +15 -0
- package/lib/types/skill-provider.d.ts.map +1 -0
- package/lib/types/workspace-request-trust.d.ts +13 -0
- package/lib/types/workspace-request-trust.d.ts.map +1 -0
- package/lib/types/workspace-route.d.ts +10 -0
- package/lib/types/workspace-route.d.ts.map +1 -0
- package/lib/types/workspace-security.d.ts +9 -0
- package/lib/types/workspace-security.d.ts.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# AI味禁用词与句式表
|
|
2
|
+
|
|
3
|
+
<!-- 同名副本×6 字节同步,改动后跑 scripts/check-shared-files.sh -->
|
|
4
|
+
|
|
5
|
+
## 最毒禁用句式(出现即修,最高优先级)
|
|
6
|
+
|
|
7
|
+
写网文最毒的 AI 句式,作者一旦养成就会反复出现。Gate A 第一遍扫描必须命中:
|
|
8
|
+
|
|
9
|
+
| 毒级 | 句式 | 错误例 | 修法 |
|
|
10
|
+
|------|------|--------|------|
|
|
11
|
+
| ★★★★★ | "不是A,(而)是B" / "不是A,不是B,(而)是C"("而"可省略,省掉也算命中)| "他不是冷漠,而是绝望" | 直接写 B 或用更自然的表达 |
|
|
12
|
+
| ★★★☆☆ | 跨段「不是A。/也不是B。/只是C。」 | 「不是嚎啕大哭。/也不是扯着嗓子喊不舍。/只是一个人走远了……」 | 语义复核;重复提纲或拖慢画面时压成 C,有辩解/悬念排除功能可保留 |
|
|
13
|
+
| ★★★★ | ",带着……" 万能状语 | "他笑了一下,带着一丝不易察觉的嘲讽" | 删掉状语留主句,或换具体动作 |
|
|
14
|
+
| ★★★★ | 无情绪声线:"声音不大,却带着……" / "语气毫无波澜" / "平静无波" / "声音平直/平平/听不出情绪" | "她声音不大,却带着不容置疑的力量" | 直接写台词内容、声音特征或动作 |
|
|
15
|
+
| ★★★★ | "他/她知道……" | "他知道这一切都来不及了" | 用行为展示认知 |
|
|
16
|
+
| ★★★ | "仿佛/犹如/宛若……一般" | "仿佛能穿透一切一般" | 删掉或白描 |
|
|
17
|
+
| ★★★ | "眼中闪过一丝……" / "嘴角勾起一抹……" | "眼中闪过一丝悲伤" | 他垂下眼 / 他嘴角一扯 |
|
|
18
|
+
| ★★★ | "心中涌起一股……" / "心头一震" | "心中涌起一股暖流" | 用身体反应 |
|
|
19
|
+
| ★★★ | 抽象命运/开端收束:"命运……棋局/獠牙" / "这一刻终于明白" / "反击才刚刚开始" | "命运终于露出獠牙;属于他的反击才刚刚开始" | 回到角色当下可见的文件、动作、对话或物理后果 |
|
|
20
|
+
| ★★ | 章末预告 "他不知道的是……" | "他不知道的是,更大的风暴即将来临" | 用具体钩子物件/事件收束,避免空泛预告 |
|
|
21
|
+
|
|
22
|
+
> 凡命中 ★★★★★ 一处即视为重度AI味的强证据;★★★★ 命中 ≥2 处即触发中度复扫。
|
|
23
|
+
|
|
24
|
+
`check-ai-patterns.js` 的 `formulaic-parallelism` 还会提示「至于X不X,怎么X」和同动词「不V A,不V B」。这两类可能是功能性口语,因此只做 advisory;Gate B 必须连同台词读语境复核,若只是复述细纲/前文就压成一次判断,不能因 hook 豁免台词而跳过。
|
|
25
|
+
|
|
26
|
+
**标点**:正文(含叙述和对话)禁用破折号 `——`/`—`、双连字符 `--` 和省略号停顿,改用句号、逗号、短句或动作断句;不设置对话破折号例外。盐言「」引号不在此列。
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 一级禁用词(出现即替换)
|
|
31
|
+
|
|
32
|
+
> 什么词进一级:只收真人语料里几乎不出现、AI 特有的词。真人高频使用的自然副词和虚词不进一级,走二级密度控制。
|
|
33
|
+
|
|
34
|
+
### 情态类
|
|
35
|
+
仿佛、犹如、宛若、如同、一丝、一抹、些许、几分、隐约、毫无征兆、几不可闻、微不可察
|
|
36
|
+
|
|
37
|
+
### 动作类
|
|
38
|
+
深吸一口气、不禁
|
|
39
|
+
|
|
40
|
+
### 表情类
|
|
41
|
+
眼中闪过、嘴角勾起、眉头微皱、眉眼低垂、瞳孔微缩、瞳孔收缩、瞳孔一缩、指节泛白、眼神锐利、目光锐利
|
|
42
|
+
|
|
43
|
+
### 心理类
|
|
44
|
+
心中一动、心头一震、心下了然、心中暗道、心底泛起、不由得、心中一凛
|
|
45
|
+
|
|
46
|
+
### 判断类
|
|
47
|
+
不容置疑、不容置喙、不易察觉、显而易见、毫无疑问、不可否认、前所未有
|
|
48
|
+
|
|
49
|
+
### 形容类
|
|
50
|
+
坚定、闪烁着光芒、狡黠、深邃、凛冽、冰冷
|
|
51
|
+
|
|
52
|
+
### 过渡类
|
|
53
|
+
不由自主、情不自禁、自然而然、话锋一转
|
|
54
|
+
|
|
55
|
+
## 二级禁用词(高频出现时替换)
|
|
56
|
+
|
|
57
|
+
### 语境敏感词(仅高频或偷懒时处理)
|
|
58
|
+
突然、陡然、骤然、猛然、好像、似乎、瞬间、猛地、死死地(角色口语、真实突发、时间压缩、视角不确定时可保留;用同义变体轮换规避重复不算豁免,按同一个词计密度)
|
|
59
|
+
|
|
60
|
+
### 弱化副词(密度控制)
|
|
61
|
+
缓缓、微微、轻轻、淡淡(每千字合计 ≤3;这四个词同时计入 `cliche-density-tic` 的套词密度统计;孤立自然使用可保留,成串出现或每个动作都垫一个时才替换)
|
|
62
|
+
|
|
63
|
+
### 书面腔 → 口语化
|
|
64
|
+
|
|
65
|
+
| 书面腔 | 口语化替换 |
|
|
66
|
+
|--------|-----------|
|
|
67
|
+
| 瓦解 | 消失 / 散了 / 没了 |
|
|
68
|
+
| 无名火 | 烦躁 |
|
|
69
|
+
| 往我心上捅刀子 | 心烦意乱 |
|
|
70
|
+
|
|
71
|
+
### 总结句式
|
|
72
|
+
- "他/她终于明白..."
|
|
73
|
+
- "他/她这才意识到..."
|
|
74
|
+
- "这一刻,他/她终于明白/意识到..."
|
|
75
|
+
- "从这一刻开始..."
|
|
76
|
+
- "属于X的反击/复仇/故事,才刚刚开始"
|
|
77
|
+
- "命运/宿命 + 齿轮/棋局/獠牙/改写/安排"
|
|
78
|
+
- "此刻,他/她..."
|
|
79
|
+
- "一切...都..."
|
|
80
|
+
- "原来..."
|
|
81
|
+
|
|
82
|
+
### 排比句式
|
|
83
|
+
- 连续3句以上相同结构的排比
|
|
84
|
+
- "有的...有的...有的..."
|
|
85
|
+
- "一边...一边...一边..."
|
|
86
|
+
|
|
87
|
+
### 升华句式
|
|
88
|
+
- "这一刻..."
|
|
89
|
+
- "他知道..."
|
|
90
|
+
- "她明白..."
|
|
91
|
+
- "这就是..."
|
|
92
|
+
|
|
93
|
+
## 禁用句式模板
|
|
94
|
+
|
|
95
|
+
| 句式 | 示例 | 问题 |
|
|
96
|
+
|------|------|------|
|
|
97
|
+
| "不是A,而是B" | "他不是冷漠,而是绝望" | 最毒;直接写 B |
|
|
98
|
+
| "...,带着..." | "他说,带着一丝无奈" | 万能状语 |
|
|
99
|
+
| "声音不大,却带着……" | "她声音不大,却带着不容置疑的力量" | AI 最爱声音描写 |
|
|
100
|
+
| "仿佛能...一般" | "仿佛能穿透一切一般" | 文言腔 |
|
|
101
|
+
| 对话标签密度过高/公式化标签 | "好的,他说道" | 普通"说"可保留;高频或公式化时处理 |
|
|
102
|
+
| "他/她感到..." | "她感到一丝失落" | 告诉而非展示 |
|
|
103
|
+
| "他/她意识到..." | "他意识到事情不对" | 直接告知 |
|
|
104
|
+
| "眼中闪过一丝XX" | "眼中闪过一丝悲伤" | 模板化 |
|
|
105
|
+
| "嘴角勾起一抹XX" | "嘴角勾起一抹冷笑" | 模板化 |
|
|
106
|
+
| "心中涌起一股XX" | "心中涌起一股暖流" | 模板化 |
|
|
107
|
+
| "取而代之的是" | "笑容消失,取而代之的是冰冷" | AI 过渡模板;直接写新状态 |
|
|
108
|
+
| "淬了/淬着X" | "眼里淬了毒" | AI 通感套路;写动作或台词 |
|
|
109
|
+
| "显得(有些)X" | "他显得有些兴奋" | 告诉而非展示 |
|
|
110
|
+
| "心底/心里某个地方+软" | "心里某个地方软得一塌糊涂" | 言情套句;写动作 |
|
|
111
|
+
| "(浑身)散发着一股X气息/气场" | "浑身散发着一股生人勿近的气息" | 万能气场描写;写旁人的反应 |
|
|
112
|
+
| "命运/宿命 + 齿轮/棋局/獠牙/改写/安排" | "命运终于露出獠牙" / "早已布好的棋局" | 抽象作者总结;改成角色当下撞见的文件、动作、对话、物理后果 |
|
|
113
|
+
| "这一刻终于明白/从这一刻开始/才刚刚开始" | "这一刻,他终于明白" / "反击才刚刚开始" | AI 收束腔;删总结,用动作或未解决问题收尾 |
|
|
114
|
+
|
|
115
|
+
## 比喻分类(默认复核,不默认全删)
|
|
116
|
+
|
|
117
|
+
带"像/如/仿佛/犹如/宛若"的比喻不是一律 AI。真正高风险的是:成片堆叠、套用万能文学比喻、用精致比喻替代剧情推进,或在段尾替读者总结意义。本表用于识别需要复核的比喻类型:
|
|
118
|
+
|
|
119
|
+
| 比喻类别 | 例 | 处理 |
|
|
120
|
+
|---------|----|------|
|
|
121
|
+
| 生活/角色化 | "像一头被抛弃的野狗" | 若贴角色视角、能传递信息或情绪,可保留 |
|
|
122
|
+
| 物品/现象类 | "像一把刀" "脸色惨白得像这漫天的雪" | 普通功能性比喻可留;模板化或重复时改白描 |
|
|
123
|
+
| 状态类(陈词滥调) | "梨花带雨" "如沐春风" | 优先删或改成具体动作/表情 |
|
|
124
|
+
| 抽象类 | "像命运的齿轮" "像上辈子的尘埃" | 高风险,优先落回动作、物件、声音、后果 |
|
|
125
|
+
| 假设类 | "力道大得像是要把骨头捏碎" | 若是角色身体感知可留;夸张堆叠时改事实后果 |
|
|
126
|
+
|
|
127
|
+
处理原则:先看功能,再看密度。保留最能传递信息或情绪的一两个,其余改为直接描述、动词、名词、作用、结果或事实;不要把删掉的比喻替换成另一批新比喻。例 "脸色惨白得像这漫天的雪" 若只是套话 → "脸色惨白";若雪景正在压迫角色,可保留或改成角色当下看到的具体画面。
|
|
128
|
+
|
|
129
|
+
> `metaphor-density-tic` 是 advisory:提示通读复核,不是 blocking;生活化、角色化、单个有功能的比喻可以保留。
|
|
130
|
+
|
|
131
|
+
## 替换策略速查
|
|
132
|
+
|
|
133
|
+
| 原文类型 | 替换方法 | 示例 |
|
|
134
|
+
|----------|----------|------|
|
|
135
|
+
| 抽象情绪词 | 具体动作 | "紧张" → "手在抖" |
|
|
136
|
+
| "感到XX" | 外化表现 | "感到愤怒" → "攥紧拳头" |
|
|
137
|
+
| 形容词堆砌 | 白描手法 | "美丽动人的笑容" → "她笑了" |
|
|
138
|
+
| 书面表达 | 口语化 | "不容置疑" → "就是" |
|
|
139
|
+
| 解释性描写 | 留白 | "他因为害怕而..." → "他退后一步" |
|
|
140
|
+
| 连续排比 | 保留最强一条 | 3 句排比留 1 句 |
|
|
141
|
+
| 总结升华句 | 直接删除 | "这一刻,她终于明白了..." → 删 |
|
|
142
|
+
| "不是A,而是B" | 直接写 B 或更自然的表达 | "他不是冷漠,而是绝望" → 直接写 B |
|
|
143
|
+
| 多余修饰(形容词/定语/量词/指示代词) | 删 | "白色的药片" → "药片";"手里那截链子" → "链子";"飞驰的汽车" → "车" |
|
|
144
|
+
|
|
145
|
+
**替换不复用**:右列是方向示例,不是标准答案。同一禁用词在一章内多次命中时,各处给不同的具体化写法;同一个替换写法反复出现(每次都「垂下眼」、每个动作都补「了一下」),替换产物本身就成为新的模板指纹。
|
|
146
|
+
|
|
147
|
+
**套词密度优先处理**:`check-ai-patterns.js` 报 `cliche-density-tic` 时,说明禁用词不是零星误用,而是聚成了模板腔。处理顺序不是同义词替换,而是先删抽象总结,再把情绪/判断落到角色当下可见的动作、物件、对话和具体后果。
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
# 角色关系与感情线操作手册
|
|
2
|
+
|
|
3
|
+
## 决策路由
|
|
4
|
+
|
|
5
|
+
| 你在设计什么 | 使用本章方法 |
|
|
6
|
+
|-------------|-------------|
|
|
7
|
+
| 角色间关系类型 | 人物关系类型表 |
|
|
8
|
+
| 感情线核心人设 | 感情流人设核心法 |
|
|
9
|
+
| 爱情线底层逻辑 | 男频/女频爱情线差异 |
|
|
10
|
+
| 穿书/穿游戏角色选择 | 穿书角色选择法则 |
|
|
11
|
+
| 多角关系/修罗场 | 修罗场收场策略 |
|
|
12
|
+
| 好感度推进节奏 | 好感度体系 + 男频恋爱文攻略 |
|
|
13
|
+
| 配角态度变化 | 配角攻略缓冲区 |
|
|
14
|
+
| 角色共情写作 | 角色行为自洽检查 |
|
|
15
|
+
| 角色目标与关系线 | 角色目标独立性 + 关系线设计 |
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 人物关系类型
|
|
20
|
+
|
|
21
|
+
查表确定角色间的关系类型,然后按原则执行。
|
|
22
|
+
|
|
23
|
+
| 关系类型 | 定义 | 功能 | 示例 |
|
|
24
|
+
|---------|------|------|------|
|
|
25
|
+
| 冲突型 | 双方利益/理念对立 | 制造张力,推动情节 | 宿敌、竞争对手 |
|
|
26
|
+
| 联盟型 | 双方有共同目标 | 提供助力,制造羁绊 | 战友、师徒 |
|
|
27
|
+
| 亲密型 | 情感纽带连接 | 制造软肋,提供情感支点 | 恋人、家人、兄弟 |
|
|
28
|
+
| 权威型 | 上下级/支配关系 | 制造压力,限制主角行动 | 师父、老板、监管者 |
|
|
29
|
+
|
|
30
|
+
**执行规则**:
|
|
31
|
+
- 每个重要关系至少安排一次考验(背叛/牺牲/误解)
|
|
32
|
+
- 关系必须有变化弧线(敌人变盟友、盟友变对手)
|
|
33
|
+
- 禁止所有关系都是"你好我好"的铁板一块
|
|
34
|
+
- 关系的功能必须服务于情节,不能只为甜/虐而存在
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 感情流人设核心法
|
|
39
|
+
|
|
40
|
+
感情流中剧情为人设服务——每次剧情都要丰满人物或推动感情发展,否则就是无效剧情。
|
|
41
|
+
|
|
42
|
+
### 构建步骤
|
|
43
|
+
|
|
44
|
+
1. **确定人设核心**:写下最初出现在脑海里的角色特征(如"想登上皇位的皇子""病弱皇子")
|
|
45
|
+
2. **围绕核心发散**:回答——为什么有这个核心?过去经历?环境影响?性格成因?
|
|
46
|
+
3. **延伸剧情线**:核心自带的剧情必须写(有目标→目标线;有伤痛→治愈线)
|
|
47
|
+
|
|
48
|
+
### 执行规则
|
|
49
|
+
|
|
50
|
+
- 俗套剧情配上丰满人设也能脱离套路感
|
|
51
|
+
- 两个主角都必须有闪光点和独立变化路线,不能一个人出彩另一个人黯淡
|
|
52
|
+
- 高光不等于装逼——所有让读者对角色印象深刻的时刻都是高光,包括痛彻心扉的时刻
|
|
53
|
+
- 生命不止恋爱——角色心里希望恋爱,但生命里不能只有恋爱,只有恋爱的角色立不住、很单薄
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 男频与女频爱情线底层逻辑差异
|
|
58
|
+
|
|
59
|
+
**先确定目标读者群,再选择对应逻辑。两者不可混淆,否则读者会觉得"不对味"。**
|
|
60
|
+
|
|
61
|
+
### 男频爱情线逻辑
|
|
62
|
+
|
|
63
|
+
| 维度 | 说明 |
|
|
64
|
+
|------|------|
|
|
65
|
+
| 核心 | "外在因素展示"——主角和对象在一起体现两人的外在因素多优秀 |
|
|
66
|
+
| 三种核心逻辑 | "她要是我的该多好" → "这么优秀的人是我的了" → "这么优秀的人都喜欢我,我更优秀" |
|
|
67
|
+
| 围观者想法 | "能得到这么优秀的女人,我好羡慕"(非"恋爱好甜") |
|
|
68
|
+
| 女主 | 最好有多个女性角色喜欢主角,越多说明主角越优秀 |
|
|
69
|
+
| 对象本质 | "奖杯"——一切动机的根本目的是胜利 |
|
|
70
|
+
|
|
71
|
+
写男频感情线时,围绕"展示优秀"设计事件。
|
|
72
|
+
|
|
73
|
+
### 女频爱情线逻辑
|
|
74
|
+
|
|
75
|
+
| 维度 | 说明 |
|
|
76
|
+
|------|------|
|
|
77
|
+
| 核心 | "连接"——两人之间唯一、坚不可摧、最优先的情感连接 |
|
|
78
|
+
| 连接要求 | "我爱的是你这个人,外貌、财富、才华都不能替代这份连接" |
|
|
79
|
+
| 纯洁性 | 连接形成后应逐渐舍去外在因素影响 |
|
|
80
|
+
| 双方 | 最好初恋+双洁——保障连接的纯洁性和唯一性 |
|
|
81
|
+
| 围观者想法 | "他们的恋爱好甜,我好羡慕" |
|
|
82
|
+
|
|
83
|
+
写女频感情线时,围绕"深化连接"设计事件。
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 穿书/穿游戏角色选择法则
|
|
88
|
+
|
|
89
|
+
### 必须满足的条件
|
|
90
|
+
|
|
91
|
+
- 叙事主角必须对原世界有相当熟悉度(最核心的期待感来源)
|
|
92
|
+
- 确定穿越进熟悉的世界,一两句话交代清楚,不能超过一章还不知道身处何方
|
|
93
|
+
- 必须选择穿越后有强戏剧性或强矛盾的角色(如穿越成恶毒女配)
|
|
94
|
+
|
|
95
|
+
### 信息差设计
|
|
96
|
+
|
|
97
|
+
- 在原世界基础上适当设计信息差,为叙事主角提供探索空间
|
|
98
|
+
- 可以用原世界知识卡bug获取超额收益
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 修罗场收场策略
|
|
103
|
+
|
|
104
|
+
修罗场本质是一种矛盾,控制对抗烈度,不能让爱情线对象之间出现不可调和的矛盾。
|
|
105
|
+
|
|
106
|
+
| 收场方法 | 操作 |
|
|
107
|
+
|---------|------|
|
|
108
|
+
| 关联回事业线 | 让爱情线对象们把争风吃醋转化为"比谁对主角事业线贡献更大" |
|
|
109
|
+
| 插入事业线突发事件 | 对抗进入白热化时,用突发事件让所有人从内斗切换成一致对外 |
|
|
110
|
+
| 一笔带过 | 最多两人互相看不惯、说两句嘲讽话就过去,非常克制 |
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 傻白甜角色塑造避坑
|
|
115
|
+
|
|
116
|
+
### 六个必避之坑
|
|
117
|
+
|
|
118
|
+
1. 女主犯错不能是故意的,不能明知不能做偏要做
|
|
119
|
+
2. 女主犯错不能违反道德——傻白甜最重要的是天真小孩子般的高道德感
|
|
120
|
+
3. 不能站在道德高地指责他人(道德婊行为),自己却做不好
|
|
121
|
+
4. 不能因为道德婊行为和队友发生矛盾后还让队友认错赞美她
|
|
122
|
+
5. 正确做法:有更高道德标准 → 所作所为符合 → 为此显得与众不同和有点傻气
|
|
123
|
+
6. 可以写成长线:坐到被她指责的人的位置上后,发现原来那个做法已是最好的选择
|
|
124
|
+
|
|
125
|
+
### 反向用法
|
|
126
|
+
|
|
127
|
+
塑造傻白甜反派时,把以上六点全加在她身上,让读者一见就厌恶。
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 人设改变的双向翻转法
|
|
132
|
+
|
|
133
|
+
爱情线中关系发生变化时的人设调整方法。
|
|
134
|
+
|
|
135
|
+
### 核心思路
|
|
136
|
+
|
|
137
|
+
- 最好的改变是两个人都改变,且改变后恰好与之前两人之间的对应关系相反
|
|
138
|
+
- 改变要基于原人设做局部调整,和原人设保持密切联系,避免随意改造
|
|
139
|
+
|
|
140
|
+
### 执行规则
|
|
141
|
+
|
|
142
|
+
- 人设变化发生在爱隔山海阶段之后(尤其是面对最大阻碍之后),不要再设计新的矛盾,只要发糖
|
|
143
|
+
- 真正的阻碍已在前面解决,此时读者最迫切的渴望是多吃糖
|
|
144
|
+
- 发糖要用实在的CP行为和悉心照顾表达爱意,不是"我爱你"式的工业糖精
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## 角色行为自洽检查
|
|
149
|
+
|
|
150
|
+
### 第一步:排除外部强推
|
|
151
|
+
|
|
152
|
+
检查角色行为是否只是为了让剧情往某方向发展。如果角色"恰好"做了推进剧情的事但没有自身动机,标记为"人设偏移",必须为该行为补充角色层面的合理理由。
|
|
153
|
+
|
|
154
|
+
### 第二步:情绪目标确认
|
|
155
|
+
|
|
156
|
+
写每段前明确三个要素:
|
|
157
|
+
1. 本段目标情绪:这段剧情要让读者产生什么情绪?
|
|
158
|
+
2. 角色性格特征是否支持该情绪:角色的设定属性是否自然导向此情绪方向?
|
|
159
|
+
3. 角色行为是否符合使命定位:角色在本段的行为是否与其在故事中的功能定位一致?
|
|
160
|
+
|
|
161
|
+
### 第三步:人设行为推导
|
|
162
|
+
|
|
163
|
+
从角色已设定属性(经历/性格/目标/当前状态)推导其在场景中的行为:
|
|
164
|
+
- 列出该角色在此场景下的2-3种可能反应
|
|
165
|
+
- 评估每种反应与角色已有行为模式的一致性
|
|
166
|
+
- 选择最符合人设且最有戏剧张力的那一种
|
|
167
|
+
|
|
168
|
+
### 第四步:情绪一致性校验
|
|
169
|
+
|
|
170
|
+
检查角色表达的情绪核心与场景目标情绪是否一致。不一致则调整角色行为或场景目标情绪,确保输出内容在情绪维度上自洽。
|
|
171
|
+
|
|
172
|
+
**两种执行路径**:
|
|
173
|
+
- 路径A:先定目标情绪 → 按人设推导角色行为 → 校验一致性
|
|
174
|
+
- 路径B:先按人设推导角色行为 → 反推场景目标情绪 → 校验一致性
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 配角攻略缓冲区
|
|
179
|
+
|
|
180
|
+
配角对主角态度的变化过程 = 主角攻略配角的过程,伴随巨大的期待感和爽点。
|
|
181
|
+
|
|
182
|
+
### 缓冲区类型
|
|
183
|
+
|
|
184
|
+
线上线下、背后议论、异地相处、地位差距、亲密度差距、信任程度、信息差等。
|
|
185
|
+
|
|
186
|
+
### 操作步骤
|
|
187
|
+
|
|
188
|
+
1. 始终保持缓冲区存在
|
|
189
|
+
2. 在卷纲中挑出事件拐点(5~7个)
|
|
190
|
+
3. 在每个拐点处标注配角状态和对主角的态度变化
|
|
191
|
+
4. 每次攻略到关键点位时,配角的态度变化必须写清楚
|
|
192
|
+
5. 态度变化本身就产生情绪波动和期待感
|
|
193
|
+
|
|
194
|
+
### 执行规则
|
|
195
|
+
|
|
196
|
+
- 配角不能像NPC一样站着等主角触发
|
|
197
|
+
- 配角要有自己的行动,由配角观点引出事件
|
|
198
|
+
- 正面角色也一样:和主角立场相同的人也应有自己的行动和动机
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 利用角色身份认知差制造冲突
|
|
203
|
+
|
|
204
|
+
同一个角色在不同人眼中的"声望"是动态变化的,不是恒定值。
|
|
205
|
+
|
|
206
|
+
| 视角 | 看重什么 | 对男主的评价 |
|
|
207
|
+
|------|----------|-------------|
|
|
208
|
+
| 世俗视角 | 家境对等,抗风险能力 | 综合条件匹配度 |
|
|
209
|
+
| 男主自身 | 赚钱养家+感情 | 相对门当户对 |
|
|
210
|
+
| 女主视角 | 感情+专一+爱 | 只要在乎的就门当户对 |
|
|
211
|
+
| 富二代 | 外貌家世匹配度 | 我才更门当户对 |
|
|
212
|
+
| 路人 | 综合条件对比 | 女主该嫁富二代 |
|
|
213
|
+
|
|
214
|
+
**操作要点**:
|
|
215
|
+
- 不同人对同一个角色的评价差异 = 天然的矛盾冲突来源
|
|
216
|
+
- 恋爱文的核心爽点之一:不同维度的评价差
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 亦敌亦友关系
|
|
221
|
+
|
|
222
|
+
最有魅力的人物关系类型。
|
|
223
|
+
|
|
224
|
+
### 执行规则
|
|
225
|
+
|
|
226
|
+
- 前提:两个角色本身都要有魅力,否则只是强行五五开的狗皮膏药
|
|
227
|
+
- 核心:高度认可 + 绝对冲突 → 惺惺相惜 → 缺一魅力全无
|
|
228
|
+
- 真正的宿敌 = 双方相互认可,外人盖章不算
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 竞争者定位与亲情线用法
|
|
233
|
+
|
|
234
|
+
### 竞争者(鲶鱼效应)
|
|
235
|
+
|
|
236
|
+
- 定位:给男主/女主增加紧张感上压力 → 推动攻略进度
|
|
237
|
+
- 剧情设置重点在"高潮节点前" → 属于铺垫环节
|
|
238
|
+
- 对高潮后续写剧情作用不大 → 不是续命手段
|
|
239
|
+
|
|
240
|
+
### 亲情线的四个方向
|
|
241
|
+
|
|
242
|
+
| 方向 | 作用 | 使用时机 |
|
|
243
|
+
|------|------|---------|
|
|
244
|
+
| 男方助力 | 提供金钱地位权力 | 高潮前发挥 |
|
|
245
|
+
| 男方阻力 | 设置障碍让主角得到认可 | 节点前后都能用 |
|
|
246
|
+
| 女方助力 | 温柔乡感情补给站 | 高潮前发挥 |
|
|
247
|
+
| 女方阻力 | 父母不同意→为了认可去努力 | 节点前后都能用 |
|
|
248
|
+
|
|
249
|
+
助力主要在高潮前,阻力节点前后都能用,阻力更好发挥。
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## 男频恋爱文写法攻略
|
|
254
|
+
|
|
255
|
+
### 读者为什么看恋爱文
|
|
256
|
+
|
|
257
|
+
| 价值 | 来源 |
|
|
258
|
+
|------|------|
|
|
259
|
+
| 情绪价值 | 填补"被需要、被在乎"的情感空缺 |
|
|
260
|
+
| 自尊价值 | 女主条件好→带出去有面子→配角羡慕嫉妒 |
|
|
261
|
+
| 高身份女主原因 | 更强的装逼打脸工具人+更大的自尊满足 |
|
|
262
|
+
|
|
263
|
+
### 核心技法:把恋爱当升级文写
|
|
264
|
+
|
|
265
|
+
- 暧昧拉扯的过程才是最有吸引力的
|
|
266
|
+
- 好感度进度条:每一步推进 = 升级文中的一个"等级"
|
|
267
|
+
- 每一个事件是一次"升级"→ 通过冲突、化解、理解和共鸣让好感攀升
|
|
268
|
+
|
|
269
|
+
### 好感度升级路径
|
|
270
|
+
|
|
271
|
+
路人 → 好人(扶老奶奶过马路) → 正直勇敢的好人(挺身而出) → 不错的朋友(理解原生家庭困境) → 喜欢但不知(特殊契机看到彼此不为人知的一面)
|
|
272
|
+
|
|
273
|
+
### 关键原则:主角不主动追求
|
|
274
|
+
|
|
275
|
+
- 当前男频读者普遍反感"舔狗"人设
|
|
276
|
+
- 推动好感靠男主自身优秀品质吸引,不是主动追求
|
|
277
|
+
- 男主帮女主是举手之劳不经意为之 → 女主因此记住他
|
|
278
|
+
|
|
279
|
+
### 感情升级的不对称性
|
|
280
|
+
|
|
281
|
+
- 两条进度线:表面社会关系(路人→朋友→情侣)+ 实际情感好感度
|
|
282
|
+
- 两条线不应齐头并进 → 一条快一条慢 → 带来丰富的矛盾冲突
|
|
283
|
+
- 情感线快于社会线 → 辉夜大小姐模式(双方好感拉满但嘴硬不表白)
|
|
284
|
+
- 社会线快于情感线 → 赘婿/择天记模式(表面夫妻实际好感为零)
|
|
285
|
+
|
|
286
|
+
### 写女主对主角好
|
|
287
|
+
|
|
288
|
+
| 女主类型 | 付出方式 |
|
|
289
|
+
|---------|---------|
|
|
290
|
+
| 自卑社恐 | 偷偷帮忙塞东西但害怕被发现 |
|
|
291
|
+
| 傲娇型 | 用心做便当但嘴硬"做多了顺便带的" |
|
|
292
|
+
| 直率泼辣 | 大大方方送礼物或直球表白 |
|
|
293
|
+
|
|
294
|
+
### 善用对比
|
|
295
|
+
|
|
296
|
+
| 对比类型 | 操作 |
|
|
297
|
+
|---------|------|
|
|
298
|
+
| 时间线对比 | 女主刚认识主角时 vs 熟悉后的态度变化 |
|
|
299
|
+
| 双标 | 不允许别人摸头但主角可以 → 凸显特殊地位 |
|
|
300
|
+
| 信息差 | 男女主双重身份(网上vs现实)→ 期待揭穿时反应 |
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 好感度体系(通用框架)
|
|
305
|
+
|
|
306
|
+
### 四阶段
|
|
307
|
+
|
|
308
|
+
萍水相逢 → 爱情喜剧 → 爱隔山海 → 大结局
|
|
309
|
+
|
|
310
|
+
### 好感度 × 关系阶段对照表
|
|
311
|
+
|
|
312
|
+
好感度(负/零/半/满) x 关系阶段(熟悉/试探/暧昧/确认)
|
|
313
|
+
|
|
314
|
+
阶段匹配原则:**按低的一方计算**。好感度到了但关系阶段没到 = 行为突兀。
|
|
315
|
+
|
|
316
|
+
### CP行为三类门槛
|
|
317
|
+
|
|
318
|
+
| 行为类型 | 门槛 | 说明 |
|
|
319
|
+
|---------|------|------|
|
|
320
|
+
| 需容忍行为 | 半好感+ | 主动亲密、妥协,必须给补偿否则变舔狗 |
|
|
321
|
+
| 特殊对待行为 | 半好感+ | 主权、信赖、牺牲、特殊待遇、安抚 |
|
|
322
|
+
| 关联行为 | 双方半好感+ | 默契、分享、陪伴 |
|
|
323
|
+
|
|
324
|
+
好感度不足时写需容忍行为 = 油腻/性骚扰感。
|
|
325
|
+
|
|
326
|
+
### 5套感情线结构模板
|
|
327
|
+
|
|
328
|
+
| 模板 | 核心 |
|
|
329
|
+
|------|------|
|
|
330
|
+
| 好感度变化 | 可能升/降/已降 → 各自处理路径 → 余韵 |
|
|
331
|
+
| 受益 | 享受伴侣带来的好处 = 爱情线装逼核心 |
|
|
332
|
+
| 争风吃醋 | 多角色为主角争风,不是主角吃别人醋 |
|
|
333
|
+
| 发展受阻 | 阻碍→试图解决→解决→余韵 |
|
|
334
|
+
| 狗粮 | CP日常互动 |
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## 角色目标的独立性与关系线设计
|
|
339
|
+
|
|
340
|
+
### 主角目标独立性原则
|
|
341
|
+
|
|
342
|
+
- 主角的目标必须属于自己的 → 不能是"帮别人实现目标" → 否则主角变成配角/工具人
|
|
343
|
+
- 正确做法:把别人的目标转化为主角自己的(平叛=保护自己的利益/获得认可/获取资源)
|
|
344
|
+
- 自检方法:随机看一章 → 主角在主动追求什么 → 如果没有 → 主角沦为别人的棋子
|
|
345
|
+
|
|
346
|
+
### 感情线的层次设计
|
|
347
|
+
|
|
348
|
+
- 感情推进不是线性的,应该有升级节点,每个节点对应一个剧情高潮
|
|
349
|
+
- 社会关系线 vs 实质情感线的错位制造张力
|
|
350
|
+
- 最佳节奏:感情先慢后快 → 前期铺垫积累好感 → 后期集中爆发 → 匹配盛大仪式
|
|
351
|
+
|
|
352
|
+
### 配角的功能性定位
|
|
353
|
+
|
|
354
|
+
| 类型 | 功能 | 使用时机 |
|
|
355
|
+
|------|------|---------|
|
|
356
|
+
| 竞争者(鲶鱼型) | 制造压力推动主角行动 | 高潮节点前 |
|
|
357
|
+
| 助力型亲友 | 提供资源/情感支持 | 高潮前发挥 |
|
|
358
|
+
| 阻力型亲友 | 不认可→设置条件→主角克服→获得认可 | 节点前后都能用 |
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## 绿茶/负面角色
|
|
363
|
+
|
|
364
|
+
- 可以推动剧情但要谨慎使用
|
|
365
|
+
- 确认该角色是否有不可替代性
|
|
366
|
+
- 主角强势时任何角色都能变正反馈
|
|
367
|
+
- 主角弱势时负面角色会被读者恨
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## 质量检查清单
|
|
372
|
+
|
|
373
|
+
每次完成角色关系/感情线设计后,逐项核查:
|
|
374
|
+
|
|
375
|
+
- [ ] **关系类型明确**:每个重要关系已归类为冲突/联盟/亲密/权威之一
|
|
376
|
+
- [ ] **关系有弧线**:每个重要关系至少经历一次考验或变化
|
|
377
|
+
- [ ] **人设有核心**:主角人设有明确的核心特征和发散依据
|
|
378
|
+
- [ ] **目标独立性**:主角的目标属于自己的,不是帮别人实现目标
|
|
379
|
+
- [ ] **好感度匹配**:CP行为与当前好感度阶段匹配(按低的一方计算)
|
|
380
|
+
- [ ] **读者群对味**:男频围绕"展示优秀"设计事件,女频围绕"深化连接"设计事件
|
|
381
|
+
- [ ] **配角有行动**:配角不是NPC式站桩等待触发,有自己的行动和动机
|
|
382
|
+
- [ ] **缓冲区存在**:配角攻略过程中始终保持缓冲区,拐点处标注态度变化
|
|
383
|
+
- [ ] **修罗场可控**:多角关系中对象之间无不可调和的矛盾
|
|
384
|
+
- [ ] **发糖时机正确**:爱隔山海之后不再设计新矛盾,只发实在的CP行为糖
|
|
385
|
+
- [ ] **角色不止恋爱**:角色生命中有恋爱之外的内容,不是单薄的情感工具人
|