前言¶
在网页版 DSH 中使用 DeepSeek 等纯文本模型时,图片输入可能无法直接通过模型能力检查,导致带图片的消息或图片内容难以进入模型。dsh-vision-bridge 用来解决这个问题。它是一个 DSH 插件,由 342949145 维护,采用 MIT 许可证。
它做的事情是把图片在进入当前模型前自动交给外部视觉模型(阿里云百炼 qwen-vl)识别,再把识别结果以文字形式喂给当前模型,让纯文本模型也能处理图片内容。
该插件只服务网页版 DSH,例如 ~/.dsh 下的 profiles/web/。桌面版 Deepseek Harness EAC 由内置插件 dsh-tool-vision 接管识图,配置在 %DSH_HOME%/settings.yaml 的 tool-vision 命名空间,无需安装本插件;两套配置互不相通。
核心功能¶
图片上传放行¶
插件会包装 ctx.llm.resolveModelInfo,对目标 provider(默认 deepseek)的模型补充声明 image 输入能力,使模型能力检查通过。效果是 DeepSeek 等纯文本模型会话可正常附加图片,不再提示“当前模型不支持图片”。
自动识图转文字¶
插件会包装目标 provider 适配器的 stream 方法,在消息进入序列化之前把 image 块逐个取出,调用百炼视觉 API 识图,再替换为文字块。覆盖图片、read_image 工具结果、tool-result 嵌套和历史重放等场景。
模型回退链¶
识图模型链为:
qwen-vl-max → qwen-vl-plus → flash
遇到可恢复错误时自动回退。
文生图¶
对模型说“画一张……”时,可通过 generate_image 调用百炼 Qwen-Image 生成图片,并保存为附件;模型可以看到生成结果。
识别缓存与复用¶
识别结果会缓存,同图不重复调用 API;缓存位置包括内存和 %DSH_HOME%/storages/,可跨会话/重启复用。
lib/vision.js 还导出以下接口供复用:
describeImageUrl
ocrPrompt
describeImagesCompare
dataUrlFor
可用于 URL、OCR、多图对比等场景。
安装与启用¶
npm 安装¶
先执行:
npm install dsh-vision-bridge
然后在 DSH profile(如 ~/.dsh/profiles/web/)中启用。cordis.patch.yml 的 insert 列表中增加:
- insert:
- id: dsh-vision-bridge
name: dsh-vision-bridge
也可以把 dsh-vision-bridge 加入 package.json 的 dsh.profile.bundles 列表。
本地开发挂载¶
本地开发时可以使用:
npm install link:./tools/dsh-vision-bridge
# 或
npm link
配置¶
最小配置¶
需要配置阿里云百炼 API Key。可以复制 .env.example 为 .env,并写入:
DASHSCOPE_API_KEY=sk-xxxxxxxx
本插件不包含真实 API Key 或本机路径;.env 已在 .gitignore 中,建议通过 .env 或环境变量提供配置。
可配置项¶
插件支持以下配置项:
DASHSCOPE_API_KEY
DASHSCOPE_BASE_URL
VISION_MODEL
VISION_FALLBACK_MODELS
VISION_PROMPT
VISION_MAX_TOKENS
VISION_MAX_EDGE
VISION_JPEG_QUALITY
VISION_PROVIDERS
VISION_CACHE
VISION_GEN_MODEL
VISION_GEN_SIZE
VISION_SKILL_DIR
配置优先级为:
环境变量 > 插件目录 .env > VISION_SKILL_DIR 指向目录的 .env / vision.js
如果使用了设置页集成,运行时优先级为:
设置页 > 环境变量 > .env > claude-vision-skill
与 dsh-tool-vision 的冲突¶
若 DSH 启用了内置 dsh-tool-vision,需要在 %DSH_HOME%/settings.yaml 的 tool-vision 段设置:
tool-vision:
bridgeTextOnly: false
否则新版内置插件会把会话日志里的顶层 image 块替换成文本提示;关闭后,本插件在 adapter.stream 层完成识图转换。
典型用法¶
1、安装并启用 dsh-vision-bridge;
2、配置 DASHSCOPE_API_KEY;
3、如果启用了 dsh-tool-vision,将 bridgeTextOnly 设为 false;
4、在网页版 DSH 的 DeepSeek 会话中发送图片,或让模型调用 read_image;
5、插件自动调用百炼 qwen-vl 识图,并把文字结果交给当前模型。
也可以让模型调用 generate_image,例如“画一张……”,生成结果会保存为附件。
适用场景与注意¶
适合网页版 DSH 中使用 DeepSeek 等纯文本模型,并希望继续使用图片输入、识图或文生图的场景。桌面版 Deepseek Harness EAC 不适用本插件,因为它由 dsh-tool-vision 接管识图。
该插件以当前 dsh 进程权限运行。安装前建议检查源码与许可证。已验证 DSH 版本为 0.1.0-rc.6;上游 DSH 处于开发者预览期,如有破坏性变更请关注仓库 Release 与 Issues。
链接¶
目录页:
https://www.skillhub.cn/plugins/342949145/dsh-vision-bridge
GitHub:
https://github.com/342949145/dsh-vision-bridge