READMESource: main@a7b0e6b3
dsh-videogen
DeepSeek Harness 视频生成插件:把「文生视频 / 图生视频」接进 DSH 的 Web 界面与 Agent 工具链。
非官方插件:本项目为社区作品,与 DeepSeek 官方无关,未获官方背书。DSH 仍处于 Developer Preview,插件接口可能随版本变化。
功能
- 渠道管理:内置智谱 CogVideoX 协议适配(
POST /videos/generations+GET /async-result/{id}异步轮询),支持多渠道、多模型别名。密钥只存本地,浏览器读到的是掩码。 - 任务队列:提交后后台轮询,任务记录(最近 200 条)与成品视频(
videos/<taskId>.mp4)落盘在~/.dsh/dsh-videogen/;宿主重启后未完成任务标记失败,不会出现永远转圈的卡片。 - Web 面板:左下角 🎬 按钮 → 提交表单(模型/尺寸/时长/画质/声音)+ 渠道设置 + 任务列表 + 播放器。桌面壳经结构化注入行加载(whale-widget 同款通道,注入失败不影响启动),Web 端走 tapIndex。
- 流媒体:
/dsh-videogen/media?taskId=支持 HTTP Range,视频可拖动进度条。 - Agent 工具:
videogen_generate(提交并等待,超时返回 timedOut 可稍后查询)、videogen_tasks(查询单个/最近任务与可用模型)。
兼容性
| 项 | 要求 |
|---|---|
| DSH | >=0.2.1-rc.2 <0.3.0-0(在 0.2.1-rc.2 desktop profile 上实测通过) |
| Node.js | >=22.19.0 |
| 第三方依赖 | 无。仅使用 Node 内置模块与相对导入,无构建步骤 |
安装
# 从本地目录安装进目标 profile(web / desktop)
dsh plugin --profile web add "file:/绝对路径/dsh-videogen"
# 或先从 GitHub 克隆
git clone https://github.com/pink-sys/dsh-videogen.git
dsh plugin --profile web add "file:$PWD/dsh-videogen"
桌面版(DSH Desktop)的 profile 由应用独占管理,命令行安装会报错;请用 设置 → 内置插件 → 添加插件 走图形界面。
装好后重启 DSH,左下角出现 🎬 按钮即生效。
使用
- 点左下角 🎬 → ⚙ 渠道设置 → 填入智谱 API 地址(默认
https://open.bigmodel.cn/api/paas/v4)与 API Key → 保存。 - 写描述 → 生成视频;或在对话里让 Agent 调
videogen_generate。
已知限制
- 只适配智谱 CogVideoX 协议。阿里 DashScope、火山 Seedance、Google Veo、OpenAI Sora 等需要另行实现协议适配(
lib/runtime.js的submit/poll是接入点)。 - 依赖未公开的宿主接口:桌面壳的
webserver/index-inject注入行与webServer.register/tapIndex均非官方文档化 API。DSH 升级可能破坏它们——这正是上表把版本范围收窄到 0.2.x 的原因。注入失败不会阻断 DSH 启动。 - 图生视频未实现(面板与工具目前只有文生视频)。
- 未在 web profile 上实测,仅在 desktop profile 验证。
- 生成结果保存在
~/.dsh/dsh-videogen/videos/,不会自动写进工作区,需要长期留存请自行复制。
文件
lib/runtime.js— 协议适配 + 任务引擎(无宿主依赖,可单测)lib/index.js— cordis 插件入口:路由、注入、日志lib/tools.js— Agent 工具定义assets/panel.js— 自包含面板(无框架、无构建)test-runtime.mjs/test-plugin.mjs— mock 上游端到端 + 插件冒烟测试
npm test # 跑两个测试
npm run check # 语法检查
已验证
- runtime 全链路(mock 智谱上游):提交 → 轮询 → 下载 → 落盘 → 取消 ✅
- 插件入口:注入行注册/去重、tapIndex、7 条路由、配置掩码与密钥保留、同源校验、路径守卫、工具注册 ✅
- 真实宿主:DSH 0.2.1-rc.2 desktop 重启后
/dsh-videogen/config、/tasks、/panel.js均返回 200 ✅ - 真实上游生成需在面板里配置 API Key 后实测(CogVideoX-Flash 单条约几分钱起)。
与同类插件
DSH 生态已有多个视频生成插件,功能普遍比本插件完整。若你只要开箱即用的成品,优先考虑它们:
| 插件 | 上游 | 相对本插件的优势 |
|---|---|---|
dsh-video-gen(npm) |
DashScope / 火山 Seedance / Google Veo / OpenAI Sora | 四家上游、图生视频、会话内播放卡片、视频画廊、Settings 可视化配置 |
dsh-free-media |
智谱 CogVideoX-Flash / Agnes | 免费路线、零 Key 出图、视频抽帧理解;与本插件上游相同但更省事 |
dsh-video-gen(GitHub) |
MiniMax H3(easyframe) | 五种生成模式(首尾帧/续写/多参考)、Studio 工作台 |
dsh-vidgen-plugin |
多平台 | ComfyUI 风格节点画布、多图合成、画布快照 |
Video-Director |
本地 / 多 provider | 可视化节点编排工作流 |
注意 dsh-video-gen 这个包名已被两个不同作者分别使用(一个在 npm,一个在 GitHub),发布前务必确认命名冲突。
本插件的差异点在于零第三方依赖、无构建链(纯 ESM + 原生 JS,约 1.8k 行)、内置 Range 流媒体与本地落盘任务队列(宿主重启不留僵尸任务)。适合作为「自己接一家新上游」的参考实现,而非功能最全的选择。
License
MIT,见 LICENSE。
接口写法参考了同为 MIT 的 dsh-whale-widget 与 dsh-comfyui(桌面壳注入通道),未复制其代码。
No comments yet. Be the first to write one.