DeepSeek Harness Plugin: Compresses a video into a grid storyboard with numbered cells, accompanied by a text list containing timecodes, dialogue, and cut counts, enabling the model to answer "what happened at minute X"; 10-30 received 0.4.5, followed by consecutive releases from 0.5.0 to 0.5.4 over the next two days.
Star count 274
Reasons
- 0.5.2 adds a fifth tool, video_subtitles: It crops hard subtitles from the video frame by frame, stitches them vertically into a single long image with timecodes, and supports PVs, singing videos, and artistic text materials that lack subtitle tracks and cannot be transcribed by ASR.
- 0.5.3 / 0.5.4 address the issue of "cells being too small to see clearly": When pasting a link, the default download resolution changes from 360p to 720p (options: low / medium / high); the original single size parameter is split into budget (pixels per image, default 1.2M, approx. 700 visual tokens) and need (required clarity); a new segment parameter processes the video in 300-second chunks, with the list indicating where the next segment starts, and the list proactively alerts if the cell resolution falls below the required clarity.
- 0.5.0 license changed from MIT to Apache-2.0 (previous MIT versions remain unaffected); a new NOTICE states that paid content and DRM circumvention are not supported, and bulk scraping is prohibited; concurrent fixes include issues where video_zoom jumped to double the position after from > 0 or zoom, hotword changes still hitting old caches, and pip-installed yt-dlp not being found on Windows.
Usage
- winget install Gyan.FFmpeg (required); to paste video links, run pip install --user -U yt-dlp; install the plugin via node scripts/install-dev.mjs and restart DSH, then run node bin/doctor.mjs for a self-check.
- Start with video_probe; for long videos, use video_storyboard({ input, from: 0, segment: 300 }) to view segments sequentially; use video_zoom for important segments; explicitly pass size: "small" to save tokens; use video_subtitles for PVs without subtitle tracks.
Risks
- After the default budget increase, the token count per image roughly doubles; some README sections still cite the old figure of "384 tokens per image," so refer to the CHANGELOG; cost and clarity metrics are based on the author's self-testing.
- Dialogue extraction requires a separate ASR setup (initial local ASR installation takes over ten minutes) or existing subtitles; high-definition and member-only videos require exporting cookies, where SESSDATA acts as a login credential; the author also reminds users to verify video licensing themselves.