good-boy4069/dsh-vision-guard
dsh-vision-guard
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-guardRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](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:
- Text-only models can't see images — paste a screenshot and the model has no idea it exists;
- 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-prokeeps 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_analyzetool (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:
…


