
kbpoyo/dsh-image-bridge
50Last commit Aug 14, 2026
dsh-image-bridge DSH plugin
This plugin allows text-only models that cannot natively receive images to still process images by saving them to the session workspace and injecting text markers. The model autonomously discovers and invokes its own visual skills (e.g., VQA, OCR) to analyze the image. It works transparently with multimodal models, hiding the bridge button automatically.
How to install the dsh-image-bridge DSH plugin
dsh plugin --profile web add @kbpoyo/dsh-image-bridge@0.1.0Copying does not run this command. Review the repository and version before installing the dsh-image-bridge DSH plugin.
dsh-image-bridge DSH plugin data source
dsh-image-bridge DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-image-bridge DSH plugin can do
- One-click bridge: paste an image and click the 'Bridge Send Image' button to send it to a text-only model.
- Enter fallback: pressing Enter with an image also triggers the bridge automatically.
- Multimodal passthrough: hides the bridge button when a multimodal model is selected, sending images natively.
- Instant model switching: button visibility updates immediately when switching models, without flickering.
- Automatic cleanup: temporary image files are automatically cleaned after 24 hours or when total size exceeds 512MB.
Where the dsh-image-bridge DSH plugin fits
- Users who want to ask a text-only model (e.g., deepseek-v4-flash) to describe an image without switching models.
- Users who need OCR on images within a text-only model session, by explicitly requesting text recognition.
- Developers testing custom provider models that lack image input declaration, to understand the bridge behavior.
- Users who frequently switch between multimodal and text-only models and want a seamless image handling experience.
- Administrators who manage DSH sessions and want automatic cleanup of temporary image files to save disk space.
Who the dsh-image-bridge DSH plugin is for
- DSH users who need to use text-only models with image capabilities (e.g., for cost or availability reasons).
- Developers or advanced users who configure custom provider models and want to understand the bridge's limitations.
dsh-image-bridge DSH plugin limitations
- Custom provider models that do not declare `input: ['text','image']` will always show the bridge button, as the plugin faithfully reads the adapter's report.
- DSH's native restriction that sessions with native images cannot switch back to text-only models still applies (requires `/compact` or new session).
- Subagent image messages are not covered by the bridge; they still go through native gates.
dsh-image-bridge DSH plugin: from the repository README
Quoted from the kbpoyo/dsh-image-bridge README, the upstream source of the dsh-image-bridge DSH plugin. Copyright remains with the original authors.
DSH(DeepSeek Harness)Web 插件:为**不支持原生图片输入**的纯文本模型提供图片桥接能力,让纯文本模型也能"看图"。 纯文本模型无法直接接收图片(DSH 原生会以 `MODEL_DOES_NOT_SUPPORT_IMAGES` 拒绝)。本插件把图片落盘到会话工作区,以文本标记把图片路径与处理指引注入对话,由模型**自主发现并调用**其技能(skill)/工具(tool)目录中的视觉类能力(通用视觉问答 / OCR / grounding)来查看图片。**插件不绑定任何具体技能或工具**——能力发现完全由模型自行完成。 ## 功能 - **一键桥接**:纯文本模型下,输入框粘贴图片后出现「桥接发送图片」按钮,点击即可发送,模型能读到图片。 - **回车兜底**:不点按钮、直接回车发送图片,也会在发送入口自动改写为桥接标记发送,与按钮等效。 - **多模态直通**:多模态模型下按钮自动隐藏、图片原生发送,插件零干预。 - **即时感知**:会话中切换模型,按钮立即显隐,不闪烁、不跳动。 - **自动清理**:桥接产生的临时图片定时自动清理,无需手动管理。 ## 安装 DSH 插件通过 `dsh plugin` 命令安装进 **profile**(`dsh web` 对应 `web` profile)。 ### 方式一:从 npm 安装(推荐) ```sh dsh plugin --profile web add @kbpoyo/dsh-image-bridge@0.1.0 ``` 装完重启 `dsh web` 即可生效。该命令会在 profile 中安装插件并自动挂载为配置层,**无需手动编辑任何配置文件**。 验证:重启后,纯文本模型会话中粘贴图片出现「桥接发送图片」按钮即生效;也可用 `dsh --profile web --dump-config` 确认插件配置层已挂载。 ### 方式二:手动安装(本地调试用) 1. 将本包放置到 DSH profile 的 `node_modules/` 下(如 `~/.dsh/profiles/web/node_modules/@kbpoyo/dsh-image-bridge/`); 2. 在 profile 的 `cordis.patch.yml` 的 `- insert:` 列表追加: ```yaml - id: dsh-image-bridge name: '@kbpoyo/dsh-image-bridge' config: {} ``` 3. 重启 DSH(插件为启动期扫描加载)。 ## 卸载 - **npm 安装的**:`dsh plugin --profile web remove @kbpoyo/dsh-image-br
Read the full READMERepository license: MIT
dsh-image-bridge DSH plugin questions
Why doesn't the bridge button appear when I paste an image?
The bridge button is hidden by design when the current model is reported as multimodal (supports images). Check your session model name. If you are using a custom provider model, ensure its adapter declares `input: ['text','image']`; otherwise the plugin will treat it as text-only and show the button.
Can I send an image by just pressing Enter?
Yes, pressing Enter with an image also triggers the bridge automatically, same as clicking the button. The only exception is when the bridge fails (e.g., disk unwritable), in which case it falls back to native behavior and shows an error.
Does the model actually see the image?
The plugin delivers the image as text markers, and the model must have its own visual skills (e.g., VQA, OCR) to process it. If the model lacks such skills, it will inform you honestly. The plugin does not guarantee vision capabilities.
Will the temporary images stay on disk forever?
No. They are stored in a hidden directory `.dsh-image-bridge/` and automatically cleaned after 24 hours. If total size exceeds 512MB, the oldest files are cleaned first. You can also manually delete the directory; the plugin will recreate it on next bridge.
What if the bridge button stays visible even after switching to a multimodal model?
This can happen if the model adapter does not report multimodal capabilities (e.g., custom provider settings). Add `input: ['text','image']` to the model declaration. Refresh the page after switching to ensure the plugin detects the change.