Skip to content

shinjiyu/dsh-plugin-multimodal

30Last commit Aug 15, 2026

dsh-plugin-multimodal DSH plugin

This plugin intercepts image attachments in DSH web and routes them appropriately. For vision-capable models (Claude, GPT, custom gateways), it forwards the image directly. For text-only models (official DeepSeek), it uses a configurable sidecar vision model to transcribe the image (OCR + description) and injects the text into the conversation. It also provides a `see_image` tool for disk screenshots.

How to install the dsh-plugin-multimodal DSH plugin

dsh plugin --profile web add github:shinjiyu/dsh-plugin-multimodal

Copying does not run this command. Review the repository and version before installing the dsh-plugin-multimodal DSH plugin.

dsh-plugin-multimodal DSH plugin data source

dsh-plugin-multimodal DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-plugin-multimodal DSH plugin can do

  • Direct image forwarding to vision-capable main models
  • Automatic sidecar transcription for text-only main models
  • Environment variable configuration for sidecar API (DSH_VISION_*)
  • Fallback to OPENAI_BASE_URL/OPENAI_API_KEY if DSH_VISION_* not set
  • Provides `see_image` tool for disk-based image analysis
  • Works with custom inject points in cordis.patch.yml

Where the dsh-plugin-multimodal DSH plugin fits

  • Paste an error screenshot into a pure-text DeepSeek chat and ask what the red text says
  • Attach a UI mockup image to a Claude session and get design feedback
  • Analyze a screenshot from disk using `see_image` command
  • Use a cheaper vision sidecar to offload image processing from expensive main model
  • Integrate custom vision gateway (e.g., GLM-4.5V) as sidecar without changing official adapter

Who the dsh-plugin-multimodal DSH plugin is for

  • DeepSeek Harness users who need to paste images into web chat
  • Developers who want to use a vision sidecar model to transcribe images for text-only main models

dsh-plugin-multimodal DSH plugin limitations

  • Requires a separate, vision-capable sidecar model to be configured (e.g., GLM-4.5V) for text-only main models
  • Sidecar model must be a true vision model; text-only models (e.g., deepseek-v4-flash) cannot be used
  • Only works with `dsh web`; old session tool tables are not updated on plugin install
  • Not a full vision toolkit – it only handles attachment acceptance, not model-initiated vision calls
  • WeChat group QR code expires every ~7 days, requiring manual replacement

dsh-plugin-multimodal DSH plugin: from the repository README

Quoted from the shinjiyu/dsh-plugin-multimodal README, the upstream source of the dsh-plugin-multimodal DSH plugin. Copyright remains with the original authors.

DeepSeek Harness 官方线路是**纯文本**。Web 里贴图会被拒:`当前模型不支持图片`。 这个插件补的是**贴图准入**,不是视觉工具箱。 1. 主模型本身收图(Claude / GPT / 自建视觉网关)→ 原样把图交给模型,不转文字 2. 主模型是纯文本(官方 DeepSeek)→ GUI 先收下图,sidecar 转成文字再发给主模型 3. `see_image` 给磁盘上的截图用 官方 PI adapter 已经会做第 1 步,不会做第 2 步:不支持就 `UNSUPPORTED_CONTENT`。Anionex 的 `dsh-vision-toolkit` 是另一条路:给 agent 一堆 `vision_*` 工具,要模型自己去调。本插件让**粘贴不被拒**。 对应需求:[Discussions #588](https://github.com/deepseek-ai/deepseek-harness/discussions/588) · 介绍帖:[Show and tell #1709](https://github.com/deepseek-ai/deepseek-harness/discussions/1709) ## 安装 ```powershell dsh plugin --profile web add github:shinjiyu/dsh-plugin-multimodal ``` 本地路径: ```powershell dsh plugin --profile web add D:\tempWorkspace\dsh-plugin-multimodal ``` 然后**重启** `dsh web`。旧会话的工具表不会更新。 GitHub topic:`dsh-plugin` ## 配置 环境变量(不要把 key 写进仓库): | 变量 | 作用 | |------|------| | `DSH_VISION_BASE_URL` | 视觉接口,例如 `https://api.example/v1` | | `DSH_VISION_API_KEY` | 该接口的 key | | `DSH_VISION_MODEL` | 必须是**真能看图**的模型,例如 `glm-4.5v` | | `DSH_VISION_PROMPT` | 可选。默认 OCR + 描述界面 | 没设 `DSH_VISION_*` 时回退 `OPENAI_BASE_URL` / `OPENAI_API_KEY`。`GLM-5.2-FP8` 这类文本模型**不能**当 sidecar。 也可以在 profile 的 `cordis.patch.yml` 里写: ```yaml - id: dsh-plug

Read the full READMERepository license: MIT

dsh-plugin-multimodal DSH plugin questions

Why does my image paste still show 'current model does not support images'?

Ensure you have configured a valid vision sidecar model via DSH_VISION_MODEL (e.g., glm-4.5v) and set the corresponding API key. Also restart `dsh web` after installing the plugin. If the sidecar is not set up, the plugin cannot transcribe the image.

Can I use this plugin with the official DeepSeek model?

Yes, that's the primary use case. The plugin automatically detects that the official DeepSeek model is text-only and uses your configured sidecar vision model to transcribe the image into text, which is then fed to the main model.

What sidecar model should I use?

Any model that truly supports image input, such as GLM-4.5V, GPT-4o, or Claude 3.5 Sonnet. Do not use text-only models like deepseek-v4-flash or GLM-5.2-FP8. The sidecar must be set via DSH_VISION_MODEL or the OPENAI compatible endpoint.

How do I analyze a screenshot stored on disk?

After installing the plugin, you can use the `see_image` tool in your DSH chat. For example, type 'see_image: /path/to/screenshot.png' and the plugin will route it through the sidecar for analysis.

Does this plugin support all image formats?

The plugin does not specify format restrictions in its README. It relies on the sidecar model's supported image formats. Typically common formats like PNG, JPEG, and WebP should work if the sidecar supports them.