Introduction

If you are using a text-only DeepSeek main agent in DSH (DeepSeek Harness), a common trouble is: wanting to process images directly in the chat entry, but not wanting to bypass the official DeepSeek adapter’s main session logic.

dsh-deepseek-vision-router is a DSH plugin for this scenario. It first sends the image to the configured vision model to generate a text description, then hands the description to DeepSeek, while letting the official DeepSeek adapter continue to be responsible for the main session, reasoning, streaming, tools, and retries. Below is an introduction to its positioning, capabilities, installation, and usage path.

What is this

dsh-deepseek-vision-router is a DSH plugin maintained by mochgolf, positioned as Transparent image preprocessing route for DeepSeek Harness.

The problem it solves can be summarized as: allowing a text-only DeepSeek main agent to receive images directly from the DSH chat composer, and converting the images to text descriptions via a separate deepseek-vision route before entering DeepSeek.

This is not a native multimodal alternative, but an image preprocessing bridging path.

Core Features

  • Enables a text-only DeepSeek main agent to receive images directly from the DSH chat composer.
  • Adds a separate deepseek-vision route.
  • Image analysis is performed via an existing provider in DSH Settings → Models.
  • The official DeepSeek adapter continues to handle the main session, reasoning, streaming, tools, and retries.
  • The plugin only saves visionProvider and visionModel to DSH’s native settings namespace.
  • Configuration changes take effect on the next image request; no restart is required.
  • Supports selecting DeepSeek + Vision in the DSH model menu.
  • Successful image descriptions use a bounded, process-local cache.
  • Descriptions are marked as untrusted image content before entering DeepSeek.
  • The plugin does not copy or save provider endpoints or credentials.
  • Image bytes are sent to the configured vision provider; DeepSeek receives the resulting text description, not pixels.

Installation and Enablement

First, confirm the version. Verified compatibility data indicates:

  • DSH 0.1.0-rc.6
  • Node.js 24+
  • mcp-vision-bridge 0.2.7

Other versions might be usable, but compatibility is not tested based on the provided materials.

Installation command:

dsh plugin --profile web add github:mochgolf/dsh-deepseek-vision-router

After execution, configure the vision provider and vision model in DSH’s settings page, then select DeepSeek + Vision in the model menu.

Typical Usage

  1. Open Settings → Models, add or reuse an image-capable provider.

This step only reuses DSH’s existing model settings and does not change the provider management method.

  1. Open Settings → Plugins → DeepSeek Vision, select the provider from before, and save the vision model.

The plugin only saves two settings:

visionProvider
visionModel
  1. Fill in the vision model.

The vision model field defaults to mimo-v2.5, but you can also enter any model ID exposed by the selected provider.

  1. Select DeepSeek + Vision in the DSH model menu.

New sessions can use it as the default provider; existing sessions will retain their recorded provider until manually switched.

  1. After saving the configuration, send images directly.

Changes take effect on the next image request; no need to restart DSH.

Applicable Scenarios and Notes

Suitable for

  • Your DSH main agent is a text-only DeepSeek.
  • You already have an available vision provider in Settings → Models.
  • You want images to be described as text before being processed by DeepSeek.
  • You want the official DeepSeek adapter to continue managing the main session, tool calls, and retry logic.

Notes

  • This is a preprocessing bridge, not native DeepSeek multimodality.
  • The cache is bounded and process-local; it will not persist after DSH restarts.
  • The analysis prompt comes from the mcp-vision-bridge internal module; changes in the upstream directory may require compatibility handling.
  • Images are sent to the configured vision provider; DeepSeek receives a text description, not pixels.
  • Provider endpoints and credentials are still managed by DSH Settings → Models; the plugin only saves visionProvider and visionModel.
  • The plugin runs with the current DSH process permissions; you should check the source code and license before installing.
  • Verified materials do not show the license text.

Conclusion

The value of dsh-deepseek-vision-router lies in turning “images entering a DeepSeek text main agent” into a controllable DSH route: the official adapter still manages the main dialogue, visual analysis goes through the configured provider, and the plugin only saves a few settings items.

GitHub repository: https://github.com/mochgolf/dsh-deepseek-vision-router
Directory page address: Verified materials did not provide.