jyh20030112/dsh-visual-plugin
Dsh-visual-plugin.Give your text-only model eyes: forward user images to any OpenAI-compatible vision model an
dsh-visual-plugin gives text-only DSH models eyes: it analyzes user-attached images and videos and shows the results in a right-side Web UI panel, without changing the visible chat content (originals remain). Features: automatic image description (the wrapper adapter recursively describes uploaded images and image-bearing tool results in a model-bound copy while the visible chat keeps the originals); in-conversation lifecycle cards (analysis appears immediately below the source image and settles in place as success or failure; one logical analysis = one card); intent-aware prompts (send an image with a question and the description is generated from your own words); vision_describe tool (lets the model answer a later follow-up question when the automatic description lacks requested detail); plugin-owned video upload (accepts MP4, M4V, MOV, AVI, MPG/MPEG, MKV, WebM only when extension, signature, and FFprobe agree); scene-aware video analysis (normalizes to H.264/yuv420p MP4, extracts keyframes with PySceneDetect, asks the vision model for timestamped evidence, lets the current DSH text model answer); right-side panel (switch between image/video cards, play normalized videos, stage a selected video in the chat draft, inspect dependency health); secrets stay secret (API key in the harness credentials seam, write-only, never echoed); content-hash cache (same image transcribed at most once per process).
Install
dsh plugin --profile web add dsh-visual-pluginInstall from npm: dsh plugin --profile web add dsh-visual-plugin (npm 0.2.8, registry-verified 2026-08-23). Requires a vision model API key (configured in DSH credentials) for image/video transcription — the plugin prompts for this at first use. For video analysis: FFprobe must be in PATH (ships with ffmpeg). Optional sharp package for auto-downscaling large images (degrades gracefully without it). Restart dsh web after install. Remove with dsh plugin --profile web remove dsh-visual-plugin.
Compatibility
DeepSeek Harness web profile. Zero runtime dependencies. For image analysis: any configured vision model API key (API key stored in DSH credentials seam, write-only, never echoed). For video analysis: FFprobe in PATH (ships with ffmpeg); PySceneDetect for keyframe extraction; normalized to H.264/yuv420p MP4 before processing. Optional: sharp for auto-downscaling images above maxImagePixels. The right-side panel switches between image/video cards; normalized videos can be played directly in the panel.
Details
- Repo: jyh20030112/dsh-visual-plugin
- Category: Web UI Enhancements
- Stars: 10
- Version: npm package dsh-visual-plugin 0.2.8 (registry-verified 2026-08-23)
- Last push: 2026-09-02
- First seen: 2026-08-14
Recent updates
The current README documents: automatic image description (model-bound copy, visible chat unchanged), in-conversation lifecycle cards, intent-aware prompts, vision_describe tool, plugin-owned video upload (strict extension+signature+FFprobe validation), scene-aware video analysis (PySceneDetect keyframes, timestamped evidence), right-side panel (image/video cards, video playback, chat draft staging, dependency health), secrets in credentials seam, content-hash cache, zero runtime dependencies, Node.js requirements, FFprobe and optional sharp.
FAQ
- Does it change the visible chat?
- No — the adapter creates a model-bound copy with image transcriptions while keeping the originals in the visible chat; what you see is unchanged.
- What video formats are supported?
- MP4, M4V, MOV, AVI, MPG/MPEG, MKV, and WebM — only when extension, file signature, and FFprobe all agree on the format. Videos are normalized to H.264/yuv420p MP4 before processing.
- Does it work without a vision API key?
- No — a configured vision model API key is required for image/video transcription. The key is stored in DSH's credentials seam (write-only, never echoed). For local zero-config vision, consider flyvhidbwo-dsh-vision-proxy with Ollama instead.
Alternatives
Flyvhidbwo/dsh-vision-proxy · omdsh-dev-dsh-vision · oil-oil/dsh-vision