All-media (video/audio/image) sibling of liustack/modlens: turns local media into structured evidence (timeline / transcript / layout regions) injected into the conversation so text-only models can cite concrete frames, seconds and speakers — Evidence, not imagination. One failover chain per media, recorded hop-by-hop in meta.attempts (a fallback is never silent): host-registered multimodal models first, then a configured OpenAI-compatible endpoint (comma-separated multi-key rotation), then local ffmpeg frame-sampling / a local ASR CLI, degrading to metadata-only as a last resort. Absorbs modlens battle-tested rules — cooldown keyed only on auth/quota failures and softened to chain-tail (never dropped), redact-before-clip error text, magic-byte sniff that never trusts file extensions. Optional vision-bridge registers a media-lens wrapper into the host model selector so a pure-text model gains image/audio/video sight. Registering / authenticating multimodal models and true inline audio-video upload lean on two companion plugins, declared as optional peers (absence auto-degrades, never errors): dsh-thinking-levels fronts the model config / registration surface, dsh-llm-openai-completions takes over the OpenAI-compatible transport that serializes file blocks into video_url / input_audio. Privacy: media goes to remote providers by default; strictLocalOnly keeps content on-machine. Prerequisites not shipped with the package: ffmpeg/ffprobe on PATH (frame sampling / reencode / duration probe; degrades to metadata when missing) and a user-configured local ASR CLI for the audio fallback. Hosts 0.1.7 / 0.2.0 / 0.2.1 (6 rc, exact engines.dsh enum). npm: dsh-media-lens.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:drscrewdriver/dsh-media-lens
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
Links
More in this category
liustack/modlens★ 4389
Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).
ysr666/dsh-vision-router★ 1163
Free vision for text-only agents: built-in keyless vision chain plus pixel tools (Q&A, grounding, crop, pixel diff, colors, OCR, SVG trace, cutout, screenshots); paste an image to use it.
Anionex/dsh-vision-toolkit★ 902
Vision for text-only models: paste an image and the model switches to a Vision Toolkit variant for image Q&A, multi-image comparison, long-screenshot OCR, screenshot-to-UI reproduction, element grounding, and pixel diff. No API key by default — images are processed by the author-hosted free service, 100 per machine per day; configurable to your own provider.
dickpy/dsh-imagegen★ 132
AI image generation for the DSH Web GUI: text-to-image and image-to-image through a configurable OpenAI-compatible endpoint (gpt-image-2 / gpt-image-1 / dall-e-3), with an api_url/api_key settings card and a sidebar split-pane generation studio.
fandc520/dsh-comfyui★ 126
Drive a local or remote ComfyUI server from DeepSeek Harness: comfyui_run / comfyui_object_info / comfyui_workflow tools generate and edit images and videos, with a workflow library (graph extraction: per component / main flow / all), a load area with resolution auto-match, a live queue, SDXL and Wan 2.1 templates, a companion skill, and a same-origin media proxy.
sunxin-ai/dsh-design-qa★ 44
Design-fidelity QA for text-only models: a `deepseek_vision` tool borrows an eye from any OpenAI-compatible vision route, so the model can judge whether an implementation matches its mock — shipped with the benchmark behind that judgement (four fixtures, 23 injected defects, raw transcripts) and the questioning discipline it depends on.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.