Skip to content

XyTT2N2bTc/dsh-aux-vision

40Last commit Aug 14, 2026

dsh-aux-vision DSH plugin

dsh-aux-vision is a DSH plugin that adds visual capabilities to any text-only base model. It automatically routes images to a vision model (default opencode-go/mimo-v2.5), converts them to pixel-level descriptions, and injects those descriptions into the current conversation turn for the base model. The plugin works without modifying the base model or routing, and it caches descriptions to avoid redundant vision calls.

How to install the dsh-aux-vision DSH plugin

dsh plugin --profile web add github:<owner>/dsh-aux-vision

This source command needs manual review. Copying does not run it.

dsh-aux-vision DSH plugin data source

dsh-aux-vision DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-aux-vision DSH plugin can do

  • Adds image capability to any text-only model via capability declaration patch
  • Automatically routes images to a vision model when the base model cannot handle them
  • Caches image descriptions by provider/model and attachment ID with configurable TTL
  • Supports vision_ask tool for targeted re-asking about specific attachments
  • Graceful degradation: on vision failure, inserts marker text or errors out as configured
  • Zero visual calls on pure-text turns; history images are rewritten from cache without model calls

Where the dsh-aux-vision DSH plugin fits

  • Use a text-only model like DeepSeek-V3 while still being able to discuss images uploaded in the chat
  • Enable image analysis in workflows that previously only supported text, without changing the base model
  • Add vision to a custom or fine-tuned text model that lacks native image support
  • Build multi-modal agents where a text model interprets visual descriptions provided by a separate vision model

Who the dsh-aux-vision DSH plugin is for

  • DSH users who want to keep their favorite text-only model but need occasional image understanding
  • Developers building agents or workflows that require visual context without switching to a native vision model

dsh-aux-vision DSH plugin limitations

  • The vision model itself may produce inaccurate descriptions (e.g., mimo v2.5 occasional quality fluctuation)
  • Capability declaration patch causes text models to appear as image-capable in the models directory (cosmetic side effect)
  • Requires manual configuration of vision chain or relies on auto-discovery; no pre-configured fallback beyond the default
  • Only works within DSH environment; not a standalone solution

dsh-aux-vision DSH plugin: from the repository README

Quoted from the XyTT2N2bTc/dsh-aux-vision README, the upstream source of the dsh-aux-vision DSH plugin. Copyright remains with the original authors.

DeepSeek Harness 辅助视觉插件:**任意纯文本主模型 + 任意有识图能力的模型**(默认 `opencode-go/mimo-v2.5`)。含图轮次自动让视觉模型看**原图(像素级)**,并把描述以文本 注入当前轮供主模型使用;纯文本轮**零视觉调用**。主模型与路由保持完全不变。 ## 核心优势 - **不换主模型**:为任意文本模型补齐图片准入,再由独立视觉模型完成识图。 - **自动且保真**:用户图片、历史图片和 `read_image` 结果都会按需转为像素级描述;会话 UI 仍保留原图。 - **成本可控**:纯文本轮零视觉调用;同图描述按视觉模型和附件缓存,重复图不消耗批次名额。 - **稳定降级**:视觉模型不可用、限流或超时时,可继续对话并注入可识别的占位文本。 - **可定向追问**:`vision_ask` 能让主模型针对指定附件或本地图片再次提问,无须更换当前会话模型。 零运行时依赖(不 import 任何 `@deepseek-ai` 包,全部结构调用 `ctx.llm` / `ctx.attachments`), 完整复用 DSH 的 llm 服务管线(`resolveModelInfo` / `prepareCall` / 流式协议),不重复实现 provider 适配。 ## 工作原理 ``` 发图(prompt RPC) ── 准入守卫 ──┬─ 通过(① 能力申报:未声明 image 的模型补报 image) └─ 拒绝(未安装插件时的现状) ↓ followup → inbox → 原图消息落日志(**UI 显示原图**) ↓ 请求构建(历史含图消息一并进入请求) ② llm/stream:请求含图 & 路由未声明 image ├─ 有图:视觉模型看原图 → 描述文本原位替换 image 块(改写请求副本)→ 主模型作答 └─ 无图:直通(零视觉调用、零开销) ``` | 环节 | 说明 | | --- | --- | | ① 能力申报 | 补丁 `llm.resolveModelInfo`:凡原方法未声明 `image` 的模型,在返回副本中补入 `image`。prompt 准入守卫 / selectModel 守卫 / read_image 模态闸门因此对任意文本模型放行。pi-ai 适配器线路级检查读 pi-ai 目录,不受影响(最后一道安全网)。卸载/禁用即还原。 | | ② 注入 | `llm/stream`:LOOP 请求含图(用户发图 / read_image 工具结果 / 历史图片)且路由未声明 image 时,把图片块替换为视觉描述(缓存优先)或占位,改写请求副本放行。

Read the full READMERepository license: MIT

dsh-aux-vision DSH plugin questions

How do I install dsh-aux-vision?

You can install it via the DSH plugin command: `dsh plugin --profile web add github:<owner>/dsh-aux-vision`. Alternatively, you can manually build and copy the files into the profile's node_modules directory as described in the README.

Does this plugin work with any text-only model?

Yes, it works with any text-only model that DSH supports. The plugin patches the model's capability declaration to include image support, so the routing and gate logic treat it as image-capable. The actual image understanding is handled by a separate vision model.

Can I use my own vision model instead of the default?

Absolutely. You can configure the `visionChain` in the plugin config to list your preferred vision models (provider and model name). If the chain fails, the plugin can auto-discover any registered provider's image model as a fallback.

Will this plugin cause extra costs for every image?

Not necessarily. The plugin caches image descriptions by provider/model and attachment ID, so repeated images (same image in same or different turns) do not incur additional vision calls. Only new images or cache misses trigger a vision model call.

What happens if the vision model is unavailable or times out?

By default, the plugin inserts a placeholder text (e.g., '[Image attachment {id}: auxiliary vision model temporarily unavailable]') and continues the conversation. You can also configure it to throw an error instead. The base model still receives a message, so the conversation doesn't break.