Back to home@jonah791

dsh-video-studio

DSH 视频工作台插件:把视频工厂(TTS/配乐/混音/Remotion 渲染/多级质检/主题脚手架)封装为工具面,支撑创作任意视频

Stars
0
Language
TypeScript
Created
Sep 10, 2026
Updated
Sep 10, 2026

Introduction

dsh-video-studio — 视频工作台插件

version license TypeScript

E:\video studio(AI 视频自动化工厂)接入 DSH:在会话内造任意视频——不限既有范式。

不是「快讯流水线封装」,而是把视频工厂还原成通用原语。原范式(日更 GitHub 快讯)只是其中一个用法; 你可以用任意主题建新项目、写自己的场景组件、喂任意 props 渲染出任意片子。

能力面(10 个工具)

工具干什么覆盖的范式边界
video_env环境体检:解释器/模型资产/ffmpeg/主题数/项目数/后台能力先确认前提,再动手
video_catalog能力清单:23 主题 + 已有项目及其组合 + 16 个脚本登记(id/解释器/参数/已知陷阱)「我能做什么」的自知面
video_scaffold任意主题建新 Remotion 项目(neon-cyber / swiss-ikb / terminal-green / newsroom …)跳出快讯形态的起点
video_render渲染任意项目任意组合,支持 props / 分辨率 / 帧率 / 编码 / 帧区间写一次组件,喂不同数据出不同片
video_tts文本(Markdown)→ 口播音频,可指定任意输入输出目录不再绑定快讯项目
video_bgmAI 配乐:任意时长 / 风格 / 自定义 prompt / 种子 / 输出风格不限于内置五种
video_mix口播 + BGM ducking 混音(阈值/比率/淡出/EQ 可调)通用
video_qa9 类质检:render / video / vlm / asr / aesthetic / rhythm / sensitive / bgm / sync质检面向任意产物
video_cover封面 still + 尺寸/黑屏校验
video_run逃生舱:按登记契约跑任意脚本并原样追加参数未封装的 flag 与新脚本不必等我改插件

安装

cd <你的 self-plugins 目录>
git clone https://github.com/jonah791/dsh-video-studio.git
cd dsh-video-studio
npm install      # 只装 devDeps(.npmrc 已禁 peer 自动安装,避免模块双实例)
npm run build

挂载到 profile 后在 config 里给 studioRoot

- insert:
    - id: agent-video-studio
      name: dsh-video-studio
      config:
        studioRoot: E:/video studio
        defaultProject: projects/news-flash

配置

默认说明
studioRootE:/video studio视频工厂根目录
defaultProjectprojects/news-flash省略 project 参数时的默认项目
timeoutMs600000前台执行超时
outputLimitBytes65536单次返回的输出上限(防日志打爆上下文)
enableLongJobstrue长任务是否走 DSH 后台 job

技术要点

  • 长任务走 DSH 官方 ctx.jobs:渲染/合成/脚手架/VLM 审片返回 jobId,用既有 job_output/job_kill 收集与终止——不另造 job 协议。
  • jobs 是可选服务:不进 inject(cordis 的 inject 是激活门),改用 ctx.get('jobs');缺 jobs 时全部降级为前台执行。
  • 一律 spawn(command, argsArray):工作空间路径含空格(E:/video studio),shell 拼接必踩引号地狱;数组传参零转义。
  • 路径参数强制绝对化generate-bgm.py / fetch-ai-news.py--outCWD 解析,不绝对化就会写偏。
  • 不复制 @deepseek-ai/* 到本地.npmrc 禁 peer 自动安装,运行时解析向上走到宿主链接层——避免「模块双实例」(一份代码两个 instanceof 世界)。
  • 参数构造纯函数化buildArgs):位置参数顺序、空值裁剪、--flag value 空格分隔(兼容手写 argv 的 render-qa.py)全部离线可测。

已知边界(诚实声明)

  • 不是沙箱:插件只负责调用视频工厂脚本,脚本自身的权限就是它的权限。
  • 依赖本机资产tools/(约 9.7G 模型 + 两套 Python 环境)不入 git,换机须按该工作空间 tools/README.md 重新获取;video_env 会如实报缺。
  • 脚手架需 bash + npm + 网络scaffold.sh 依赖它们;WSL 不可用且无 git-bash 的环境下会明确报错。
  • 退出码语义不统一(源脚本如此,非本插件所致):render-qa 无参=2、rhythm-check FAIL=2、 asr-check/sync-durations --check 用非 0 表示「提示」。video_qa 原样透出 code,不替脚本重新解释。
  • synthesize-qwen3-gpu.py 尚无 CLI:只有环境变量入口,须用 video_run 按其约定摆文件,或先给它加 argv。

生态

License

MIT