DeepSeek Harness plugin

dsh-video-tools

Browser-local audio/video toolkit for DSH — extract frames, capture thumbnails, compress images, and convert clips to GIF with FFmpeg.wasm.

Jump to install

Source facts

Repository
PiedPiper911/dsh-video-tools
Latest update
Aug 19, 2026
Category
Tools & Capabilities
GitHub stars
0

Install

Start with a prompt that asks an agent to read the source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to read the page and repository first.

Do not install anything yet. Read this DeepSeek Harness plugin and explain what it does, which files, networks, or credentials it can access, and how to install and remove it.

Plugin page: https://deepseekplugins.org/plugins/PiedPiper911/dsh-video-tools
GitHub: https://github.com/PiedPiper911/dsh-video-tools
Plugin: dsh-video-tools
Author: PiedPiper911
Install command: dsh plugin --profile web add github:PiedPiper911/dsh-video-tools

Do not run the install command until I confirm.

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer2 files
README.mdSource · read only

dsh-video-tools 🎬

Browser-local audio/video tools for DeepSeek Harness (DSH), powered by FFmpeg.wasm.

No uploads, no servers — every operation runs in your browser via WebAssembly.

Install

dsh plugin add @piedpiper911/dsh-video-tools

Tools

ToolWhat it does
video_infoProbe a video's duration, resolution, and codecs without transcoding.
video_framesExtract evenly-spaced frames as JPEGs, or a single frame at a timestamp.
image_compressRecompress an image to JPEG at a target width to shrink it for vision models.
video_to_gifConvert a video clip to an animated GIF (two-pass palette optimization).

Example: give a vision model frames from a local video

1. upload the video → workspace
2. video_frames { input: "demo.mp4", count: 4 }
3. describe what you see in each frame

How it works

  • One shared FFmpeg instance is lazily loaded on first use and reused for the

whole session — the ~30 MB core downloads exactly once.

  • All I/O happens in FFmpeg's in-memory virtual filesystem; nothing touches disk.
  • Tool arguments are validated with the DSH schema DSL (defineTool), so the

model only ever sees well-formed inputs.

Development

npm ci
npm run build      # tsc → lib/
npm test           # vitest

License

MIT