AI Agent Hub
Back to plugins
🤖

dsh-vision

Model Inference Updated 2026.08.14

Run the following command in DeepSeek Harness:

dsh plugin install lakeofsky347/dsh-vision

Paste the following prompt into your AI chat to install this plugin:

Run dsh plugin install lakeofsky347/dsh-vision in your DeepSeek Harness session to install the plugin, sourced from https://github.com/lakeofsky347/dsh-vision.

About this plugin

When a DeepSeek Harness route points to a text-only model, any image attachment triggers UNSUPPORTED_CONTENT and the entire turn collapses. dsh-vision closes that gap: it lets text-only routes handle image attachments gracefully, so users do not need to switch profiles or retype descriptions by hand.

Under the hood, a lightweight listener sits on the llm/stream waterfall. If the request carries no image blocks it passes through with zero overhead. If the routed model declares an image modality natively, the request also passes through untouched. Only when a text-only model encounters image blocks does the listener step in: it sends each image to a vision model (default xiaomi/mimo-v2-omni), replaces the image blocks with generated text descriptions, rebuilds the request, and re-enters llm.stream with a re-entry guard. Descriptions are memoized per session and attachment id, so replayed history reuses cached text instead of billing repeated vision calls. A failed vision call degrades to placeholder text so the turn never breaks, and concurrent image-bearing turns are isolated via a WeakSet identity marker with no global state.

Best suited for users who rely on text-only routes in DeepSeek Harness but still want to drop in a screenshot or photo occasionally. It works out of the box after install, and the Schemastery Config schema exposes provider, model id, prompt, cache toggle, and maxTokens for fine-tuning without touching source code.

Use Cases

  • Attaching screenshots or photos in a text-only route session
  • Replaying conversation history with image attachments without re-billing vision calls
  • Handling concurrent image-bearing turns in isolation without global state

Best For

  • DeepSeek Harness users on text-only routes who occasionally attach images
  • Developers who want to eliminate UNSUPPORTED_CONTENT turn failures without switching profiles
  • Advanced Harness users who need to customize the vision provider, model, and prompt