Introduction

After setting DeepSeek-V4-Pro as the main model in DSH, pasting a screenshot into the session causes the interface to reject it directly as if it were a text-only model—V4-Pro does not support image input natively. Common workarounds involve temporarily switching the main model to a vision model or manually pasting the description back after identifying the image elsewhere; both of these interrupt the original workflow.

dsh-pro-vision solves this problem: it does not switch the main model, allowing Pro to utilize images within the session.

What is it

dsh-pro-vision is a DeepSeek Harness plugin authored by lasdrder0705, version 0.1.0, with an MIT license. It works by first handing images from the session to deepseek-v4-flash-vision-exp for identification, and then passing the resulting text description to DeepSeek-V4-Pro. The entire process is transparent to the user, with the main model always remaining Pro.

The plugin is a pure JavaScript implementation with no native dependencies, installable with the same command on macOS / Windows / Linux. It requires Node >= 20.

How it works

According to the README, the plugin behaves as follows:

  1. The Web UI or read_image can pass images to Pro.
  2. The plugin first calls deepseek-v4-flash-vision-exp to identify the image.
  3. It formats the identification description as [Image N] ... and sends it to Pro.
  4. The same attachment is cached within the process, so subsequent turns do not re-identify the image.

In the actual request sent to Pro, the image is replaced with the Flash Vision text description—Pro always receives text. If you directly select deepseek-v4-flash-vision-exp in the session, the plugin will not intervene.

Installation

Use the same command for the Web UI on Mac / Windows / Linux:

dsh plugin --profile web add github:lasdrder0705/dsh-pro-vision

Restart dsh web after installation.

If running directly on Windows results in an error, try adding quotes to the repository address:

dsh plugin --profile web add "github:lasdrder0705/dsh-pro-vision"

Or use npx instead:

npx @deepseek-ai/dsh plugin --profile web add github:lasdrder0705/dsh-pro-vision

This repository has no build scripts, so configuring allowBuilds is generally not needed. The uninstall command is:

dsh plugin --profile web remove dsh-pro-vision

Enabling Image Upload for Pro

Installing the plugin is only the first step. You also need to declare image input for Pro in $DSH_HOME/settings.yaml; otherwise, the interface will still reject image uploads as if it were a text-only model:

llm-deepseek:
  models:
    - id: deepseek-v4-pro
      name: DeepSeek-V4-Pro
      inputModalities: [text, image]

The inputModalities here simply allows the interface to accept images. The setting is dynamic and will take effect in the next turn without needing a restart.

Optional Configuration

The plugin’s optional configuration is written in the profile’s cordis.patch.yml:

- id: dsh-pro-vision
  config:
    provider: deepseek-official
    visionModel: deepseek-v4-flash-vision-exp
    textModels:
      - deepseek-v4-pro
    maxVisionTokens: 8192
    visionReasoningEffort: high

Configurable options include provider, visionModel, textModels, maxVisionTokens, and visionReasoningEffort. It works without configuration; the values above come from the README example.

Also, regarding dependencies: the plugin requires @deepseek-ai/cordis >=4.0.1 <5, @deepseek-ai/dsh-llm >=0.1.0-rc.6 <0.2.0, and @deepseek-ai/dsh-system-prompt >=0.1.0-rc.6 <0.2.0, with Node.js version 20 or higher.

Use Cases and Notes

The suitable scenarios are clear: the main model is fixed as DeepSeek-V4-Pro, but you occasionally need to feed image content like screenshots or photos, without wanting to switch models or manually move image recognition results. If image recognition is your main task, using deepseek-v4-flash-vision-exp directly is more appropriate, and the plugin will not intervene in this scenario.

Before installation, there are two things you should do:

  1. The plugin runs with the permissions of the current dsh process; check the repository source code before installing.
  2. Confirm that the license (this project is MIT) meets your usage requirements.

Conclusion

What dsh-pro-vision does is not complicated: it adds a layer of image recognition bridging between Pro and the image, using a single sub-call to restore the continuity of main model usage. If you are stuck on “Pro cannot paste images,” it is worth a try.

  • GitHub: https://github.com/lasdrder0705/dsh-pro-vision
  • Community Directory Page: https://www.skillhub.cn/plugins/lasdrder0705/dsh-pro-vision

The directory page is a community-maintained independent site with no official affiliation to DeepSeek or Hypothesis; installation and usage should follow the repository documentation.