Skip to content

dsh-visual-plugin

Verified

dsh-visual-plugin · v0.3.0 · MIT · Web UI

Visual media plugin for DeepSeek Harness: copy native image descriptions and securely normalize, inspect, and play scene-aware videos.

Install

dsh plugin add dsh-visual-plugin

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Published to npm without a public repository. Inspect the package contents before installing.

Creators

Readme

dsh-visual-plugin

DeepSeek 霓虹像素鲸鱼

npm version npm downloads GitHub stars MIT license
TypeScript zero runtime deps

使用 DSH 原生视觉模型解析图片与视频, 并在 Web UI 右侧面板查看结果。

English · 简体中文

DeepSeek Harness 插件。

特性

  • 原生图片理解 —— 上传图片始终走 DSH 原生附件与模型链路;插件不再配置或调用独立视觉模型。
  • 可复制的图片历史 —— 右侧面板在图片缩略图旁记录当前 DSH 模型的最终回答,支持展开历史和一键复制。
  • 插件自有视频上传 —— 支持 MP4、M4V、MOV、AVI、MPG/MPEG、MKV 和 WebM;扩展名、文件签名与 FFprobe 结果必须一致。
  • 视频场景解析 —— 统一转为 H.264/yuv420p MP4,通过 PySceneDetect 提取关键帧,再将有序、带时间戳的图片交给当前 DSH 视觉模型。
  • 右侧面板 —— 在图片/视频视图间切换,直接播放标准化视频,并将选中视频写入会话草稿。
  • 视频高级设置 —— 可在插件设置卡中调整上传大小、存储配额、时长、输出尺寸、FPS、CRF 和关键帧数量。

工作原理

dsh web 右侧面板中的图片与视频解析流程

图片 → DSH 原生附件 → 当前视觉模型 → 最终回答
  → /vision-bridge/recent → 面板缩略图 + 可复制描述

视频 → 容器校验 → H.264/yuv420p 标准化 → PySceneDetect
  → 带时间戳关键帧 → DSH 原生图片附件 → 当前模型回答

插件不会改写模型消息,也不会调用私有视觉接口。发送图片或询问视频前,请在 DSH 中选择支持图片输入的模型。

快速开始

视频功能需要宿主机预先安装 FFmpeg/FFprobe >= 6.1(同一主版本,含 libx264)和 PySceneDetect >= 0.7.1 < 0.8

ffmpeg -version
ffprobe -version
python -m pip install 'scenedetect[opencv]>=0.7.1,<0.8'
scenedetect version

插件不会自动下载或执行安装脚本。缺少依赖时图片功能仍可用,设置页会列出视频依赖问题。

dsh plugin --profile web add dsh-visual-plugin   # 或:github:jyh20030112/dsh-visual-plugin

若使用本地 DeepSeek Harness 源码开发,请改为链接本地插件目录:

cd /absolute/path/to/dsh-visual-plugin
npm run bootstrap
dsh plugin --profile web add link:/absolute/path/to/dsh-visual-plugin

bootstrap 会自动查找同级或祖先目录旁的 Harness 检出。其他布局请显式指定:

HARNESS=/absolute/path/to/deepseek-harness npm run bootstrap

重启 dsh web 后:

  1. 打开 设置 → 插件 → 插件配置,展开 视觉媒体 卡片。通过 侧边栏 开关控制右侧面板,并按需调整视频解析高级设置。
  2. 在 DSH 中选择支持图片输入的模型;插件不再提供单独的视觉模型配置。
  3. 发送图片。当前模型会原生回答,图片面板会记录缩略图和最终回答,方便复制。
  4. 点击输入框旁的 上传视频。处理完成后在右侧选择 视频 播放;点击 在会话中提问 只会写入草稿,确认后再发送。

视觉模型

图片与视频关键帧均由 DSH 当前选择的视觉模型理解。模型提供方、接口和凭据统一由 DSH 管理,插件不再重复配置。

卸载

dsh plugin --profile web remove dsh-visual-plugin

重启 dsh web。该命令会在 profile 内转发执行 pnpm remove,bundle 层列表会自动同步移除该插件。

项目结构

src/
  index.ts      原生图片历史、video_describe 工具、设置与 HTTP 路由
  config.ts     视频解析高级设置与运行时策略
  video/        上传、容器探测、转码、场景检测、关键帧与 HTTP Range 播放
  client/       图片/视频面板、上传控件、高级设置、文案与样式
cordis.patch.yml  bundle 补丁层

构建

npm run bootstrap && npm run typecheck && npm run build   # 需要本地 harness 检出

预构建 lib/ 已提交,使用者无需构建。

CI/CD

ci.yml 在每次 push/PR 校验产物与打包内容;release.yml(tag v*)校验版本、打包、创建 GitHub Release 并发布到 npm。

相关资源

致谢

  • HsiangNianian — 感谢开发过程中的帮助与建议。
  • tingfeng347 — 感谢构建稳定性修复与本地 harness 开发环境的完善。
  • dsh-auto-continue — 网络错误等异常导致请求被中断时自动发送「继续」恢复的 DSH 插件(错误分类、自适应退避、浏览器通知),很好用的搭配。

许可证

MIT