前言¶
在 DeepSeek Harness(DSH)里,一些主模型本身不具备视觉能力,例如 deepseek-v4-pro。如果用户把图片直接发到会话中,可能会遇到“模型不支持图片”的拦截。对于需要让主模型读取图片内容的场景,可以把图片处理放到模型请求组装阶段:用户消息仍然保留图片,主模型最终只收到视觉模型转换后的文字描述。
下面介绍 DSH 插件 dsh-vision-bridge。它解决的问题是:让无视觉能力的主模型在 DSH 会话中处理用户发送的图片,同时保留用户消息框中的图片缩略图,并提供 view_image 工具供模型主动看图。
这是什么¶
dsh-vision-bridge 是 DSH 视觉桥接插件。资料中仓库标题为 dsh-vision-bridge,npm 包名为 @liu__min/dsh-vision-bridge,已核实版本为 0.1.1,许可证为 MIT。GitHub 仓库路径为 lium970320/dsh-vision-bridge,维护者为 lium970320。
它不是视觉模型本身,也不是一个独立的看图服务。它是在 DSH 插件层面接入视觉接口:当会话中出现图片,或模型调用 view_image 工具时,插件把图片交给已配置的视觉接口转成文字描述,再让主模型继续处理。
核心功能¶
下面介绍已核实的插件能力。
1、会话直接收图:用户发送图片后,不再被“模型不支持图片”拦截。
2、用户消息保留图片缩略图:图片转换不在用户消息上发生,用户消息框仍然显示图片缩略图。
3、模型请求组装阶段自动转文字:图片在模型请求组装层被交给视觉模型转成文字描述,主模型只收到文字。
4、提供 view_image 工具:模型在需要看图时可以自行调用,支持本地路径、URL、data URL。
5、提供 install.ps1 一键安装脚本:脚本完成复制、登记、声明、配置、补丁、自测等步骤。
6、支持显式配置的视觉接口:支持 OpenAI 官方、xAI Grok 等显式配置的视觉接口,或 OpenAI 兼容 Responses API。
7、运行行为明确:插件不内置任何服务商;未配置视觉接口时工具会明确报错,不会静默失败;插件无日志、无缓存、无运行数据写盘。
安装与启用¶
先确认前置条件:DeepSeek Harness 已安装,且 dsh web 至少启动过一次,~/.dsh/profiles/web/ 目录存在。
无论使用哪种安装方式,装完都要重启 dsh web,并完成视觉接口配置。
从 npm 安装¶
已核实 npm 包安装命令如下:
dsh plugin --profile web add @liu__min/dsh-vision-bridge
执行后,进入 DSH profile 目录,补打 pi-ai 适配器补丁:
cd ~/.dsh/profiles/web/
node apply-vision-patch.js
接着按下一节写入视觉接口配置,再重启 dsh web。
从 GitHub 仓库一键安装¶
先克隆仓库:
git clone https://github.com/lium970320/dsh-vision-bridge.git
cd dsh-vision-bridge
以 OpenAI 官方接口为例,运行安装脚本:
powershell -ExecutionPolicy Bypass -File install.ps1 -ApiBase https://api.openai.com/v1 -ApiKeyEnv OPENAI_API_KEY -VisionModel gpt-5.1
安装脚本会依次完成:复制插件文件、在 profile 的 cordis.patch.yml 登记插件行、在 settings.yaml 给主模型声明图片输入、写视觉接口配置、打 pi-ai 适配器补丁、自测。
经过上面的步骤后,重启 dsh web,在会话中发送一张图片验证。
配置视觉接口¶
插件必须显式配置视觉接口,需要同时提供接口网址和 API 密钥。可以在 ~/.dsh/profiles/web/vision-bridge-config.json 中写入配置:
{
"apiBase": "https://api.openai.com/v1",
"model": "gpt-5.1",
"apiKeyEnv": "OPENAI_API_KEY",
"apiKey": ""
}
其中:
apiBase:视觉接口地址。model:视觉模型名。apiKeyEnv:密钥环境变量名,优先级更高。apiKey:直接写入密钥,与apiKeyEnv二选一。
密钥只建议保存在本机配置文件或环境变量中。已核实资料说明 vision-bridge-config.json 已被 .gitignore 排除。
配置优先级如下:
cordis.patch.yml 的插件 config > vision-bridge-config.json > 环境变量(密钥)
手动安装¶
如果希望逐步控制安装过程,可以先复制插件文件到 DSH profile 目录:
# 从仓库 plugin/ 目录复制:
# dsh-view-image.js
# apply-vision-patch.js
# 目标目录:
# ~/.dsh/profiles/web/
在 ~/.dsh/profiles/web/cordis.patch.yml 追加插件登记:
- insert:
- id: dsh-view-image
name: './dsh-view-image.js'
在 ~/.dsh/settings.yaml 的 llm-pi-ai.providers 下给主模型声明图片输入。示意如下:
llm-pi-ai:
providers:
# 将下面的 provider 名替换为 settings.yaml 中已有的 provider 名
provider-name:
modelOverrides:
deepseek-v4-pro:
input:
- text
- image
这里的主模型示例为 deepseek-v4-pro,实际应以本机 settings.yaml 中的主模型配置为准。
接着写入视觉接口配置:
# 文件:~/.dsh/profiles/web/vision-bridge-config.json
# 字段:apiBase、model、apiKeyEnv、apiKey
然后运行补丁和自测:
cd ~/.dsh/profiles/web/
node apply-vision-patch.js
node dsh-view-image.js
最后重启 dsh web。
典型用法¶
下面是两个可直接参考的视觉接口配置示例。
OpenAI 官方接口¶
先确保环境变量 OPENAI_API_KEY 已设置为本机密钥。然后运行:
powershell -ExecutionPolicy Bypass -File install.ps1 -ApiBase https://api.openai.com/v1 -ApiKeyEnv OPENAI_API_KEY -VisionModel gpt-5.1
重启 dsh web 后,在任意会话中发送一张图片,确认用户消息框保留图片缩略图,主模型能根据转换后的文字描述继续处理。
xAI Grok 接口¶
如果显式配置 xAI Grok 视觉接口,可以运行:
powershell -ExecutionPolicy Bypass -File install.ps1 -ApiBase https://api.x.ai/v1 -ApiKeyEnv XAI_API_KEY -VisionModel grok-4-fast
之后同样重启 dsh web,并在会话中发图验证。
适用场景与注意¶
适合已有 DSH web 运行环境、希望让无视觉主模型读取图片内容的开发者。插件本身不替代主模型,也不内置视觉服务商,必须显式配置视觉接口。
注意以下事项:
1、插件以当前 dsh 进程权限运行。安装前应先检查源码、安装脚本和许可证。
2、许可证为 MIT。GitHub 仓库地址:
https://github.com/lium970320/dsh-vision-bridge
3、每次 dsh 升级或重装后,pi-ai 适配器补丁会丢失,需要重新运行:
cd ~/.dsh/profiles/web/
node apply-vision-patch.js
4、插件启动时会检查补丁是否缺失。缺失时日志会告警:
[dsh-view-image] pi-ai vision patch is MISSING
5、视觉接口密钥只建议保存在本机 vision-bridge-config.json 或环境变量中,不要提交到仓库。
6、未配置视觉接口时,工具会明确报错,不会静默失败。
参考¶
GitHub 仓库:
https://github.com/lium970320/dsh-vision-bridge
已核实资料未给出可确认的目录页 URL,因此本文不列出目录页链接。