dsh-vision: Near-Native Image Understanding for DeepSeek Harness
oil-oil/dsh-vision
Native image understanding for DeepSeek Harness, enabling vision for text-only models.
dsh-vision enables text-only models in DeepSeek Harness to understand images by injecting vision observations, supporting multi-image joint analysis.
dsh plugin --profile web add github:oil-oil/dsh-vision- Category
- Tools & Capabilities
- Platform
- DSH-Plugin
- Author
- oil-oil
- Distribution
- Plugin
dsh-vision Key Features
dsh-vision Repository

dsh-vision Repo Summary
dsh-vision is a vision capability plugin (DSH plugin) for DeepSeek Harness, maintained by oil-oil under the MIT license, aiming to bring near-native image understanding to Harness. It solves the core problem: when the main model does not support image input, how to let DeepSeek models still produce final answers based on images. The plugin uses a separate vision model to observe original images and injects its output as attachment context, enabling text-only models to 'see' images. It does not replace the main model selected in Harness; instead, it works as a bridge, supporting multi-image joint analysis and forwarding user tasks unchanged.
What core features does the dsh-vision DSH plugin support?
- Native passthrough: When the main model supports images, original images are sent directly without preprocessing or OCR.
- Vision bridge: When the main model is
deepseek-officialor another text-only model, a configured vision model observes the images, and its output is injected as attachment context. - Multi-image joint analysis: Multiple image attachments are analyzed together, enabling comparisons and combined evidence.
- Fallback mechanism: When cloud vision is unavailable, it falls back to macOS Vision or Tesseract local OCR.
- see-skill compatibility: It can read configuration from
~/.config/see/config.env.
How to install dsh-vision?
Use the plugin manager built into DeepSeek Harness:
dsh plugin --profile web add github:oil-oil/dsh-vision
After installation, restart Harness, then paste or drag images into the composer as usual. The plugin replaces the official deepseek-official adapter while preserving its model catalog, settings, and credentials, and adds a Vision Recognition card to Settings → Plugins → Plugin configuration.
How to configure Vision Recognition in dsh-vision?
Open Settings → Plugins → Plugin configuration → Vision Recognition. Select ZenMux, Alibaba Cloud Model Studio, TokenDance, or OpenRouter, then enter its API key. The same card lets you change the model ID, API endpoint, and image limit. The API key is stored through Harness's official credential service and is write-only in the browser, ensuring security. Routing follows the user's choice: a provider selected in Vision Recognition is primary for text-only models; other enabled Harness vision routes and local OCR are failover only. Choose Automatic to skip plugin-managed cloud credentials and automatically try image-capable models already configured in Harness.
What advanced file configuration does dsh-vision support?
Most setups should use the UI. The equivalent non-secret fields live in the existing llm-deepseek section of $DSH_HOME/settings.yaml:
llm-deepseek:
visionBackend: zenmux
visionBackendModel: qwen/qwen3.7-plus
visionBackendBaseURL: https://zenmux.ai/api/v1
maxImages: 8
Do not put API keys in this file; save them in the Vision Recognition card or provide the matching environment variable. Changes apply without a restart.
Which DeepSeek Harness versions and platforms does dsh-vision support?
The plugin targets DeepSeek Harness 0.1.0-rc.6 exactly, as Harness is still in Developer Preview. It is written in TypeScript, depends on multiple official DSH packages, and supports macOS (leveraging macOS Vision as a fallback). The repository was created on 2026-08-14 and last updated on the same day, with no open issues.