@oh-story/dsh 0.1.15 → 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 +17 -15
- package/lib/client.js +26 -15
- package/lib/client.js.map +2 -2
- package/lib/drama/manifest.json +284 -364
- package/lib/drama/package.json +4 -0
- package/lib/drama/skills/short-drama/SKILL.md +13 -14
- package/lib/drama/skills/short-drama/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama/references/audience-reveal.md +4 -4
- package/lib/drama/skills/short-drama/references/contract-and-ownership.md +2 -2
- package/lib/drama/skills/short-drama/references/creator-documents.md +12 -10
- package/lib/drama/skills/short-drama/references/creator-workflow.md +6 -5
- package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +8 -8
- 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 +5 -5
- 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 +5 -6
- package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +6 -7
- package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +2 -3
- 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 +6 -7
- package/lib/drama/skills/short-drama/references/knowhow-index.md +6 -7
- package/lib/drama/skills/short-drama/references/look-development.md +5 -7
- package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +6 -3
- package/lib/drama/skills/short-drama/references/production-form-profiles.md +14 -16
- package/lib/drama/skills/short-drama/references/reference-roles.md +5 -3
- package/lib/drama/skills/short-drama/references/runtime-preflight.md +2 -1
- package/lib/drama/skills/short-drama-assets/SKILL.md +8 -8
- package/lib/drama/skills/short-drama-assets/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +26 -27
- package/lib/drama/skills/short-drama-assets/references/character-and-look.md +22 -22
- package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +4 -4
- package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +4 -4
- package/lib/drama/skills/short-drama-assets/references/era-anchors.md +3 -3
- package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +5 -5
- package/lib/drama/skills/short-drama-assets/references/location-and-view.md +6 -7
- package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +8 -9
- package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +8 -11
- package/lib/drama/skills/short-drama-assets/references/voice-direction.md +22 -22
- package/lib/drama/skills/short-drama-develop/SKILL.md +6 -6
- package/lib/drama/skills/short-drama-develop/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +2 -2
- package/lib/drama/skills/short-drama-develop/assets/story-engine.md +2 -2
- package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +13 -12
- package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +7 -7
- package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +7 -8
- package/lib/drama/skills/short-drama-develop/references/episode-design.md +20 -24
- package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +7 -7
- package/lib/drama/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +4 -5
- package/lib/drama/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +2 -2
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +2 -2
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +4 -5
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//351/200/206/350/242/255.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//351/207/215/347/224/237/347/251/277/350/266/212.md +2 -2
- package/lib/drama/skills/short-drama-develop/references/genre-cards.md +4 -4
- package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +6 -7
- package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +19 -17
- package/lib/drama/skills/short-drama-develop/references/premise-devices.md +5 -5
- package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +6 -5
- package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +3 -4
- package/lib/drama/skills/short-drama-develop/references/stage-contract.md +7 -9
- package/lib/drama/skills/short-drama-develop/references/story-craft.md +8 -10
- package/lib/drama/skills/short-drama-edit/SKILL.md +11 -14
- package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +12 -19
- package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +2 -2
- package/lib/drama/skills/short-drama-edit/references/cut-craft.md +5 -4
- package/lib/drama/skills/short-drama-edit/references/generated-footage.md +1 -1
- package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +6 -4
- package/lib/drama/skills/short-drama-edit/references/stage-contract.md +5 -5
- package/lib/drama/skills/short-drama-edit/references/still-cuts.md +1 -1
- package/lib/drama/skills/short-drama-image-prompts/SKILL.md +7 -2
- package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +4 -5
- package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +17 -17
- package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +10 -9
- package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +11 -12
- package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +6 -5
- package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +2 -2
- package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +6 -6
- package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +8 -8
- package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +5 -4
- package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +17 -24
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +3 -4
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +5 -10
- package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +4 -6
- package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +9 -13
- package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +3 -7
- package/lib/drama/skills/short-drama-produce/SKILL.md +43 -42
- package/lib/drama/skills/short-drama-produce/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +31 -18
- package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +1 -1
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +11 -6
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +2 -2
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +7 -5
- package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +14 -8
- package/lib/drama/skills/short-drama-review/SKILL.md +9 -9
- package/lib/drama/skills/short-drama-review/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +10 -11
- package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +24 -23
- package/lib/drama/skills/short-drama-review/references/project-calibration.md +17 -16
- package/lib/drama/skills/short-drama-review/references/review-method.md +8 -6
- package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +7 -6
- package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +17 -10
- package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +29 -25
- package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +11 -11
- package/lib/drama/skills/short-drama-review/references/stage-contract.md +3 -2
- package/lib/drama/skills/short-drama-storyboard/SKILL.md +8 -10
- package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +8 -11
- package/lib/drama/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +11 -12
- package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +4 -5
- package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +19 -24
- package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +1 -1
- package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +26 -29
- package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +6 -5
- package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +2 -2
- package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +4 -4
- package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +8 -8
- package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +3 -3
- package/lib/drama/skills/short-drama-video-prompts/SKILL.md +10 -7
- package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +63 -61
- package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +20 -18
- package/lib/drama/skills/short-drama-video-prompts/references/generability.md +12 -12
- package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +4 -3
- package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +38 -40
- package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +36 -36
- package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +17 -21
- package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +10 -11
- package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +1 -1
- package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +2 -2
- package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +6 -12
- package/lib/drama/skills/short-drama-video-prompts/references/wan-3.0.md +2 -1
- package/lib/drama/skills/short-drama-write/SKILL.md +15 -15
- package/lib/drama/skills/short-drama-write/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-write/assets/screenplay.md +3 -4
- package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +20 -22
- package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +20 -22
- package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +10 -10
- package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +11 -9
- package/lib/drama/skills/short-drama-write/references/screenplay-format.md +11 -10
- package/lib/drama/skills/short-drama-write/references/script-craft.md +41 -47
- package/lib/drama/skills/short-drama-write/references/stage-contract.md +7 -5
- package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +19 -25
- package/lib/index.js +120 -31
- package/lib/index.js.map +3 -3
- package/lib/novel-to-game/README.md +10 -11
- package/lib/novel-to-game/README_ZH.md +14 -15
- package/lib/novel-to-game/VERSION +1 -1
- package/lib/novel-to-game/manifest.json +34 -29
- package/lib/novel-to-game/package.json +4 -0
- package/lib/novel-to-game/skills/game-art-direction/SKILL.md +2 -2
- 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 +9 -1
- package/lib/novel-to-game/skills/game-build/references/baked-sprite-workflow.md +19 -0
- package/lib/novel-to-game/skills/game-concept/SKILL.md +1 -1
- package/lib/novel-to-game/skills/game-concept/references/concept-method.md +4 -1
- package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +1 -1
- package/lib/novel-to-game/skills/game-world-design/SKILL.md +1 -1
- package/lib/novel-to-game/skills/game-world-design/agents/openai.yaml +1 -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 +5 -4
- package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +13 -2
- package/lib/oh-story/manifest.json +628 -803
- package/lib/oh-story/package.json +4 -0
- package/lib/oh-story/roles/chapter-extractor.md +13 -12
- package/lib/oh-story/roles/character-designer.md +20 -101
- package/lib/oh-story/roles/consistency-checker.md +7 -9
- package/lib/oh-story/roles/narrative-writer.md +22 -22
- package/lib/oh-story/roles/story-architect.md +22 -32
- package/lib/oh-story/roles/story-explorer.md +11 -14
- package/lib/oh-story/roles/story-researcher.md +13 -14
- package/lib/oh-story/skills/browser-cdp/SKILL.md +38 -26
- package/lib/oh-story/skills/story/SKILL.md +98 -63
- package/lib/oh-story/skills/story/VERSION +1 -1
- package/lib/oh-story/skills/story-cover/SKILL.md +46 -234
- 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 -93
- package/lib/oh-story/skills/story-deslop/SKILL.md +75 -212
- package/lib/oh-story/skills/story-deslop/references/agent-calls.md +17 -3
- package/lib/oh-story/skills/story-deslop/references/banned-words.md +61 -151
- package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +23 -160
- package/lib/oh-story/skills/story-deslop/references/expression.md +83 -0
- package/lib/oh-story/skills/story-deslop/references/narrative-focus.md +63 -0
- package/lib/oh-story/skills/story-deslop/references/story-logic.md +65 -0
- package/lib/oh-story/skills/story-deslop/references/style-resolution.md +5 -5
- package/lib/oh-story/skills/story-import/SKILL.md +18 -22
- 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 +9 -9
- package/lib/oh-story/skills/story-import/references/deep-analysis.md +7 -8
- package/lib/oh-story/skills/story-import/references/import-report.md +9 -8
- package/lib/oh-story/skills/story-import/references/import-special-cases.md +7 -17
- package/lib/oh-story/skills/story-import/references/import-tracking.md +6 -6
- package/lib/oh-story/skills/story-import/references/length-routing.md +10 -60
- package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +10 -10
- package/lib/oh-story/skills/story-import/references/outline-reverse.md +3 -3
- package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +120 -132
- package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +77 -92
- package/lib/oh-story/skills/story-import/references/tracking-initialization.md +2 -2
- 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 +41 -78
- package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +28 -30
- package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +9 -17
- package/lib/oh-story/skills/story-long-analyze/references/index-rebuild.md +9 -3
- package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +23 -10
- package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +13 -20
- package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +28 -29
- 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 -164
- package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +12 -13
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +114 -35
- package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +16 -6
- 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 +54 -82
- package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +47 -181
- package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +24 -7
- 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 +26 -16
- package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +31 -34
- package/lib/oh-story/skills/story-long-write/SKILL.md +12 -13
- package/lib/oh-story/skills/story-long-write/references/agent-calls.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +53 -26
- package/lib/oh-story/skills/story-long-write/references/author-memory-maintenance.md +9 -7
- package/lib/oh-story/skills/story-long-write/references/author-memory.md +6 -6
- package/lib/oh-story/skills/story-long-write/references/banned-words.md +61 -151
- package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +4 -4
- 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 +120 -270
- package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +26 -29
- package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +9 -9
- 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 +33 -73
- package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +42 -89
- 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 +3 -3
- 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 +2 -2
- 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 +3 -3
- 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 +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +4 -4
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +2 -2
- 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 +3 -3
- 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 +4 -4
- 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 +3 -3
- 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 +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +7 -7
- package/lib/oh-story/skills/story-long-write/references/genre-readers.md +99 -172
- package/lib/oh-story/skills/story-long-write/references/long-chapter-hooks.md +40 -120
- 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-format.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +82 -311
- 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 +4 -4
- package/lib/oh-story/skills/story-long-write/references/long-suspense.md +11 -13
- 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 +12 -16
- package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/reference-index.md +29 -84
- 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 +3 -3
- package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +15 -22
- package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +4 -172
- package/lib/oh-story/skills/story-long-write/references/style-resolution.md +5 -5
- package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +10 -8
- package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +3 -3
- 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 +10 -10
- package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +5 -10
- package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +72 -98
- package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/writing-craft.md +77 -132
- 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 +41 -54
- package/lib/oh-story/skills/story-review/references/agent-prompts.md +20 -18
- package/lib/oh-story/skills/story-review/references/banned-words.md +61 -151
- package/lib/oh-story/skills/story-review/references/batch-review.md +4 -4
- package/lib/oh-story/skills/story-review/references/expression.md +83 -0
- package/lib/oh-story/skills/story-review/references/narrative-focus.md +63 -0
- package/lib/oh-story/skills/story-review/references/quality-rubric.md +11 -11
- package/lib/oh-story/skills/story-review/references/review-tracking.md +6 -5
- package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +10 -10
- package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +10 -11
- package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +12 -12
- package/lib/oh-story/skills/story-review/references/solo.md +8 -7
- package/lib/oh-story/skills/story-review/references/story-logic.md +65 -0
- package/lib/oh-story/skills/story-review/references/style-resolution.md +5 -5
- package/lib/oh-story/skills/story-review/references/tracking-initialization.md +2 -2
- package/lib/oh-story/skills/story-review/references/tracking-transaction.md +2 -2
- package/lib/oh-story/skills/story-setup/SKILL.md +29 -36
- package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +14 -16
- package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +61 -151
- package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +10 -10
- 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 +120 -270
- package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +23 -160
- package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +26 -29
- package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +9 -9
- 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 +83 -0
- 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/format-and-structure.md +11 -11
- 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 +3 -3
- 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 +2 -2
- 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 +3 -3
- 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 +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +4 -4
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +2 -2
- 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 +3 -3
- 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 +4 -4
- 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 +3 -3
- 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 +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +7 -7
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +99 -172
- package/lib/oh-story/skills/story-setup/references/agent-references/long-chapter-hooks.md +40 -120
- package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +34 -74
- package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +82 -311
- 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-quality.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/long-reversal.md +4 -4
- package/lib/oh-story/skills/story-setup/references/agent-references/long-suspense.md +11 -13
- package/lib/oh-story/skills/story-setup/references/agent-references/narrative-focus.md +63 -0
- 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 +64 -192
- package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +15 -69
- package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +46 -58
- package/lib/oh-story/skills/story-setup/references/agent-references/short-quality.md +6 -4
- package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +23 -48
- package/lib/oh-story/skills/story-setup/references/agent-references/story-logic.md +65 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +15 -22
- package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +4 -172
- package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +5 -5
- package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +77 -132
- package/lib/oh-story/skills/story-setup/references/diagnostics.md +4 -4
- package/lib/oh-story/skills/story-short-analyze/SKILL.md +44 -103
- package/lib/oh-story/skills/story-short-analyze/references/analysis-characters.md +66 -0
- package/lib/oh-story/skills/story-short-analyze/references/analysis-method.md +7 -7
- package/lib/oh-story/skills/story-short-analyze/references/analysis-report-style.md +1 -3
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +22 -21
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +7 -6
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +6 -6
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-patterns.md +2 -2
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +6 -6
- 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 +38 -50
- 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 +24 -175
- package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +53 -38
- package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +54 -83
- package/lib/oh-story/skills/story-short-scan/SKILL.md +56 -73
- 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 +36 -75
- package/lib/oh-story/skills/story-short-scan/references/topic-match.md +35 -15
- package/lib/oh-story/skills/story-short-write/SKILL.md +23 -26
- package/lib/oh-story/skills/story-short-write/references/agent-calls.md +4 -4
- package/lib/oh-story/skills/story-short-write/references/author-memory-maintenance.md +9 -7
- package/lib/oh-story/skills/story-short-write/references/author-memory.md +6 -6
- package/lib/oh-story/skills/story-short-write/references/banned-words.md +61 -151
- 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 +34 -0
- package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +26 -29
- package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +15 -69
- package/lib/oh-story/skills/story-short-write/references/expression.md +83 -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 +12 -12
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +21 -21
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +17 -17
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +17 -17
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +19 -19
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +16 -16
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +17 -16
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +17 -17
- package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +11 -11
- 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 +22 -22
- package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +46 -58
- package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +64 -192
- package/lib/oh-story/skills/story-short-write/references/narrative-focus.md +63 -0
- package/lib/oh-story/skills/story-short-write/references/reference-index.md +14 -16
- package/lib/oh-story/skills/story-short-write/references/scene-craft.md +8 -7
- package/lib/oh-story/skills/story-short-write/references/short-craft.md +22 -43
- package/lib/oh-story/skills/story-short-write/references/short-deslop.md +12 -125
- package/lib/oh-story/skills/story-short-write/references/short-format.md +19 -43
- package/lib/oh-story/skills/story-short-write/references/short-reversal.md +23 -48
- package/lib/oh-story/skills/story-short-write/references/story-logic.md +65 -0
- package/lib/oh-story/skills/story-short-write/references/style-resolution.md +5 -5
- 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 +23 -30
- package/lib/oh-story/skills/story-short-write/references/workflow-design.md +69 -26
- package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +19 -20
- package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +52 -70
- 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/role-tool.d.ts +42 -2
- package/lib/types/role-tool.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/CHANGELOG.md +8 -0
- package/lib/video-recap/README.en.md +8 -10
- package/lib/video-recap/README.md +8 -8
- package/lib/video-recap/manifest.json +48 -48
- package/lib/video-recap/package.json +4 -0
- package/lib/video-recap/skills/video-assemble/SKILL.md +5 -8
- package/lib/video-recap/skills/video-assemble/references/audio-modes.md +3 -3
- package/lib/video-recap/skills/video-assemble/references/jianying/SOURCE.md +1 -2
- package/lib/video-recap/skills/video-assemble/references/packaging.md +1 -2
- package/lib/video-recap/skills/video-assemble/references/source-score.md +5 -6
- package/lib/video-recap/skills/video-cut/SKILL.md +3 -7
- package/lib/video-recap/skills/video-cut/references/shot-review.md +1 -1
- package/lib/video-recap/skills/video-recap/SKILL.md +7 -11
- package/lib/video-recap/skills/video-recap/references/audio-routing.md +1 -2
- package/lib/video-recap/skills/video-recap/references/config-playbook.md +5 -7
- package/lib/video-recap/skills/video-recap/references/data-schema.md +8 -8
- package/lib/video-recap/skills/video-recap/references/resource-library.md +2 -2
- package/lib/video-recap/skills/video-reference/SKILL.md +4 -8
- package/lib/video-recap/skills/video-reference/references/reference-schema.md +1 -1
- package/lib/video-recap/skills/video-script/SKILL.md +4 -13
- package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +2 -2
- package/lib/video-recap/skills/video-understanding/SKILL.md +10 -6
- package/lib/video-recap/skills/video-understanding/references/data-schema.md +2 -2
- package/lib/video-recap/skills/video-voiceover/SKILL.md +3 -11
- package/lib/video-recap/skills/video-voiceover/references/index-tts.md +1 -2
- package/package.json +25 -24
- package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +0 -187
- package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +0 -42
- package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +0 -128
- package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +0 -34
- package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +0 -49
- package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +0 -36
- package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +0 -2
- package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +0 -2
- package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +0 -101
- package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +0 -217
- package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +0 -31
- package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +0 -67
- package/lib/drama/skills/short-drama-write/assets/beats.jsonl +0 -2
- package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +0 -120
- package/lib/drama/skills/short-drama-write/assets/episode-card.json +0 -55
- package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +0 -89
- package/lib/oh-story/skills/story/references/author-memory-maintenance.md +0 -75
- package/lib/oh-story/skills/story/references/author-memory.md +0 -117
- package/lib/oh-story/skills/story/scripts/author_memory_commit.py +0 -1638
- package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +0 -556
- package/lib/oh-story/skills/story-deslop/references/author-memory-maintenance.md +0 -75
- package/lib/oh-story/skills/story-deslop/references/author-memory.md +0 -117
- package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +0 -1638
- 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 -43
- 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 -114
- package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +0 -105
- package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +0 -556
- 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 -502
- package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +0 -171
- 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 -273
- 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 -711
- package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +0 -622
- package/lib/oh-story/skills/story-long-write/references/style-craft.md +0 -327
- package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +0 -556
- package/lib/oh-story/skills/story-review/references/author-memory-maintenance.md +0 -75
- package/lib/oh-story/skills/story-review/references/author-memory.md +0 -117
- 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 -288
- 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 -246
- package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +0 -1638
- package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +0 -556
- 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 -146
- package/lib/oh-story/skills/story-setup/references/agent-references/short-suspense.md +0 -352
- package/lib/oh-story/skills/story-short-analyze/references/analysis-character-basics.md +0 -453
- package/lib/oh-story/skills/story-short-analyze/references/analysis-character-design.md +0 -438
- package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +0 -395
- package/lib/oh-story/skills/story-short-analyze/references/analysis-paragraph-hooks.md +0 -146
- package/lib/oh-story/skills/story-short-analyze/references/analysis-reader-profile.md +0 -245
- package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +0 -477
- 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 -90
- package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +0 -54
- package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +0 -490
- package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +0 -146
- package/lib/oh-story/skills/story-short-write/references/output-contract.md +0 -127
- package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +0 -224
- package/lib/oh-story/skills/story-short-write/references/short-suspense.md +0 -352
- package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +0 -50
|
@@ -81,7 +81,7 @@ function verify(projectDir) {
|
|
|
81
81
|
'设定.md',
|
|
82
82
|
settingsRead.ok ? '文件存在且非空' : (settingsRead.error || '文件为空'),
|
|
83
83
|
'项目目录下存在非空的 设定.md',
|
|
84
|
-
['references/
|
|
84
|
+
['references/workflow-design.md'],
|
|
85
85
|
'只补建或补全 设定.md,不改动已通过的 小节大纲.md。'
|
|
86
86
|
))
|
|
87
87
|
checks.push(makeCheck(
|
|
@@ -90,7 +90,7 @@ function verify(projectDir) {
|
|
|
90
90
|
'小节大纲.md',
|
|
91
91
|
outlineRead.ok ? '文件存在且非空' : (outlineRead.error || '文件为空'),
|
|
92
92
|
'项目目录下存在非空的 小节大纲.md',
|
|
93
|
-
['references/
|
|
93
|
+
['references/workflow-design.md'],
|
|
94
94
|
'只补建或补全 小节大纲.md,不改动已通过的 设定.md。'
|
|
95
95
|
))
|
|
96
96
|
|
|
@@ -99,13 +99,13 @@ function verify(projectDir) {
|
|
|
99
99
|
const settings = settingsRead.text
|
|
100
100
|
const outline = outlineRead.text
|
|
101
101
|
|
|
102
|
-
const platformMatch = settings.match(/目标平台\s*[::]\s*(知乎(
|
|
102
|
+
const platformMatch = settings.match(/目标平台\s*[::]\s*(知乎(?:盐言|盐选)?|盐[言选]|七猫(?:短篇)?|黑岩|红果|小程序|点众|番茄(?:短篇)?|未定)/)
|
|
103
103
|
checks.push(makeCheck(
|
|
104
104
|
'phase2.platform-declared',
|
|
105
105
|
Boolean(platformMatch),
|
|
106
106
|
'设定.md',
|
|
107
107
|
platformMatch ? `目标平台:${platformMatch[1]}` : '未找到可识别的目标平台字段',
|
|
108
|
-
'
|
|
108
|
+
'写明“目标平台:知乎盐言 / 番茄 / 七猫 / 黑岩 / 红果 / 小程序”之一;作者没定平台写“未定”',
|
|
109
109
|
['references/submission-craft.md'],
|
|
110
110
|
'只在 设定.md 的基本信息或 Phase 2 设计校验区补目标平台。'
|
|
111
111
|
))
|
|
@@ -125,7 +125,7 @@ function verify(projectDir) {
|
|
|
125
125
|
'设定.md',
|
|
126
126
|
genreEvidence,
|
|
127
127
|
'写明一个真实存在的 references/genre-styles/{题材}.md;冷门题材写 references/genre-writing-formulas.md',
|
|
128
|
-
['references/
|
|
128
|
+
['references/workflow-design.md', 'references/short-craft.md'],
|
|
129
129
|
'只补题材参考路径与从该参考选出的 2-3 个核心招式,不重写故事框架。'
|
|
130
130
|
))
|
|
131
131
|
|
|
@@ -139,7 +139,7 @@ function verify(projectDir) {
|
|
|
139
139
|
'设定.md',
|
|
140
140
|
moves.length ? `识别到 ${moves.length} 个核心招式` : '未找到核心招式字段',
|
|
141
141
|
'“核心招式:招式一;招式二[;招式三]”,共 2-3 个',
|
|
142
|
-
['references/
|
|
142
|
+
['references/workflow-design.md'],
|
|
143
143
|
'只补或收敛核心招式字段到 2-3 个,并保持已选题材参考不变。'
|
|
144
144
|
))
|
|
145
145
|
|
|
@@ -168,7 +168,7 @@ function verify(projectDir) {
|
|
|
168
168
|
'设定.md',
|
|
169
169
|
placeholderLines.length ? `仍是模板占位符的行:${placeholderLines.map((entry) => entry.line).join('、')}` : '契约字段没有未填写的 {} 占位符',
|
|
170
170
|
'Phase 2 契约字段写实际设计内容,不保留 {} 模板占位符',
|
|
171
|
-
['references/
|
|
171
|
+
['references/workflow-design.md'],
|
|
172
172
|
'只把报告行的占位符替换成本篇的实际设计,不重写其他字段。'
|
|
173
173
|
))
|
|
174
174
|
|
|
@@ -196,7 +196,7 @@ function verify(projectDir) {
|
|
|
196
196
|
? `表头 ${headerCells.length} 列:${headerCells.join(' | ')}${legacyHeader ? '(兼容旧项目;新建项目使用现行列名)' : ''}`
|
|
197
197
|
: '未找到以“结构段/五段功能”开头的 Markdown 表格',
|
|
198
198
|
`使用固定 12 列表头:${OUTLINE_HEADERS.join(' | ')}`,
|
|
199
|
-
['references/
|
|
199
|
+
['references/workflow-design.md'],
|
|
200
200
|
'只修表头和错位单元格,不改动各节已经成立的剧情内容。'
|
|
201
201
|
))
|
|
202
202
|
|
|
@@ -219,7 +219,7 @@ function verify(projectDir) {
|
|
|
219
219
|
'小节大纲.md',
|
|
220
220
|
rows.length === 0 ? '固定表头下没有数据行' : (rowShapeFailures.length ? `列数错误行:${rowShapeFailures.map((row) => row.line).join('、')}` : `识别到 ${rows.length} 节,均为 12 列`),
|
|
221
221
|
'固定表头下至少一行数据,且每节恰好 12 列',
|
|
222
|
-
['references/
|
|
222
|
+
['references/workflow-design.md'],
|
|
223
223
|
'只补缺失节或修复报告行的列错位。'
|
|
224
224
|
))
|
|
225
225
|
|
|
@@ -241,12 +241,17 @@ function verify(projectDir) {
|
|
|
241
241
|
? `所有 ${rows.length} 节均有至少一个带功能标签的真实推进`
|
|
242
242
|
: `已检查 ${progressionRows.length}/${rows.length} 行;其余行由 phase2.outline-data-rows 报告列错位`),
|
|
243
243
|
'每节至少一个真实推进;有先后关系时以 -> 连接,每个含 {对话/冲突/伏笔/回忆/发现/递进} 标签之一,不设固定数量',
|
|
244
|
-
['references/
|
|
244
|
+
['references/workflow-design.md', 'references/short-craft.md'],
|
|
245
245
|
'只修报告行的“情节推进”单元格,不重写其他列或其他节;不要为数量补事件。'
|
|
246
246
|
))
|
|
247
247
|
|
|
248
|
-
|
|
249
|
-
|
|
248
|
+
// 「约 1-1.3 万」「1.1万字」这类写法先换成整数再解析。
|
|
249
|
+
const targetLine = (settings.match(/目标字数\s*[::][^\n]*/) || [''])[0]
|
|
250
|
+
.replace(/(\d+(?:\.\d+)?)\s*((?:[-–—~~]|到|至)\s*)(\d+(?:\.\d+)?)\s*万/g,
|
|
251
|
+
(_, a, sep, b) => `${Math.round(Number(a) * 10000)}${sep}${Math.round(Number(b) * 10000)}`)
|
|
252
|
+
.replace(/(\d+(?:\.\d+)?)\s*万/g, (_, a) => String(Math.round(Number(a) * 10000)))
|
|
253
|
+
const targetMatch = targetLine.match(/目标字数\s*[::]\s*(?:约\s*)?([\d,,]+)\s*(?:字)?\s*(?:[-–—~~]|到|至)\s*([\d,,]+)\s*字?/) ||
|
|
254
|
+
targetLine.match(/目标字数\s*[::]\s*(?:约\s*)?([\d,,]+)\s*字?/)
|
|
250
255
|
const toNumber = (value) => Number(String(value).replace(/[,,]/g, ''))
|
|
251
256
|
const targetLow = targetMatch ? toNumber(targetMatch[1]) : null
|
|
252
257
|
const targetHigh = targetMatch && targetMatch[2] !== undefined ? toNumber(targetMatch[2]) : targetLow
|
|
@@ -269,8 +274,8 @@ function verify(projectDir) {
|
|
|
269
274
|
targetOk,
|
|
270
275
|
'设定.md、小节大纲.md',
|
|
271
276
|
`设定目标:${statedTarget === null ? '未识别' : (isRange ? `${targetLow}-${targetHigh}` : statedTarget)};大纲合计:${targetSum === null ? '有非数字目标字数' : targetSum}`,
|
|
272
|
-
'设定.md 的目标字数为 1000-200000
|
|
273
|
-
['references/
|
|
277
|
+
'设定.md 的目标字数为 1000-200000 的正整数或区间(用户明确范围优先,未指定时用所选平台的投稿区间,未定平台用 8000-12000);大纲每行目标字数可解析,写区间时合计落在区间内,写单值时误差不超过 5%',
|
|
278
|
+
['references/workflow-design.md', 'references/submission-craft.md'],
|
|
274
279
|
'只修目标字数字段或各节“目标字数”单元格,使合计匹配;不要用增删剧情绕过数字错误。'
|
|
275
280
|
))
|
|
276
281
|
|
|
@@ -297,7 +302,7 @@ function verify(projectDir) {
|
|
|
297
302
|
'设定.md',
|
|
298
303
|
reversalEvidence,
|
|
299
304
|
'有反转时写明揭穿节号、全文总节数和计算百分比;总节数须与大纲一致,计算误差不超过 0.6%。无反转时写明“反转类型:无反转”和带原因的“反转位置:不适用(…)”',
|
|
300
|
-
['references/
|
|
305
|
+
['references/workflow-design.md', 'references/short-reversal.md'],
|
|
301
306
|
'只修正反转位置计算或对应节次;位置质量按 short-reversal.md 的误判决策与揭示后果功能链判断,不为跨过固定百分比而搬节。'
|
|
302
307
|
))
|
|
303
308
|
|
|
@@ -320,7 +325,7 @@ function verify(projectDir) {
|
|
|
320
325
|
'设定.md、小节大纲.md',
|
|
321
326
|
paywallEvidence,
|
|
322
327
|
'设定.md 写“付费点:第 X 节末”,且小节大纲.md 第 X 行数据的“结尾承接/钩子”单元格只标一次“付费点”',
|
|
323
|
-
['references/submission-craft.md', 'references/
|
|
328
|
+
['references/submission-craft.md', 'references/workflow-design.md'],
|
|
324
329
|
'只在缺失的文件补同一个付费断点,并确保它位于对应节末的钩子单元格。'
|
|
325
330
|
))
|
|
326
331
|
|
|
@@ -21,6 +21,8 @@ export declare function workbenchLabel(mode: WorkbenchMode): string;
|
|
|
21
21
|
export interface WorkspaceFilePath {
|
|
22
22
|
readonly path: string;
|
|
23
23
|
}
|
|
24
|
+
/** Oh Story short fiction: one book as three files at the workspace root. */
|
|
25
|
+
export declare const SHORT_STORY_FILES: ReadonlySet<string>;
|
|
24
26
|
/** Read the latest running Assistant step, including tool-only steps hidden from the Chat list. */
|
|
25
27
|
export declare function streamingAssistant(timeline: ConversationTimelineSnapshot): PartialAssistant | null;
|
|
26
28
|
/** Read a JSON string even while the model is still streaming its closing quote. */
|
|
@@ -52,6 +54,14 @@ export declare function openTurn(chat: ChatSnapshot): number | undefined;
|
|
|
52
54
|
/** Convert a DSH tool path to the creative-relative path accepted by the narrow route. */
|
|
53
55
|
export declare function creativeRelativePath(path: string | undefined, cwd: string | undefined): string | undefined;
|
|
54
56
|
export declare function workbenchModeForPath(path: string | undefined): WorkbenchMode | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* The workbench to show when a Session first opens a workspace: the current one when it has
|
|
59
|
+
* work, otherwise the first of 小说, 短剧, 游戏, 视频 that does. The bundled game example is
|
|
60
|
+
* not the creator's work, so it never selects the game workbench.
|
|
61
|
+
*/
|
|
62
|
+
export declare function initialWorkbenchMode(current: WorkbenchMode, files: readonly WorkspaceFilePath[], games: readonly {
|
|
63
|
+
readonly source: "workspace" | "example";
|
|
64
|
+
}[], videos: readonly unknown[]): WorkbenchMode;
|
|
55
65
|
/** Choose the first useful document when a creative workbench opens. */
|
|
56
66
|
export declare function preferredWorkbenchFile(files: readonly WorkspaceFilePath[], mode: WorkbenchMode): string | undefined;
|
|
57
67
|
/** Project one streamed mutation over its immediate predecessor. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-activity.d.ts","sourceRoot":"","sources":["../../../src/client/file-activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,KAAK,EACV,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,oBAAoB,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AASjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"file-activity.d.ts","sourceRoot":"","sources":["../../../src/client/file-activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,KAAK,EACV,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,oBAAoB,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AASjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAID,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAA0C,CAAC;AAM7F,mGAAmG;AACnG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,4BAA4B,GAAG,gBAAgB,GAAG,IAAI,CAUlG;AAgBD,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAuBvF;AA6ED,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,EAAE,CAqBxE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,gBAAgB,EAAE,EAAE,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,OAAO,CAIpH;AAED,0GAA0G;AAC1G,wBAAgB,aAAa,CAC3B,YAAY,EAAE,SAAS,eAAe,EAAE,EACxC,OAAO,GAAE,gBAAgB,GAAG,IAAW,EACvC,YAAY,GAAE,SAAS,gBAAgB,EAAO,GAC7C,oBAAoB,EAAE,CAgCxB;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,YAAY,EAAE,SAAS,eAAe,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAI7F;AAuBD,8FAA8F;AAC9F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAEhF;AAED,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAI/D;AAED,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAY1G;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CASxF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,KAAK,EAAE,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,EAAE,EAC9D,MAAM,EAAE,SAAS,OAAO,EAAE,GACzB,aAAa,CAMf;AAED,wEAAwE;AACxE,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,IAAI,EAAE,aAAa,GAClB,MAAM,GAAG,SAAS,CA6BpB;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmBhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmEpE,eAAO,MAAM,IAAI,aAAa,CAAC;AAC/B,eAAO,MAAM,MAAM,UAAwC,CAAC;AAE5D,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,OAAO;QACf,oBAAoB,EAAE;YAAE,IAAI,EAAE,QAAQ,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;KAC5D;CACF;AAg0DD,iFAAiF;AACjF,wBAAgB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAsClD;;;;;;AAED,wBAAuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-hooks.d.ts","sourceRoot":"","sources":["../../src/native-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAElG,OAAO,KAAK,EAAoB,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG/F,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,gBAAgB;QACxB,kFAAkF;QAClF,qBAAqB,EAAE;YAAE,IAAI,EAAE,qBAAqB,CAAA;SAAE,GAAG,aAAa,CAAC;KACxE;CACF;AAID,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAkDD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAgBnH;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AA8D9H;;;;;GAKG;AACH,eAAO,MAAM,aAAa,sCAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"native-hooks.d.ts","sourceRoot":"","sources":["../../src/native-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAElG,OAAO,KAAK,EAAoB,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG/F,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,gBAAgB;QACxB,kFAAkF;QAClF,qBAAqB,EAAE;YAAE,IAAI,EAAE,qBAAqB,CAAA;SAAE,GAAG,aAAa,CAAC;KACxE;CACF;AAID,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAkDD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAgBnH;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AA8D9H;;;;;GAKG;AACH,eAAO,MAAM,aAAa,sCAAuB,CAAC;AAsBlD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,eAAe,EACnB,QAAQ,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmB7B;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,GACnC,OAAO,CAAC,eAAe,CAAC,CAQ1B;AAuBD;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,eAAe,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAyB7B;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,GACnC,OAAO,CAAC,eAAe,CAAC,CAU1B;AAED,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,MAAM,CAclG;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6B3D"}
|
package/lib/types/role-tool.d.ts
CHANGED
|
@@ -1,12 +1,52 @@
|
|
|
1
1
|
import type { Context } from "@deepseek-ai/cordis";
|
|
2
|
-
import type {
|
|
2
|
+
import type { Agent } from "@deepseek-ai/dsh-agent";
|
|
3
|
+
import type { ContentBlock } from "@deepseek-ai/dsh-llm";
|
|
4
|
+
import type { Session, SessionId } from "@deepseek-ai/dsh-session";
|
|
5
|
+
import type { SubagentResult } from "@deepseek-ai/dsh-subagent";
|
|
3
6
|
import { type ToolDefinition } from "@deepseek-ai/dsh-tools";
|
|
4
7
|
import { type OhStoryRoleName } from "./role-provider.js";
|
|
5
8
|
export declare const OH_STORY_ROLE_TOOL_NAME = "oh_story_role";
|
|
6
|
-
|
|
9
|
+
interface RoleStartRequest {
|
|
10
|
+
readonly label: string;
|
|
11
|
+
readonly prompt: ContentBlock[];
|
|
12
|
+
readonly parent: Agent;
|
|
13
|
+
readonly persona: string;
|
|
14
|
+
readonly toolFilter: {
|
|
15
|
+
readonly allow: readonly string[];
|
|
16
|
+
};
|
|
17
|
+
readonly maxDepth: number;
|
|
18
|
+
readonly signal: AbortSignal;
|
|
19
|
+
}
|
|
20
|
+
interface RoleRun {
|
|
21
|
+
readonly id: string;
|
|
22
|
+
readonly localAgent?: {
|
|
23
|
+
readonly session: Session;
|
|
24
|
+
};
|
|
25
|
+
readonly result: Promise<SubagentResult>;
|
|
26
|
+
dispose(): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
interface ManagedRoleSpec {
|
|
29
|
+
readonly provider: string;
|
|
30
|
+
readonly label: string;
|
|
31
|
+
readonly childId: SessionId;
|
|
32
|
+
readonly request: Pick<RoleStartRequest, "parent" | "prompt" | "maxDepth">;
|
|
33
|
+
readonly signal: AbortSignal;
|
|
34
|
+
readonly delivery: "caller";
|
|
35
|
+
}
|
|
36
|
+
/** Local seam types also let TypeScript consumers use the older DSH declarations. */
|
|
37
|
+
export type OhStoryRoleSubagents = {
|
|
38
|
+
startActivation(spec: ManagedRoleSpec): Promise<{
|
|
39
|
+
readonly childId: SessionId;
|
|
40
|
+
readonly result: Promise<SubagentResult>;
|
|
41
|
+
dispose(): Promise<void>;
|
|
42
|
+
}>;
|
|
43
|
+
} | {
|
|
44
|
+
start(provider: string, request: RoleStartRequest): Promise<RoleRun>;
|
|
45
|
+
};
|
|
7
46
|
export declare function roleToolFilter(role: OhStoryRoleName): {
|
|
8
47
|
readonly allow: readonly string[];
|
|
9
48
|
};
|
|
10
49
|
export declare function createOhStoryRoleTool(subagents?: OhStoryRoleSubagents): Promise<ToolDefinition>;
|
|
11
50
|
export declare function registerOhStoryRoleTool(context: Context): Promise<void>;
|
|
51
|
+
export {};
|
|
12
52
|
//# sourceMappingURL=role-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-tool.d.ts","sourceRoot":"","sources":["../../src/role-tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"role-tool.d.ts","sourceRoot":"","sources":["../../src/role-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOzE,OAAO,EAAwC,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEhG,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AACvD,UAAU,gBAAgB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;IAC3E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,qFAAqF;AACrF,MAAM,MAAM,oBAAoB,GAAG;IACjC,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;QAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;QAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KAC1B,CAAC,CAAC;CACJ,GAAG;IACF,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtE,CAAC;AAqEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAE3F;AAMD,wBAAsB,qBAAqB,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAqErG;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-provider.d.ts","sourceRoot":"","sources":["../../src/skill-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-provider.d.ts","sourceRoot":"","sources":["../../src/skill-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AA2OhC,UAAU,WAAW;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAuBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAa7D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIrE;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAKhD;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAK9C;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAKpD;AAuDD,wBAAgB,0BAA0B,CAAC,SAAS,SAA4B,GAAG,aAAa,CAE/F;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,SAA0B,GAAG,MAAM,CAM/G;AAED,wBAAgB,wBAAwB,CAAC,SAAS,SAA0B,GAAG,aAAa,CAE3F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,wBAAgB,8BAA8B,CAAC,SAAS,SAAgC,GAAG,aAAa,CAEvG;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAKnD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,6BAA6B,CAAC,SAAS,SAA+B,GAAG,aAAa,CAErG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-route.d.ts","sourceRoot":"","sources":["../../src/workspace-route.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-route.d.ts","sourceRoot":"","sources":["../../src/workspace-route.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAuCnD,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AA8HD,MAAM,WAAW,SAAS;IAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAE3E;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAcpG;AAwGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAW7E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE;AAoHD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ9C;AAmMD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBnE;AA2JD,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAM7F"}
|
|
@@ -10,6 +10,14 @@ All notable changes to this project are documented here.
|
|
|
10
10
|
|
|
11
11
|
## [Unreleased]
|
|
12
12
|
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- **技能与帮助说明按现有实现精修。** 补齐视频理解各远程路径发送的内容及关闭方式,澄清新字幕降级与原片硬字幕、实测字幕带的默认透明度、采用配音的速度策略,以及原声底轨的整数采样长度;删除不存在的 picture-plan 路径,纠正 TTS 前检查与成片看片的时序。双语 README 同步实际安装、缓存续跑与素材库行为;badcase、配对示例及真实媒体产物保留。七个技能包各升补丁号并同步编排依赖。
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- **七个 SKILL.md 的 `description` 改成单行。** 原来的 `description: >` 折叠块在 OpenClaw 只认单行键值的退路解析器下读不到完整描述;现在每条都是一行,文字与原折叠块解析后的值完全相同。新增测试要求 `description` 非空、不是 `>` / `|` 块、不超过 1024 字符。七个 ClawHub 包各升一个补丁号(video-recap 仍为 blocked,伴随依赖同步到新版本)。
|
|
20
|
+
|
|
13
21
|
## [0.6.2] - 2026-10-03
|
|
14
22
|
|
|
15
23
|
用 dub 模式的命令(包括旧 `work_dir` 打印的续跑命令)都要补上 `--confirm-voice-rights`,否则在外发任何音频之前报错退出;只在有权使用这段视频、且说话人同意被克隆声音时确认。
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
<!-- Last synced with README.md: 2026-09-20 -->
|
|
2
|
-
|
|
3
1
|
<p align="center">
|
|
4
2
|
<img src="https://zenstory.ai/brand/zenstory-ai-mark.svg" alt="" width="76" height="76">
|
|
5
3
|
</p>
|
|
@@ -23,7 +21,7 @@
|
|
|
23
21
|
<p align="center">
|
|
24
22
|
<a href="https://github.com/zenstory-ai/video-recap-skills/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/zenstory-ai/video-recap-skills?style=flat-square&color=22D3EE&logo=github&logoColor=white&label=Stars"></a>
|
|
25
23
|
<a href="https://github.com/zenstory-ai/video-recap-skills/releases/latest"><img alt="Release" src="https://img.shields.io/github/v/release/zenstory-ai/video-recap-skills?style=flat-square&color=081431&label=Release"></a>
|
|
26
|
-
<img alt="Skills
|
|
24
|
+
<img alt="Skills 7" src="https://img.shields.io/badge/Skills-7-081431?style=flat-square">
|
|
27
25
|
<a href="https://www.python.org/"><img alt="Python 3.10%2B" src="https://img.shields.io/badge/Python-3.10%2B-3776AB?style=flat-square&logo=python&logoColor=white"></a>
|
|
28
26
|
<a href="https://github.com/zenstory-ai/video-recap-skills/actions/workflows/skill-validate.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/zenstory-ai/video-recap-skills/skill-validate.yml?style=flat-square&label=CI"></a>
|
|
29
27
|
<a href="https://platform.xiaomimimo.com"><img alt="AI Xiaomi%20MiMo" src="https://img.shields.io/badge/AI-Xiaomi%20MiMo-34A853?style=flat-square"></a>
|
|
@@ -43,16 +41,16 @@ The 59-second landscape recap above, *Guohuo (这一秒过火)*, is the final de
|
|
|
43
41
|
Seven skills (six for production plus one on-demand reference skill) install into Claude Code, Codex CLI, OpenCode, or OpenClaw. You give the video paths and the recap you want in plain language; the agent understands picture and dialogue, decides the story and audiovisual plan, cuts, writes, voices, mixes, and subtitles. Supported inputs: `.mp4 / .mov / .mkv / .webm`.
|
|
44
42
|
|
|
45
43
|
- **One key, ffmpeg locally.** ASR, VLM, and TTS all go through [Xiaomi MiMo](https://platform.xiaomimimo.com); the local runtime is Python's standard library plus `ffmpeg`, with no GPU, no `pip install`, and no model downloads. Voiceover can switch to Fish Audio, which replaces only that stage.
|
|
46
|
-
- **The editorial decision comes before the sound allocation.**
|
|
47
|
-
- **Cut first, narrate second, so the timeline is aligned by construction.** Cut mode renders the shortened video first and writes narration against that output timeline; feed several videos at once and pick ranges by `source_id` to cut one story spine;
|
|
44
|
+
- **The editorial decision comes before the sound allocation.** For a new concept, the agent compares viable edit directions; for a directed task or viewing feedback, it follows the current decisions. It records the viewer promise, POV, dramatic question, and change-based beats in `recap_story_plan.json`, then assigns each beat a picture job and an audio owner: narration is voiced as a block only when it has a defined job, and strong dialogue, action sound, or silence may own an entire beat.
|
|
45
|
+
- **Cut first, narrate second, so the timeline is aligned by construction.** Cut mode renders the shortened video first and writes narration against that output timeline; feed several videos at once and pick ranges by `source_id` to cut one story spine; analysis can be saved to a filesystem material library and reused when the source and settings match.
|
|
48
46
|
- **Keep editing after the render.** The multi-track `timeline.json` exports to a JianYing draft with editable source clips, narration, BGM, subtitles, and image overlays; drop in an accurate subtitle file and it becomes the preferred source for original-dialogue captions.
|
|
49
|
-
- **Every step leaves a record you can check.** Narration lint, assembly QC,
|
|
47
|
+
- **Every step leaves a record you can check.** Narration lint, assembly QC, and final QC produce machine-readable reports. Viewing revisions can separately record changes, frozen items, and verification.
|
|
50
48
|
|
|
51
49
|
## Install
|
|
52
50
|
|
|
53
51
|
### ClawHub
|
|
54
52
|
|
|
55
|
-
ClawHub
|
|
53
|
+
ClawHub entries and dependencies are governed by the [explicit publish inventory](.clawhub/publish.json). The `video-recap` orchestrator remains `blocked` pending verification of companion installation under one skills root. For the complete workflow, install the plugin bundle or source checkout below.
|
|
56
54
|
|
|
57
55
|
|
|
58
56
|
Prerequisites: Python 3.10 or newer, `ffmpeg` on `PATH`, and one [Xiaomi MiMo](https://platform.xiaomimimo.com) API key. Subtitles are burned in by default, which needs an ffmpeg with libass. Homebrew's stock `ffmpeg` has no libass: the default run then skips the burn, ships a same-name `.srt` sidecar next to the recap, and records a warning in `final_qc.json` (an explicit `--burn-subtitles` stops before the run starts instead). Narration that adds on-screen text overlays (`visual_overlays`) also needs an ffmpeg with drawtext, and stops before voiceover without it. To burn subtitles on macOS, use `brew install ffmpeg-full` (keg-only: put its `bin` first on `PATH`).
|
|
@@ -329,7 +327,7 @@ Use /path/to/ep1.mp4 and /path/to/ep2.mp4 to make one ten-minute recap with a sh
|
|
|
329
327
|
|
|
330
328
|
> I have permission to use 〈local video〉 and am supplying checked picture and dialogue records for it. Propose only the sound handoff for this material: which full dialogue line, action sound or pause to preserve, where narration is needed, and which record supports each choice. List missing evidence rather than inventing motives or unseen events. Return beat notes and necessary narration drafts without calling TTS or rendering.
|
|
331
329
|
|
|
332
|
-
|
|
330
|
+
For a complete production request, the agent handles understanding, story and audiovisual planning, cutting, scripting, voiceover, and assembly. A text-only handoff stops at the requested scope. In cut mode it first chooses the footage, renders the shortened video, and only then writes narration on the output timeline; the internal pauses and resumes are the agent's job too.
|
|
333
331
|
|
|
334
332
|
## Workflow and the seven skills
|
|
335
333
|
|
|
@@ -408,7 +406,7 @@ Use /path/to/library as the resource library: register this BGM, this font and t
|
|
|
408
406
|
template for 1080x1920 for me to adopt, then render this series with /path/to/series/recap_project.json binding them.
|
|
409
407
|
```
|
|
410
408
|
|
|
411
|
-
Resources, templates and sample films are JSON records in your own directory; licence and "adopted" status are only ever set by you. A binding that conflicts with an explicit setting, or a template whose canvas differs from the output, stops the run before voicing. Each
|
|
409
|
+
Resources, templates and sample films are JSON records in your own directory; licence and "adopted" status are only ever set by you. A binding that conflicts with an explicit setting, or a template whose canvas differs from the output, stops the run before voicing. Each run writes `work_dir/resource_lock.json`, listing what it actually used and whether the licences are clear. Format: [resource library, templates and samples](skills/video-recap/references/resource-library.md).
|
|
412
410
|
|
|
413
411
|
**Browse projects, runs and the library in a local page (read-only):**
|
|
414
412
|
|
|
@@ -432,7 +430,7 @@ Yes. Understanding relies on the VLM reading the picture and does not require ex
|
|
|
432
430
|
|
|
433
431
|
### A long video hit a 429 or was interrupted halfway. Do I start over?
|
|
434
432
|
|
|
435
|
-
|
|
433
|
+
VLM analysis saves completed scenes and retries suspected rate limits once with lower concurrency. Persistent failures remain visible. After addressing the cause, repeat the same command to reuse matching scene caches and continue. Use the original command after writing `narration.json` too. In cut mode, `recap_phase.json` binds narration to its clip plan; a changed plan requires checking or rewriting the narration. Resuming requires the same source video and parameters.
|
|
436
434
|
|
|
437
435
|
### The VLM can't tell who is who and the narration is all "a man in black"?
|
|
438
436
|
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<p align="center">
|
|
22
22
|
<a href="https://github.com/zenstory-ai/video-recap-skills/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/zenstory-ai/video-recap-skills?style=flat-square&color=22D3EE&logo=github&logoColor=white&label=Stars"></a>
|
|
23
23
|
<a href="https://github.com/zenstory-ai/video-recap-skills/releases/latest"><img alt="Release" src="https://img.shields.io/github/v/release/zenstory-ai/video-recap-skills?style=flat-square&color=081431&label=Release"></a>
|
|
24
|
-
<img alt="Skills
|
|
24
|
+
<img alt="Skills 7" src="https://img.shields.io/badge/Skills-7-081431?style=flat-square">
|
|
25
25
|
<a href="https://www.python.org/"><img alt="Python 3.10%2B" src="https://img.shields.io/badge/Python-3.10%2B-3776AB?style=flat-square&logo=python&logoColor=white"></a>
|
|
26
26
|
<a href="https://github.com/zenstory-ai/video-recap-skills/actions/workflows/skill-validate.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/zenstory-ai/video-recap-skills/skill-validate.yml?style=flat-square&label=CI"></a>
|
|
27
27
|
<a href="https://platform.xiaomimimo.com"><img alt="AI Xiaomi%20MiMo" src="https://img.shields.io/badge/AI-Xiaomi%20MiMo-34A853?style=flat-square"></a>
|
|
@@ -44,16 +44,16 @@
|
|
|
44
44
|
决定故事与视听方案、剪辑、写稿、配音、混音和字幕。支持 `.mp4 / .mov / .mkv / .webm`。
|
|
45
45
|
|
|
46
46
|
- **一个 key,本地只要 ffmpeg。** ASR、VLM、TTS 都走[小米 MiMo](https://platform.xiaomimimo.com),本地只用 Python 标准库和 `ffmpeg`,不需要 GPU,不需要 `pip install`,也不下载模型。配音可以换成 Fish Audio,只替换配音这一段。
|
|
47
|
-
- **先做创作决定,再分配声音。** Agent
|
|
48
|
-
- **先剪后配,时间轴天然对齐。** 剪辑模式先把长视频剪成成片,再对着成片写解说;一次可以传多个视频,按 `source_id`
|
|
47
|
+
- **先做创作决定,再分配声音。** 首次策划时,Agent 比较可行的剪辑方向;已有指定结构或看片反馈时,按当前决定修订。观众承诺、POV、戏剧问题和每拍变化写进 `recap_story_plan.json`,再给每一拍指定画面任务和声音归属:旁白只在有明确任务时整块配音,强对白、动作声或沉默可以完整主导一拍。
|
|
48
|
+
- **先剪后配,时间轴天然对齐。** 剪辑模式先把长视频剪成成片,再对着成片写解说;一次可以传多个视频,按 `source_id` 选段剪成一条主线;视频分析可按需保存到文件系统素材库,后续在来源和设置匹配时复用。
|
|
49
49
|
- **成片之外还能继续改。** 多轨时间线 `timeline.json` 可一键导出剪映草稿,原片、解说、BGM、字幕、图片叠层都可编辑;自带一份准确字幕文件就会被当作原声字幕的首选来源。
|
|
50
|
-
- **每一步都留下可核对的记录。** 旁白 lint、组装 QC
|
|
50
|
+
- **每一步都留下可核对的记录。** 旁白 lint、组装 QC 与最终 QC 会生成机器可读报告;看片修改可另记录本轮改动、冻结项与验证结果。
|
|
51
51
|
|
|
52
52
|
## 安装
|
|
53
53
|
|
|
54
54
|
### ClawHub
|
|
55
55
|
|
|
56
|
-
ClawHub
|
|
56
|
+
ClawHub 条目与依赖由 [显式发布清单](.clawhub/publish.json) 管理。编排器 `video-recap` 当前仍因同根安装验证未完成而标为 `blocked`;使用完整流程请按下方方式安装整套插件或源码。
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
前提:Python 3.10 或更新版本,`PATH` 上有 `ffmpeg`,以及一个[小米 MiMo](https://platform.xiaomimimo.com) API Key。默认把字幕烧录进画面,这需要带 libass 的 ffmpeg;Homebrew 自带的 `ffmpeg` 没有 libass,这时默认运行不烧录,在成片旁输出同名 `.srt` 外挂字幕并在 `final_qc.json` 里记一条警告(显式传 `--burn-subtitles` 则在开跑前报错)。旁白里写了画面文字叠加(`visual_overlays`)时还需要带 drawtext 的 ffmpeg,缺了会在配音前报错。要在 macOS 上烧录字幕,可用 `brew install ffmpeg-full`(keg-only,需把它的 `bin` 放到 `PATH` 前面)。
|
|
@@ -318,7 +318,7 @@ Agent 在剪任何一刀之前先写 [`recap_story_plan.json`](examples/guohuo-6
|
|
|
318
318
|
|
|
319
319
|
> 我有权使用〈本地视频〉,并提供了对应的已核对画面与对白记录。先只给这段素材的声音分工建议:哪句对白、哪个动作声或停顿应完整保留,哪里确需旁白,依据是哪条记录。缺证据就列待核对项,不补人物动机或没出现的事件。交付分拍说明和必要的旁白草案,不调用配音或渲染。
|
|
320
320
|
|
|
321
|
-
Agent
|
|
321
|
+
完整制作请求由 Agent 完成理解、故事与视听规划、剪辑、写稿、配音和合成;只做文字交接的请求按指定范围停止。剪辑模式内部会先确定保留片段、生成剪后成片,再按输出时间轴写旁白;这些暂停和续跑也由 Agent 处理。
|
|
322
322
|
|
|
323
323
|
## 流程与七个技能
|
|
324
324
|
|
|
@@ -398,7 +398,7 @@ flowchart LR
|
|
|
398
398
|
```
|
|
399
399
|
|
|
400
400
|
资源、模板和样片是你自己目录里的 JSON 记录,授权与"已采用"状态只由你确认;绑定与显式设置冲突、模板画布与成片不符时,会在配音之前停下。
|
|
401
|
-
|
|
401
|
+
每次运行的 `work_dir/resource_lock.json` 记下这次实际用了哪些资源、授权是否清楚。格式见 [资源库、模板与样片](skills/video-recap/references/resource-library.md)。
|
|
402
402
|
|
|
403
403
|
**在浏览器里看项目、运行和资源库(只读):**
|
|
404
404
|
|
|
@@ -422,7 +422,7 @@ flowchart LR
|
|
|
422
422
|
|
|
423
423
|
### 长视频跑到一半报 429 或中断了,要从头再来吗?
|
|
424
424
|
|
|
425
|
-
|
|
425
|
+
VLM 会保存已完成的场景;遇到疑似限流会降低并发重试一轮,仍失败时保留错误供处理。解决原因后重复同一条命令,可以复用匹配的场景缓存并继续。写好 `narration.json` 后也用原命令续跑;剪辑模式用 `recap_phase.json` 绑定写稿时的计划,改了计划需重新核对或重写解说。续跑只接受同一源视频、同一组参数的工作目录。
|
|
426
426
|
|
|
427
427
|
### VLM 认不出谁是谁,解说里全是"黑衣男子"?
|
|
428
428
|
|