DSH Plugins Marketplace

DSH Plugins

Plugins

/

manju-fenjing-check

w

manju-fenjing-check

Manifest valid

Storyboard quality linter for AI short-form drama: face drift, timing collapse, freeze-frame breaks, sensitive terms — graded report.

hasBundlePatch

manju-fenjing-check

A storyboard quality checker for AI short-form drama, as a DeepSeek Harness plugin.

Registers one tool, storyboard_check. Give it a storyboard segment; it returns a graded report of everything that will break before you pay to render it.

分镜体检 · 10 镜 / 15.1 秒 / 台词 41 字 / 参考图 5 张(角色基准 2 张)
必改 1 · 建议 2 · 通过 6/8 项

必改|R1 时长账|镜头 9
  台词 7 字,按每秒 4 字要 1.8 秒,这一镜只给了 1.4 秒
  → 加时长到 2 秒,或把台词压到 5 字以内

Status: working, verified end to end against @deepseek-ai/dsh 0.2.2-rc.1 — mounted through a --patch overlay, called by the model, report returned intact. The rule engine is deterministic: no model call, no network, no dependencies.


The problem

Producing AI short drama means feeding a text-to-video model (Seedance, Kling, Hailuo, Veo) a shot list plus a handful of reference images, one 15-second segment at a time. Five things go wrong over and over, and you usually find out after paying for the render:

SymptomRoot cause
The face drifts between shotsToo many character reference images per segment; or a character is told to speak while absent from the frame; or the shot description restates their build and clothing, so the model regenerates them
Timing collapsesLine length does not reconcile with shot duration; the model averages a 10-shot segment into 3-second chunks
Segments don't connectThe final shot of segment N never states a freeze-frame, so segment N+1 opens on a different world
Platform rejectionSensitive-content terms buried in the prompts
AnachronismsA period kitchen stocked with stainless steel and ceramic tile

This plugin turns those into eight mechanical checks you can run in a second.

The eight checks

#CheckRule
R1Timing ledgerDialogue characters ÷ reading rate ≈ seconds, reconciled per shot. Shots under 2s are flagged; declared totals must match the sum of shot durations.
R2Reference budgetMax 2 character reference images per segment. Beyond two, identity weight is split and likeness degrades. Back-only references are useless for a face and get flagged.
R3Speaker / frame mismatchA lip-sync directive requires the referenced image to appear in the frame line. Otherwise the model invents a face. Also catches references to images that were never declared.
R4Appearance leakageShot descriptions may state what a character does, never what they look like. Restating appearance re-rolls the face.
R5Prompt hygieneProp and plate images must not depict hands or face fragments (they get welded into the image and contradict the video), and must not smuggle in modern objects. Negative-prompt tails are exempt — naming what must not appear is correct usage.
R6Freeze-frame chainThe last shot of a segment must end with an explicit freeze-frame. Missing it means the next segment starts on a different world.
R7Knowledge boundaryFlags wording that hints a character knows more than they could at that moment. Advisory — semantics need a human.
R8Sensitive-term scanA 21-term list scanned across the whole segment.

Every finding carries a shot number, the offending value, and a concrete fix.

Install

The plugin is an ordinary npm-shaped package with a dsh.bundle declaration.

# from a local clone
dsh plugin --profile web add link:/absolute/path/to/manju-fenjing-check

# or from a git source, once published
dsh plugin --profile web add "github:wujiaxiao69-arch/manju-fenjing-check#main"

Restart dsh web after installing a bundle, then confirm the mount:

dsh web --dump-config | grep manju-fenjing-check

Try it without installing

A patch overlay mounts the source file directly — good for hacking on the rules:

# scratch/dev.patch.yml
- insert:
    - id: manju-fenjing-check
      name: '/absolute/path/to/manju-fenjing-check/index.js'
dsh web --patch ./scratch/dev.patch.yml

The plugin path must be absolute; a relative path silently fails to resolve.

Tool signature

ParameterTypeNotes
storyboardstring, requiredThe full segment markdown: shot blocks, reference-image prompts, video-prompt section
chars_per_secondnumberReading rate for the timing ledger. Default 4
max_character_refsintegerReference budget per segment. Default 2

Returns { blocking, warnings, report }, where report is the rendered text above.

Test

node run-tests.mjs              # synthetic fixtures, 10 assertions
node run-tests.mjs segment.md   # also lint a real segment

No dependencies, no framework — plain Node.

Roadmap

  • Deterministic rule engine over the eight checks
  • DSH plugin wrapper (defineTool, inject: ['tools'])
  • R7 semantics: optional LLM pass for the knowledge boundary
  • Client-side panel (input pane, graded report card) instead of plain text

Related

manju-fenjing — the production-side skill: segment splitting, timing ledger, delivery-format export, four self-check scripts.

License

MIT

Comments

Loading…

Similar plugins

dsh-plugin-ai-drama

by HengryLiang

DeepSeek Harness 插件:AI 短剧工作区(立项/总纲/人物/剧本/分镜/导出)+「短剧模式」Agent 预设(34 个 drama_* 工具、9 个随包技能)· AI short-drama workspace plugin for DSH

UI & ExperienceManifest valid

★ 8

MIT

JavaScript

Nov 4, 2026

dsh plugin --profile web add dsh-plugin-ai-drama

by dongsheng123132

Verifiable narrative state, continuity and character-knowledge ledger for DeepSeek Harness

Tools & CapabilitiesModels & ProvidersManifest valid

★ 2

MIT

JavaScript

Nov 6, 2026

dsh plugin --profile web add dsh-narrative-ledger

by xuboboo

AI video production studio panel for DeepSeek Harness — storyboard, prompts, and shot pipeline. DSH 插件:AI 视频制片台。

Manifest valid

★ 0

MIT

JavaScript

Nov 8, 2026

dsh plugin --profile web add dsh-video

by zenstory-ai

A DSH plugin for novel writing and short-drama production, powered by Oh Story and Drama Skills.

Tools & CapabilitiesManifest valid

★ 175

↓ 820/wk

MIT

Python

Aug 24, 2026

dsh plugin --profile web add @oh-story/dsh

by NINKCH

A node-based short-drama studio inside DeepSeek Harness. Start from a one-line idea, walk out with a storyboarded, voiced, subtitled video cut — right on an infinite canvas.

Tools & CapabilitiesManifest valid

★ 142

↓ 3k/wk

Apache-2.0

JavaScript

Nov 10, 2026

dsh plugin --profile web add @ninkch/dsh-infinite-canvas

by lzxcs

DSH web UI performance recorder: auto-captures page jank (long animation frames, long tasks, frame freezes) with context snapshots, stored under ~/.dsh/perf/

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Aug 26, 2026

dsh plugin --profile web add lag-trace-pro