Introduction

In DeepSeek Harness (DSH), some model routes can natively process images, whereas some text-only providers cannot directly accept images as input. For agent developers, this means that text, layout, and color information within image attachments cannot enter the model context.

The following introduces dsh-pseudo-vision. It adds a layer of “tool-layer vision” to DSH’s text-only providers: converting image attachments into OCR text, color statistics, pixel scanning, and metadata, allowing pure text models to continue processing based on this evidence. All image processing is performed locally, without relying on external visual APIs.

What is it

dsh-pseudo-vision is a DSH plugin, maintained by DDDFXYqiming, licensed under MIT.

Its main function is to generate image-capable sibling routes for text-only providers:

dsh-pseudo-vision/<provider>

The plugin provides four tools locally:

vision_ocr
vision_color_stats
vision_pixel_scan
vision_meta

Among them, vision_ocr uses tesseract.js and supports chi_sim and eng; vision_color_stats and vision_pixel_scan use sharp. Once installed, the deepseek-official route automatically supports images, while native vision models continue to pass through directly.

Core Capabilities

The plugin revolves around “turning images into evidence that pure text models can read.”

  • Generates sibling routes for a specified provider, enabling text-only routes to support image input.
  • Converts image attachments into local evidence: OCR text, color statistics, pixel scanning, and metadata.
  • Evidence is tiered by turn: the most recent turn goes through the full pipeline, while earlier turns are downgraded to compact evidence, retaining the vision_ocr readback pointer.
  • Supports maxImages and maxTotalEvidenceChars limits per request; if limits are exceeded, unconverted placeholders and image processing summaries are retained.
  • All processing is completed locally, without depending on external visual APIs.

Installation and Usage

The plugin requires Node.js >=22.19 and packageManager to be pnpm@10.33.4.

GitHub Installation

Installation from GitHub is recommended, but requires an internet connection:

dsh plugin --profile web add github:DDDFXYqiming/dsh-pseudo-vision

This command is used to add dsh-pseudo-vision to the current web profile.

Local Path Installation

If you encounter schannel/pnpm interception on Windows, you can use local path installation instead:

git clone https://github.com/DDDFXYqiming/dsh-pseudo-vision.git
cd dsh-pseudo-vision && pnpm install && pnpm build
dsh plugin --profile web add <本机绝对路径>

First clone and build, then add the local absolute path to DSH.

pnpm Build Authorization

The first add with pnpm >=10 will refuse to run prepare build scripts. You need to write the package key to the profile’s pnpm-workspace.yaml allowBuilds, for example:

allowBuilds:
  dsh-pseudo-vision: true

After writing, re-run the installation command. This authorization should be regarded as “allowing this package’s code to execute locally during installation.” If you want to fix the installation content, you can lock the commit:

github:DDDFXYqiming/dsh-pseudo-vision#<sha>

Typical Usage

The plugin takes effect immediately after installation without additional configuration. The deepseek-official route will automatically support images. If other providers need to generate sibling routes, they must be enabled via bridgeProviders or bridgeOtherProviders.

Specify Provider

For example, generating sibling routes only for kimi-for-coding:

- id: dsh-pseudo-vision
  config:
    bridgeProviders: ["kimi-for-coding"]

This configuration only allows kimi-for-coding to obtain the bridged routes from dsh-pseudo-vision.

Batch Bridge Other Providers

You can also set bridgeOtherProviders to bridge all providers except excludeProviders at once:

    bridgeOtherProviders: true

Note: bridgeOtherProviders will create an extra entry for each model in the selector. Before enabling, you need to confirm that the number of routes in the selector meets expectations.

Common Configuration Options

The plugin supports the following configuration options:

bridgeProviders
bridgeOtherProviders
ocrBudget
ocrNoResize
evidenceMaxChars
maxImages
maxTotalEvidenceChars
fullEvidenceTurns

Among them, the range of maxImages is 1-32, the range of maxTotalEvidenceChars is 16000-320000, and the range of fullEvidenceTurns is 1-8.

Suitable Scenarios and Notes

This plugin is suitable for the following scenarios: you are using text-only providers in DSH and want the model to read text, colors, scans, and metadata from images, without wanting to introduce external visual APIs.

Notes before use:

  • The plugin runs with the permissions of the current DSH process. Before installing, you should check the source code, build scripts, and MIT license.
  • allowBuilds allows this package’s code to execute locally during installation; if you are concerned about changes to the installed content, it is recommended to lock the commit.
  • bridgeOtherProviders: true will increase the number of route entries in the model selector; it is recommended to confirm the number of routes first.
  • If a single request exceeds the limit, unconverted images will leave placeholders and image processing summaries.

Links

GitHub repository:

https://github.com/DDDFXYqiming/dsh-pseudo-vision

The DSH community directory is a separate site; this article does not include unverified directory URLs, which can be viewed from the plugin directory entry point.