DSH Hub

good-boy4069/dsh-vision-guard

dsh-vision-guard

BundleVision0 GitHub stars· updated 2026-08-15

dsh-vision-guard is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-vision-guard

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-vision-guard DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-vision-guard.svg)](https://dshhub.dev/plugins/dsh-vision-guard)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from good-boy4069/dsh-vision-guard, cleaned of badges and images.

dsh-vision-guard

English | 中文

Let text-only models "see" images — and never let an image deadlock your session. Transparent image guard + vision analysis tool for DeepSeek Harness (dsh).

Most models on DeepSeek Harness (deepseek-v4-pro etc.) are text-only, which causes two problems:

  1. Text-only models can't see images — paste a screenshot and the model has no idea it exists;
  2. worse, the 400 deadlock: some gateways (e.g. opencode-go's main route) accept text only. Once an image block lands in the session log, every subsequent turn replays the whole history with the image to the upstream → 400 unknown variant \image_url`` → the conversation is stuck forever.

This plugin fixes both with two gates, and turns images into text the main model can actually consume.


What it does

paste image → [Gate 1] agent/pre-step: the image is converted to text by the vision
              model BEFORE it is ever written into the session log
              → the log only contains text, no image block exists
              → [Gate 2] llm/stream backstop: if an image block still appears in
              replayed history (e.g. a session poisoned before install), it is
              rewritten to OCR text at request time before reaching the model
  • Vision model = eyes, main model = brain: deepseek-v4-pro keeps reasoning; image content arrives as text.
  • Heals already-deadlocked sessions: a conversation stuck on 400 before install works again after install (history images are rewritten at request time).
  • vision_analyze tool (model-invoked, engine chosen by the model per task): reads workspace files — image OCR, PDF text layer + embedded images, docx/pptx text + embedded images, video frame OCR (≤12 frames), plain text files; loud rejection for xlsx/doc.
  • Native vision unaffected: routes that genuinely accept images (e.g. minimax-m3, kimi-k3) pass through untouched once whitelisted.

What makes it different (vs. community vision plugins)

Compared with dsh-vision-router, ModLens, dsh-vision-toolkit, see_image/view_image and similar:

Related plugins