dsh-vision-adapter: Adding drag-and-drop image recognition capability to DeepSeek Harness

前言

用 DSH(DeepSeek Harness)做日常开发时,常会遇到这样的场景:手里有一张报错截图、一张架构图,想直接丢给 DeepSeek 问一句怎么回事。但 DeepSeek 的文本模型不收图,已有的做法要么换一个带视觉能力的工具识别完再复制回来,要么自己在中间多做一步描述转写,聊天上下文就断了。

dsh-vision-adapter 解决的就是这个问题:装一个插件,聊天入口完全不变,图片交给视觉模型识别、文字交给 DeepSeek 推理,拖图即用。

这是什么

dsh-vision-adapter 是 motongv 维护的 DSH 专属插件,分类为「模型推理」,许可证为 MIT。

有两点先说清楚:

  • 它不是通用 OpenAI 客户端工具,只服务于 DSH;
  • 它要求 DSH Web 界面(dsh web),运行环境要求 Node >= 18。

工作原理

插件在 DSH 内部起一个进程内 HTTP 桥,把选中的视觉模型注册为 llm-pi-ai 提供方。注册是增量合并的,不会覆盖其它插件或用户已有的视觉桥。

识别流程分两段:

图片 ──► 视觉模型(Kimi/智谱/千问/OpenAI/Gemini/豆包/MiniMax/阶跃星辰) ──► 文字描述
文字 + 描述 ──► DeepSeek ──► 回复

也就是说,图片先由视觉模型描述成文字,再把「文字 + 描述」交给 DeepSeek 推理,最终回复仍出自 DeepSeek。

核心功能

  • 可视化设置页:在 DSH「设置 → 视觉」提供设置界面,下拉选视觉厂商、粘贴 API Key、点「保存并应用」即可;
  • 8 家视觉厂商预设:Kimi、智谱 GLM、通义千问、OpenAI、Google Gemini、豆包、MiniMax、阶跃星辰,服务地址与模型名已预设好;
  • 两个新模型:保存后在聊天模型下拉新增「DeepSeek V4 Pro 视觉(X)」与「DeepSeek V4 Flash 视觉(X)」(X = 所选厂商),选中即可拖图识别;
  • 图片描述缓存:同一张图只调用一次视觉模型;
  • 限流退避重试:视觉接口遇到 429 / 并发限制时自动退避重试;
  • 兼容修复developer→system 角色归一化、max_completion_tokens→max_tokens 等;
  • 明文 Key 安全存储:粘贴的 Key 自动写入 DSH 凭据文件,设置文件只存引用名,并显示「已配置 / 缺失」状态;
  • 输出语言:描述语言可选中文或 English;
  • 高级区:可改 DeepSeek 文本后端(模型名 / 服务地址 / Key 引用),默认 deepseek-v4-pro + DEEPSEEK_API_KEY

安装与启用

一键安装:

dsh plugin --profile web add dsh-vision-adapter

安装完成后需要重启 DSH 才能生效。原因是 dsh plugin add 只修改配置,插件在 DSH 启动时才挂载。如果重启后没看到「设置 → 视觉」或新模型,先确认重启过。

配置步骤

重启后,按下面的顺序配置:

1、打开 DSH 的「设置 → 视觉」;
2、「视觉厂商」下拉选一家,服务地址与模型名自动填好;
3、在「API Key」框粘贴该厂商的明文 Key(已配置过 Key 的话,留空保存即可沿用);
4、「输出语言」选中文或 English;
5、点「保存并应用」。

保存时插件会把 Key 写入 DSH 凭据文件 ~/.dsh/.credentials.yaml,设置文件里只存引用名(如 VISION_API_KEYZHIPU_API_KEYOPENAI_API_KEY 等),设置页会显示「已配置 / 缺失」状态。

使用方式

经过上面的步骤,聊天输入框右下角的模型下拉里会出现两个新模型,对应两种 DeepSeek 文本推理后端:

DeepSeek V4 Pro 视觉(X)   → 文字走 DeepSeek V4 Pro
DeepSeek V4 Flash 视觉(X) → 文字走 DeepSeek V4 Flash

选中任意一个,即可在聊天里拖图识别。在设置里切换厂商时,模型名会同步更新——选智谱就显示智谱,选 MiniMax 就显示 MiniMax。

想接入预设之外的视觉厂商,改插件里 src/config.jsPROVIDERS,加一项预设即可,需要提供接口地址、模型、凭据引用名三样。

常见问题

识别时返回 401? 通常是 API Key 未配置、配错或已过期。先看设置页的「已配置 / 缺失」状态,确认无误后到对应厂商控制台换新 Key。

识别时返回 429? 是该视觉厂商免费额度限流。插件已内置退避重试与图片缓存,能缓解但不能消除上限;仍频繁出现,需给该厂商充值提额,或换额度更高的厂商。

适用场景与注意

适合已经在用 DSH Web 界面、希望不换聊天入口就能拖图问 DeepSeek 的人;前提是你手里有任一预设厂商的 API Key。

安装前注意以下几点:

  • 插件以当前 dsh 进程权限运行,安装前应检查插件源码与许可证(本项目为 MIT);
  • 要求 DSH Web 界面(dsh web)与 Node >= 18;
  • 这是 DSH 专属插件,不要拿到其它环境当通用客户端用。

小结

dsh-vision-adapter 用「视觉模型识图 + DeepSeek 推理」的组合,让 DSH 的聊天界面原生支持拖图识别,配置全程可视化,Key 的存储也走 DSH 凭据体系。如果你经常需要把截图丢给 DeepSeek,值得一装。

  • 插件目录页:https://www.skillhub.cn/plugins/motongv/dsh-vision-adapter
  • GitHub 仓库:https://github.com/motongv/dsh-vision-adapter
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye