前言¶
DeepSeek Harness(DSH)按模型声明的 inputModalities 决定是否放行 GUI 图片附件。DeepSeek-V4-Pro、普通 Flash 等 chat-completions 线路是纯文本模型,选中它们时直接粘贴图片会被原生拒绝。社区里已有视觉插件提供 view_image 等工具,但那是面向文件路径或 URL 的路径;对话中途附加的图片块,对纯文本模型仍然过不去。
dsh-vision-proxy 由 Flyvhidbwo 维护,在 DSH 里注册一条 deepseek-vision 提供商路由,对外声明支持图片输入,在请求流里把每张附加图片经 VLM 转译成文字,再委托给真正的 DeepSeek 适配器作答。对话大脑仍是 DeepSeek,识图是附加桥接能力。插件当前版本 0.4.1,MIT 许可,GitHub 14 stars,分类为模型推理。
需要说明的是:自 dsh 0.1.1 起,官方视觉模型(如 DeepSeek-V4-Flash-Vision-Exp)已原生多模态,直接发图即可,不必装本插件。本插件主要面向 Pro/文本 Flash 识图、本地 Ollama、以及自定义 OpenAI 兼容 VLM 场景。插件已适配 dsh 0.1.1-rc.2 的 adapter prepareCall 接口。
这是什么¶
dsh-vision-proxy 是 DeepSeek Harness 的 bundle 插件。它包装现有 DeepSeek 适配器,注册 deepseek-vision 路由(模型选择器显示为 DeepSeek + 自动识图),在附件预检阶段放行图片,随后用视觉语言模型把图片内容(OCR、版式、细节)转译为带 [图片转译] 前缀的纯文本,再交给 DeepSeek 生成回答。
数据流如下:
用户附加图片 ──▶ deepseek-vision 路由 ──▶ 经 VLM 转译(OCR+版式+细节)
│ │
▼ ▼
DeepSeek 作答 ◀── 纯文本对话(图片已替换为 [图片转译] 文字)
GUI 附加图片默认经官方 deepseek-v4-flash-vision-exp 做识图转译(与 V4-Pro 同档价约 1/3);也可在配置里换成百炼、智谱、OpenRouter 等任意 OpenAI 兼容 VLM,或依赖 autoLocalOllama 自动探测本地 Ollama。
核心功能¶
路由与转译¶
- 注册
providerId: deepseek-vision,内部委托innerProvider: deepseek-official。 - 每张 GUI 图片块经 VLM 转译后再进入 DeepSeek 对话;同一路由下原生
read_image工具同样可用。 - 转译结果按图片字节 SHA-256 做进程内缓存(上限 200 条),同一张图每个进程最多转译一次。
多后端与降级¶
- 支持任何 OpenAI 兼容
/chat/completions端点:百炼/Qwen、QwenCloud 国际站、智谱、OpenRouter、本地 Ollama、自建网关等。 fallbackModels可串联多家,每条可带独立baseURL/model/apiKey。autoLocalOllama默认开启:启动时探测http://localhost:11434,检测到 Ollama 即加入降级链,图片不出本机,免 key。- API key 读取顺序:配置
apiKey→ 环境变量VISION_API_KEY→DASHSCOPE_API_KEY。无 key 的非匿名条目会被跳过而非直接失败。
稳定性¶
- 匿名端点强制 20 秒超时;遇 HTTP 429 立即失败,不做 Retry-After 等待;刚失败端点进入 60 秒冷却。
- 没有 key 也没有本地 Ollama 时,转译在几秒内失败并给出可操作指引,不静默挂起。
- 错误按
rate_limit/quota/auth/region/model_not_found/context_too_large/http分类提示。 - 装有可选依赖
sharp时,超过maxImagePixels(默认 4000000)的图片转译前自动降采样;未安装则原图直发。
安装交互¶
postinstall脚本会询问是否有 VLM API key:回答y走付费快速通道,回答N(默认)走本地/零配置路径;非交互环境自动跳过。- 启动时打印 PRIVACY NOTICE,标明当前使用的端点。
安装与启用¶
运行环境要求 Node >= 22.19,dsh >= 0.1.0-rc.6。官方安装命令如下:
dsh plugin --profile web add dsh-vision-proxy
pnpm >= 10 默认拦截依赖构建脚本,首次安装可能以非零码退出并提示 Ignored build scripts: dsh-vision-proxy, sharp。需要在 profile 的 pnpm-workspace.yaml 里批准两者,然后重跑安装:
allowBuilds:
dsh-vision-proxy: true
sharp: true
dsh plugin --profile web add dsh-vision-proxy
npm 官方源较慢时,可指定镜像:
dsh plugin --profile web add dsh-vision-proxy --registry=https://registry.npmmirror.com
安装完成后重启 dsh web,在模型选择器里选 DeepSeek + 自动识图(deepseek-vision 路由),即可在对话里直接粘贴图片。
典型用法¶
GUI 粘贴识图¶
- 启动 DSH Web,选中
deepseek-vision路由。 - 在对话输入框粘贴图片并提问,例如「你看到了什么」。
- 插件把图片块经 VLM 转译为文字(含 OCR 与版式描述),DeepSeek 基于转译文本作答。
README 中的示例:用户粘贴表情包并提问,VLM 输出类似「我是吃白饭的 / 蓝色大肥鱼!……Q 版蓝发女仆装少女,身后蓝鲸尾巴,端碗举筷,表情兴奋」,DeepSeek 据此做完整视觉分析。单步约 7.6 秒(README 现场演示数据)。
自定义 VLM 后端¶
如需改用百炼或其他端点,在 profile 里用 id 定向覆盖,不要用 insert(否则会重复注册 adapter)。示例:
# $DSH_HOME/profiles/web/cordis.patch.yml
- id: dsh-vision-proxy
name: 'dsh-vision-proxy'
config:
baseURL: https://dashscope.aliyuncs.com/compatible-mode/v1
apiKey: 'sk-…'
model: qwen3.7-flash
maxTokens: 4096
timeoutMs: 120000
maxImagePixels: 4000000
marker: '[图片转译]'
autoLocalOllama: true
fallbackModels: []
常用后端参考(均走 OpenAI 兼容模式):
| 场景 | baseURL | model |
|---|---|---|
| 百炼(国内) | https://dashscope.aliyuncs.com/compatible-mode/v1 |
qwen3.7-flash / qwen3-vl-flash |
| 本地 Ollama(自动探测) | http://localhost:11434/v1 |
第一个视觉模型 |
| QwenCloud(国际) | https://dashscope-intl.aliyuncs.com/compatible-mode/v1 |
qwen3-vl-plus 等 |
| 智谱 | https://open.bigmodel.cn/api/paas/v4 |
glm-4.6v-flash |
适用场景与注意¶
适合谁
- 想在 DSH GUI 里用 DeepSeek-V4-Pro 或纯文本 Flash 处理图片附件。
- 希望图片经本地 Ollama 转译、不出本机。
- 已有百炼、智谱、OpenRouter 等 OpenAI 兼容 VLM key,想统一接入。
不必安装的情况
- 已选用官方原生多模态模型 DeepSeek-V4-Flash-Vision-Exp,直接发图即可。
安全与权限
- 插件以当前 dsh 进程权限运行,会向配置的 VLM 端点发送图片数据;安装前应阅读源码与 MIT 许可证,确认端点与隐私策略可接受。
- 启动时的 PRIVACY NOTICE 会标明实际使用的转译端点;本地 Ollama 路径下图片不出本机。
配置注意
- 覆盖配置请用顶层
- id: dsh-vision-proxy,勿写- insert: [{id: dsh-vision-proxy, …}],否则同 id 条目重复实例化,行为未定义。 - Windows 下环境变量变更可能不生效,建议在
cordis.patch.yml里直写apiKey。 - 插件不再内置匿名免费端点作为默认兜底;若自行添加匿名端点,须设
anonymous: true,20 秒超时上限仍生效。
结尾¶
dsh-vision-proxy 把「DeepSeek 作对话大脑」和「GUI 图片附件」接在一起:纯文本 DeepSeek 模型也能看图,转译后端可走官方视觉模型、百炼等云端 VLM,或零配置的本地 Ollama。对于需要在 Harness 里保持 Pro 推理、又不想放弃粘贴识图的工作流,这是一条可直接落地的路径。
- SkillHub 目录页:https://www.skillhub.cn/plugins/Flyvhidbwo/dsh-vision-proxy
- GitHub 仓库:https://github.com/Flyvhidbwo/dsh-vision-proxy