
libinyam/dsh-vision-provider
40Last commit Aug 15, 2026
dsh-vision-provider DSH plugin
dsh-vision-provider is a community plugin for DeepSeek Harness that lets you choose a vision model (e.g., GLM-4.6V-Flash, Qwen VL Max, GPT-4.1 mini) as a sidecar. The vision model analyzes images and passes the description to DeepSeek V4 Flash, which still handles reasoning and final answer. It appears as a single provider in the Web UI with multiple selectable combinations.
How to install the dsh-vision-provider DSH plugin
dsh plugin --profile web add github:libinyam/dsh-vision-providerCopying does not run this command. Review the repository and version before installing the dsh-vision-provider DSH plugin.
dsh-vision-provider DSH plugin data source
dsh-vision-provider DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-vision-provider DSH plugin can do
- Selectable vision models under a single 'DeepSeek + Vision' provider in Web UI.
- Text-only messages bypass the vision endpoint entirely.
- Image messages are analyzed by the chosen vision model before reaching DeepSeek.
- Supports registering custom OpenAI-compatible vision endpoints via environment variables.
- Caches repeated image analysis within the same process to avoid re-analyzing on tool steps.
Where the dsh-vision-provider DSH plugin fits
- Add vision capabilities to DeepSeek Harness without changing the reasoning model.
- Choose between different vision models (GLM, Qwen, GPT-4.1 mini) per session.
- Use a locally hosted vision model (e.g., via Ollama) with the direct endpoint fallback.
- Integrate image analysis into DeepSeek-powered workflows that require visual context.
Who the dsh-vision-provider DSH plugin is for
- DeepSeek Harness users who need image understanding alongside DeepSeek reasoning.
- Developers building multi-modal AI applications that require controlled vision model selection.
dsh-vision-provider DSH plugin limitations
- Requires DeepSeek Harness 0.1.0-rc.5 or later and Node.js >=22.19.0.
- Vision model must be OpenAI-compatible (/chat/completions with image input) and configured with a valid API key.
- Direct endpoint fallback bypasses Harness provider retries, middleware, and token accounting.
- Not an official DeepSeek or OpenAI package; community project.
- Image analysis incurs separate provider charges and may impact privacy.
dsh-vision-provider DSH plugin: from the repository README
Quoted from the libinyam/dsh-vision-provider README, the upstream source of the dsh-vision-provider DSH plugin. Copyright remains with the original authors.
`dsh-vision-provider` gives [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) selectable vision choices under one `DeepSeek + Vision` provider: ```text DeepSeek + Vision GLM-4.6V-Flash Qwen VL Max GPT-4.1 mini (Vision) ``` Select only one combination in Harness. The vision model named in that selection is used behind DeepSeek: ```text Text-only message ───────────────────────────────> DeepSeek V4 Flash Image message ──> private vision sidecar ──> visual description │ └──> DeepSeek V4 Flash ──> answer ``` The vision model does not run as the final answer model. Instead, it appears as part of a selectable DeepSeek combination. DeepSeek still performs reasoning, tool use, and final response generation. > This is a community project. It is not an official DeepSeek or OpenAI > package. ## Why v0.3.0 exists Version `0.1.0` added a standalone model named `vision-openai`. DeepSeek Harness can select only one model for a session, so users had to choose either DeepSeek or the vision model. The two models could not cooperate. Version `0.2.0` introduced a runtime compo
Read the full READMERepository license: MIT
dsh-vision-provider DSH plugin questions
How do I install dsh-vision-provider?
Run `pnpm dsh plugin --profile web add github:libinyam/dsh-vision-provider` from your DeepSeek Harness directory. Make sure you have pnpm available and DSH_HOME set. Then start the web profile with `pnpm dsh web`.
Which vision models are supported?
Any OpenAI-compatible model that advertises both text and image input. The plugin ships with defaults for GLM-4.6V-Flash, Qwen VL Max, and GPT-4.1 mini. You can also add custom models via Settings > Models or environment variables.
Why can't I see the vision models in the model selector?
Ensure the model or its provider declares `input: [text, image]` in its settings. The plugin reads models that advertise image input. If you added a custom model, check its modality in Settings > Models or the YAML config. Also allow up to 30 seconds for the discovery cache to refresh, or restart the Web profile.
Do I need a separate API key for the vision model?
Yes, unless you use the direct fallback which reads `VISION_OPENAI_API_KEY` by default. You can change the environment variable with `DSH_VISION_API_KEY_ENV`. The DeepSeek key is configured separately in the native DeepSeek provider.
How does the plugin handle image privacy?
For text-only requests, no data is sent to the vision endpoint. Only image-bearing messages are sent to the selected vision sidecar with a fixed instruction for factual transcription. DeepSeek receives the generated description. Review both providers' privacy policies. The plugin does not log images or API keys.