前言¶
在 DeepSeek Harness(DSH)里做内容,常见需求是把报告、讲解稿变成可交付的视频,而不是每次在会话外手工拼 TTS、时间轴、画面和混音。通用剪辑工具可以出片,但难以和智能体会话里的剧本迭代、断点续跑和自动化验收绑在一起。下面介绍维护者 znlgis 发布的技能插件 @dsh-gis/dsh-video-studio-skill(GitHub 仓库 znlgis/dsh-video-studio-skill,分类:工作流):把「写剧本 → 配音 → 排轴 → 渲染 → 编码 → 混音 → 质检」收成一条可脚本化、可复现的链路,装成插件后技能随会话加载。
这是什么¶
插件当前版本为 0.9.1(package.json / README 徽章),许可证 MIT。npm 包名 @dsh-gis/dsh-video-studio-skill,技能目录名为 video-studio。定位是:用代码从零生成中文视频,零素材依赖仓库内程序化资源;旁白用 edge-tts,时间轴按 实测时长 编排,画面可走 PIL 或浏览器逐帧引擎,成片经 ffmpeg 编码,音频做采样级混音,并带多层自动质检与机读交付报告。
技能溯源 README 记载的 dsh-v 资产包 02-技能包-video-studio;后续版本 changelog 在仓库 CHANGELOG.md 与 skills/video-studio/SKILL.md 中维护。
核心功能¶
端到端流水线¶
README 概括的主路径为:
写剧本 → edge-tts 旁白 → 实测时长排时间轴 → 提示点驱动配乐与音效 → PIL 或浏览器逐帧渲染 → ffmpeg 编码 → 采样级混音 → 质检。
支持分阶段执行(如 --stage style、--stage layout、--stage accept 等,详见技能文档),以及 --resume 断点续跑、--run-id 将产物落到 work/runs/<runId>/。
风格与画面¶
- v0.5 起风格包:一个
styleid 同时影响画风(8 套主题 × 3 种版式)、配乐结构、旁白声线与节奏;"style": "auto"按内容自动选择。不写style字段时保持 legacy 行为(README 写明与 v0.4 一致)。 - v0.9 起场景语法:按内容选 10 类构图(hero / statement / list / stat / compare / process / quote / chapter / chart / outro),落
work/storyboard.json;配套视觉语言包与片内编排,减少「只换配色」的观感。新门禁 G13 剪影可区分(tools/silhouette_qa.py)。 - 画幅:README 写明当前只做 16:9 横屏,内部恒 1080p,编码时可下采样;720p 已实测全部门禁通过。
声音¶
- 程序化配乐与物理建模音效库,提示点与段落边界驱动 duck、whoosh 等细节(v0.7+ 内容指纹参与配乐结构;v0.7.1 强化旁白优先与
guard_snr_db)。 - v0.8.0:edge-tts WordBoundary 落
work/words.json,字幕可按词折行,cue 支持词锚点(如"l03:w2+0.1")。
质检与交付¶
- 四层质检(容器 / 信号 / 时间 / 页面),v0.8 起增 G0(渲前资源预检)、G10(词级时间戳)、G11(全片 VMAF/SSIM)、G12(ASR 回读)。
- v0.6 起机读
out/QC-REPORT.md,门禁账本区分 pass / fail / skipped;film.json契约校验(filmcheck.py)、开渲前tools/estimate.py成本预演。 - 仓库自带
tools/ci_check.py、selfcheck(v0.9.1 为 55 条回归断言,README 记载)。
批量与预览¶
README(v0.8.0)记载:--batch(≤100 条,开跑前全量预检、单条失败不阻断)、--preview N(前 N 秒出 mp4+gif)。
插件形态¶
package.json 要求 Node >= 20;插件通过 cordis.patch.yml 捆绑 skills/video-studio 及相关 tools/、schemas/。安装后在新会话的技能目录出现 video-studio。
安装与启用¶
命令行(README 原文)¶
dsh plugin --profile desktop add "@dsh-gis/dsh-video-studio-skill"
本地调试(不发布也能装,路径按本机修改):
dsh plugin --profile desktop add "D:/self/code/dsh-video-studio-skill"
桌面版¶
插件管理器中填写 @dsh-gis/dsh-video-studio-skill(或上述本地目录)。
安装后在 DSH「插件」页启用 video-studio 这一行,新开会话即可在技能目录看到该技能。
与手工技能目录冲突¶
技能按 rank 解析:~/.dsh/skills(rank 400)优先于插件 bundled 技能根(rank 600)。若曾手工安装 ~/.dsh/skills/video-studio,会遮住插件版。README 建议移出旧目录:
mkdir -p ~/.dsh/backup
mv ~/.dsh/skills/video-studio ~/.dsh/backup/video-studio.bak-$(date +%Y%m%d)
回滚时将目录移回 ~/.dsh/skills/video-studio 即可。注意:仅改目录名不够,.bak 后缀目录仍可能被扫描。
典型用法¶
会话内触发¶
README 列出的触发词包括:做一个视频、生成宣传片、把报告变成视频、做动画、配音配字幕、出成片,或提到 ffmpeg、edge-tts、逐帧渲染、字幕、分镜、配乐、混音等。
本机最短复现(模板片)¶
README「用法」与「效果」节:按 skills/video-studio/SKILL.md 第 1 节,在空目录拷贝模板资源后跑渲染。核心步骤形态如下(<SKILL_DIR> 为安装后的技能路径):
mkdir -p myfilm && cd myfilm
cp <SKILL_DIR>/assets/film.json .
cp <SKILL_DIR>/assets/scenes.py .
cp <SKILL_DIR>/scripts/*.py .
python render.py
默认模板跑通后,联系表等产物在 work/ 下;README 展示的是 work/qa/sheet.png 一类真实抽帧,非宣传修图。不同机器上 TTS 实测时长、AAC 编码会导致时长与响度在小范围内浮动,应以本机 SKILL.md §14 口径复测为准。
观察风格与分镜¶
同一份 film.json 只改 "style" 可对比 8 套气质(见仓库 docs/styles/sheet-8-styles.png)。调试时可执行:
--stage style:打印视觉语言(母题、转场、字距等)--stage layout:打印分镜并写work/storyboard.json
依赖与环境¶
成片链路依赖 Python 侧渲染脚本、ffmpeg、edge-tts 等(具体版本与可选组件以 SKILL.md 与 requirements.txt 为准)。浏览器路线涉及 README 关键词中的 playwright;未装 Node 时部分 CI/自检项可能被跳过(v0.8.1 changelog 对「跳过记为 PASS」等问题有过修正,升级前宜读 CHANGELOG.md)。
适用场景与注意¶
适合谁:需要在 DSH 会话里 repeatable 地生产中文讲解类、卡片式横屏短片;希望剧本、风格 id、门禁结论和产物路径都可审计、可脚本验收的开发者。
时间与成本:README 如实记载 v0.8 后全链耗时中 qa 可超过渲染本身(含 VMAF、ASR 等);开跑前可用 tools/estimate.py 预演。批量生产用 --batch,先接受单条预检逻辑。
权限与安全:插件随当前 dsh 进程权限运行,会执行本机 Python/ffmpeg 及读写工作目录。安装前应阅读仓库源码与 MIT 许可证(THIRD_PARTY_NOTICES.md 含第三方声明);社区目录 SkillHub 插件页 与 GitHub 无 DeepSeek / 幻方官方从属关系,属 DSH「一切皆插件」生态中的第三方工作流。
版本差异:legacy(不写 style)行为 README 承诺与旧版逐字节一致;web 引擎在 v0.9 场景语法上 README 写明不跟随,选用路线前应对照 SKILL.md。
结尾¶
@dsh-gis/dsh-video-studio-skill 把中文视频从「会话外的一次性工程」收成插件内技能:实测 TTS 时间轴、程序化视听、ffmpeg 交付与多层门禁写在同一条流水线里。若要查安装说明、changelog 与模板实测数据,请以仓库 README 与 SKILL.md 为准。