ysr666/dsh-vision-router ↗★ 469
dsh-vision-router
Eyes for text-only DeepSeek Harness agents: built-in free vision chain (no key) + pixel-level vision tools (Q&A, grounding, crop, pixel diff, colors, OCR, SVG trace, cutout, screenshots). One-command install, no Python, image turns work like ordinary tool-calling turns.
AI 분석
核心用途是赋予不支持多模态的 Agent 图像识别与屏幕操作能力。适合需要 Agent 处理截图、识别图片文字、进行像素对比等视觉任务的场景,无需本地 Python 环境。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ysr666/dsh-vision-routerConfiguration
Everything is optional; defaults work out of the box. Edit via the Web card or a profile patch:
| Field | Default | Meaning |
|---|---|---|
provider / model | vision-http / ovh/Qwen2.5-VL-72B-Instruct | shorthand vision backend route (adapter-backed provider + model that genuinely accepts images) |
fallbacks | [] | backup image models for the shorthand vision provider |
providers | built-in free vision-http pair | multi-provider vision backend chain { provider, model, fallbacks[] }, tried in order; do not put text-only models here |
httpProviders | built-in OVH entry | direct OpenAI-compatible endpoints { name, baseURL, model, apiKeyEnv, maxTokens } |
autoWrapProviders | true | discover enabled provider/models and live-sync same-name “+ Auto Vision” groups; original groups stay unchanged |
wrappedProviders | [{ provider: 'deepseek-official', models: [] }] | optional manual wrapper scope { provider, models[] }, used after disabling auto-wrap or to restrict one provider to selected models; changes apply live, no restart |
routing | false | legacy whole-turn chain routing (one-shot answer). false = tools-first flow (recommended) |
reverseRouting | true | with routing: true, route text turns back to textProvider |
wrapperRoute / chainRoute | deepseek-vision / vision-chain | admission wrapper route name / fallback chain route name (empty disables) |
stealth | false | take over the official deepseek-official route (official row only; custom routes are auto-wrapped by default) |
textProvider | deepseek-official / deepseek-v4-pro | the model that reasons (your daily model) |
tool / progressiveTools / autoActivateOnImage | true / false / true | vision tools on / progressive mounting (off by default for a stable tool schema) / image-turn auto-mount when progressive mode is enabled; progressiveTools is boot-time config |
rewriteImages | true | rewrite image blocks in the model input (cached description or tool-hint marker); the UI log keeps images |
downscale / downscaleMaxPixels | true / 4000000 | pre-call downscale and its pixel budget (latency guard) |
cache / cacheTtlSeconds / cacheMaxEntries | true / 3600 / 200 | vision answer cache |
timeoutMs | 120000 | per vision call deadline |
artifactsDir | .dsh-vision-router/artifacts | artifact directory (relative to the session workspace) |
proxy / proxyHosts | '' / openrouter hosts | optional proxy for vision provider hosts only |
catalogCorrections | true | built-in catalog-routing corrections: when the installed pi-ai catalog routes a known model to the wrong wire protocol (e.g. opencode-go/qwen3.6-plus to OpenAI chat completions while OpenCode Go only serves it on /v1/messages), the plugin answers that backend directly over the corrected protocol. Each correction disarms itself once the catalog is fixed upstream |