前言¶
DeepSeek Harness (DSH) 是一个以插件为核心组件的 Web GUI 环境。在开发涉及视觉输出的智能体时,往往需要在节点画布中直接生成图片或视频。dsh-vidgen-plugin 是为 DSH 开发的官方风格插件,旨在解决多平台模型调用、节点化工作流管理以及 Agent 工具集成的问题。
该插件提供了一套完整的视频与图片生成解决方案,包括 ComfyUI 风格的节点画布、多提供者配置管理,以及可直接供 Agent 调用的工具接口。
安装与启用¶
插件通过 pnpm link 的方式安装到当前 DSH Profile 中。
# 1. 克隆仓库
git clone https://github.com/xsluck/dsh-vidgen-plugin.git
cd dsh-vidgen-plugin
# 2. 进入 DSH Web Profile 目录
cd ~/.dsh/profiles/web
# 3. 修改 package.json,添加依赖与 Bundle 配置
# 在 dependencies 中添加:
# "dsh-vidgen-plugin": "link:/绝对路径/到/dsh-vidgen-plugin"
# 在 dsh.profile.bundles 中添加:
# ["dsh-vidgen-plugin"]
# 4. 安装
pnpm install
# 5. 重启 DSH
npx @deepseek-ai/dsh web
重启后,侧栏会出现 🎬 入口,设置页会出现「视频生成」卡片,Agent 工具列表中会出现三个新工具。
核心功能¶
节点画布工作室¶
插件在 DSH Web 界面中提供了一个基于节点的画布工作室,支持以下节点类型:
* 文生图
* 图生图
* 图源
* 文生视频
* 图生视频
* 关键帧
节点连线规则:
* 拖拽右侧圆点连接节点。
* 当输入图源为 1 张 时,节点行为为图生图。
* 当输入图源为 2 张及以上 时,节点行为为多图合成(通过 extra_body.image 数组传递)。
关键帧:
* 支持 2 到 3 张关键帧图片。
* 实测 3 张关键帧可成功出片。
画布快照:
* 新建画布会自动存档。
* 支持手动保存、加载、删除快照。
* 快照数量限制为 20 份。
操作:
* 本地图片上传限制为 ≤ 8MB。
* 支持缩放、平移、全屏悬浮以及点击放大查看。
* 支持单节点运行或「运行全部」。
多提供者设置¶
插件允许为视频和图片生成分别配置独立的提供者列表,每个列表可包含多个平台,并支持设为当前提供者。
配置流程:
* 在设置页的「视频生成」卡片中管理提供者。
* 新建、保存、删除、加载提供者,或测试连接。
* 「获取模型」功能:通过 apiUrl 和 Key 请求 GET {apiUrl}/models,自动过滤出视频或图片模型,并将列表第一个自动填入默认模型。
配置优先级:
用户提供者 > settings.yaml (dsh-video / dsh-imagegen) > draw-config.json > 系统兜底。
配置文件位置:
~/.dsh/vidgen-config.json (优先) 或系统临时目录。
Agent 工具¶
插件暴露了三个 Agent 工具,可直接在 DSH 智能体代码中调用:
list_video_models:列出当前视频提供者的可用视频模型。generate_video:mode='keyframes'+image_urls:关键帧模式。image_url:图生视频模式。wait=true:启用轮询,直到任务完成并返回 mp4 URL。
poll_video_task:根据task_id或video_id查询任务状态。
API 兼容¶
插件提供了 OpenAI 风格的接口兼容性,支持 /videos、/images/generations、/models。
视频轮询请求会发送至 {base}/agnesapi?video_id=…&model_name=…。
数据与文件位置¶
插件运行产生的数据存储在以下路径:
- 配置文件:
~/.dsh/vidgen-config.json - 画布快照:
~/.dsh/vidgen-snapshots.json - 生成历史:
~/.dsh/vidgen-history.json - 当前画布:
~/.dsh/vidgen-graph.json
注意:Base64 编码仅支持图生图链路。
开发与结构¶
插件采用官方插件包形式组织,主要包含以下部分:
- Host (
lib/index.js):注册tools、webServer、settings、shell,暴露 24 个 RPC 和 3 个 Agent 工具,服务端口为POST /dsh-vidgen/rpc。 - Client (
lib/client.js):挂载侧栏入口、设置卡、工作室 overlay 和工具面板 slots。 - Scripts (
scripts/*.js):子进程辅助脚本,负责配置读写、画布快照、历史记录、HTTP 请求和清理,无第三方依赖。
开发注意事项:
* 修改 lib/ 或 scripts/ 后必须重启 DSH 才会生效。
* 语法检查命令:npm test。
卸载¶
若需下线插件,请移除 package.json 中的相关配置并重启:
cd ~/.dsh/profiles/web
# 移除 dependencies 中的 dsh-vidgen-plugin
# 移除 dsh.profile.bundles 中的 dsh-vidgen-plugin
pnpm install
npx @deepseek-ai/dsh web
结语¶
dsh-vidgen-plugin 为 DSH 环境提供了一套完整的视频与图片生成解决方案。它通过节点画布实现了类似 ComfyUI 的可视化工作流,同时通过 Agent 工具和 OpenAI 兼容接口降低了开发门槛。开发者可以根据自身需求选择配置提供者或直接通过代码调用。