DSH Hub

kaixinbaba/dsh-vision-recognizer

dsh-vision-recognizer

UIVision1 GitHub stars· updated 2026-08-21

dsh-vision-recognizer is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-vision-recognizer`

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-vision-recognizer DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-vision-recognizer.svg)](https://dshhub.dev/plugins/dsh-vision-recognizer)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from kaixinbaba/dsh-vision-recognizer, cleaned of badges and images.

dsh-vision-recognizer

English | 简体中文

Keep DeepSeek as the conversation brain, attach images anyway, and switch the image-recognition provider any time from Settings → Plugins. A vision plugin for DeepSeek Harness.

It registers an adaptive provider route (default vision-recognizer, shown as DeepSeek + 智能识图 in the model picker) that wraps the configured conversation provider. The wrapper always admits image attachments, then resolves the exact selected model: models declaring native image input receive the original image blocks directly; text-only or unknown-capability models receive text transcribed by the vision model you configure. DeepSeek remains the default wrapped conversation provider.

attached image ──▶ vision-recognizer route ──▶ selected model supports image? ── yes ─▶ native image request
                                                      │
                                                      no
                                                      ▼
                                  configured vision transcription ──▶ text-only selected model

Features

  • Adaptive routing: native multimodal models receive images unchanged; only text-only or unknown-capability models invoke the configured transcription fallback.
  • One-click install: dsh plugin --profile web add dsh-vision-recognizer — no build scripts, no sharp approval (no native dependencies at all).
  • Configure from Settings → Plugins → Vision: pick a provider, enter an API key, override model / endpoint / token cap / timeout / marker. Saved changes take effect immediately, no restart.
  • 15+ providers, domestic and international: OpenAI, Anthropic Claude, Google Gemini, OpenRouter, Azure OpenAI, Ollama (local), plus Alibaba DashScope, QwenCloud (Intl), Zhipu GLM, Baidu Qianfan, iFlytek Spark, Moonshot Kimi, Tencent Hunyuan, Volcengine Doubao, SiliconFlow. Any OpenAI-compatible endpoint works via the custom provider.
  • Two wire protocols: OpenAI-compatible (/chat/completions) and native Anthropic Messages — Claude works out of the box.
  • No hangs: local/anonymous endpoints get a hard 20s timeout cap, HTTP 429 fails fast, failed endpoints cool down for 60s; without a key and without local Ollama it fails fast with actionable guidance.
  • Fallback chain: after the primary model fails, each fallbackModels entry is tried in order (each may target a different vendor); only after all fail does the request fail, listing every attempt.
  • Content-hash cache: the same image is transcribed at most once per process (in-process, capped at 200).
  • Zero-config local path: autoLocalOllama (default on) probes http://localhost:11434 and prepends a running Ollama to the chain — images never leave your machine.

Quick start

dsh plugin --profile web add dsh-vision-recognizer

Slow npm registry? dsh plugin --profile web add dsh-vision-recognizer --registry=https://registry.npmmirror.com

Install from a local checkout (development):

dsh plugin --profile web add file:/path/to/dsh-vision-recognizer

Use the file: prefix (copies the package into node_modules). A bare add . or add link:… makes pnpm symlink the package, in which case the plugin's schemastery dependency resolves from the source checkout and is not found — a general pnpm symlink-install gotcha, not a bug in the plugin.

Restart dsh web, then:

Related plugins