DSH Marketplace

dsh-vision-router

ysr666/dsh-vision-router

Free vision for text-only agents: built-in keyless vision chain plus pixel tools (Q&A, grounding, crop, pixel diff, colors, OCR, SVG trace, cutout, screenshots); paste an image to use it.

40219JavaScriptMITSource

Install

Add dsh-vision-router to DeepSeek Harness

via npm

Resolves a published tarball rather than cloning the repository, and installs without any extra setup. Swap `web` for your profile name if you run another one.

via GitHub · npm package

Installing from GitHub runs the project's build script, which pnpm blocks until you allowlist it — run the command once and pnpm prints the exact key to add under `allowBuilds` in ~/.dsh/profiles/web/pnpm-workspace.yaml.

Due diligence

Before you install dsh-vision-router

  • Source of record: ysr666/dsh-vision-router — present in the community registry that DSH's own plugin market installs from.
  • Licensed under MIT.
  • Detected: terminal surface. Read the source before granting these.
  • A listing here is not a security review. Plugins run with your agent's permissions.

What dsh-vision-router does

Image tiles pass through model gates and a lens, producing crops, pixel comparisons, traced contours and screenshots.

dsh-vision-router is a DeepSeek Harness plugin that routes image turns to vision models while leaving DeepSeek responsible for reasoning. It keeps the original image available to the vision side instead of first converting it into a text description. The plugin uses agent/request waterfalls and the bundled dsh.bundle.patch to add a composition row, an admission wrapper and attachment limits. dsh plugin add applies that wiring automatically; taking over the official DeepSeek route is an optional stealth-mode setting, disabled by default.

Vision requests use user-provided vision models first, followed by a built-in keyless OVHcloud fallback chain. The README describes pixel tools for Q&A, grounding, cropping, pixel comparison, colour extraction, OCR, SVG tracing, cutout and screenshots. Named tools include vision_ground, vision_crop, vision_describe and vision_pixel_diff. Image answers are cached by image content, while uploaded images remain visible in the conversation UI and the routing rewrite stays inside the model call.

This is intended for text-only agents that need iterative image inspection without switching their main model. It is a poor fit where the existing harness already provides the required vision route, or where external anonymous endpoints are unsuitable: the fallback is rate-limited to 2 requests per minute per IP per model. The plugin also reaches the terminal surface because its local pipeline uses sharp, potrace, tesseract and system Chrome for image processing and HTML screenshots.

dsh-vision-router documentation

How it behaves

Image handling is performed as an ordinary tool-calling turn. A multi-step sequence can call vision_ground, then vision_crop, vision_describe or vision_pixel_diff, apply a change, and inspect a new screenshot. The uploaded image remains an image in the session UI; the internal rewrite that directs the model to vision tools is not added to the session log. Text turns continue using the normal model, cost and context path.

Tools

The README describes a pixel-tool set covering visual Q&A, grounding, cropping, pixel diffs, colour sampling, OCR, SVG tracing, cutout and screenshots. It explicitly shows these tool names:

Tool Documented use
vision_ground Locate an element in an image
vision_crop Crop an image region
vision_describe Produce an image description
vision_pixel_diff Compare image pixels

Routing and fallback

User-provided vision models are tried first. If they are unavailable, the built-in OVHcloud anonymous fallback chain provides five models without an account or key. The README states a limit of 2 requests/minute per IP per model, with roughly 10 RPM in theory across independent buckets. Answers are cached by image content.

Requirements and local access

The package requires Node.js >=22 and does not require Python. Its processing pipeline uses sharp, potrace, tesseract and system Chrome; system Chrome is used for HTML screenshots. The README identifies dsh.bundle.patch as the composition patch applied by the plugin. A bundled DSH Web profile is also referenced by cordis.patch.yml.

Routing option

Taking over the official DeepSeek route is available through an optional stealth-mode setting and is off by default. The README does not specify a configuration key or command-line flag for that setting.

Written from the project's own documentation and kept in sync with it. Where the two disagree, the source is authoritative — read the README on GitHub

Same category

Alternatives to dsh-vision-router

modlens

liustack

2.3k

Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).

npm packageTypeScripttoday

Vision tasks for text-only models: intent-aware image Q&A, long-screenshot OCR, UI reproduction, grounding, and pixel diff.

npm packageTypeScripttoday

dsh-vision

linenxi-ctrl

11

External vision plugin for DeepSeek Harness: whale-button config panel, image recognition with auto-reply, and agent screenshot/recognize tools.

npm packageJavaScriptyesterday
9

DeepSeek brain + automatic image transcription: attach images in the GUI and each one is transcribed to text via any OpenAI-compatible VLM before reaching the text-only DeepSeek — a keyed fast path (default qwen3.7-flash; DashScope/Zhipu/OpenRouter or any OpenAI-compatible endpoint) with your own key, or local Ollama auto-detected with zero config.

npm packageJavaScripttoday
9

Gives text-only models vision: forwards user images to an OpenAI-compatible vision model and shows the descriptions in a Web UI right panel.

npm packageTypeScripttoday

Gemini-Eyes

ConsoleSun

6

MCP bridge to gemini.google.com: vision analysis of images and videos, Imagen image and Veo video generation, and conversation management using the logged-in browser session with no API key.

GitHub sourcePython2d ago