dsh-vision:让文本模型在 DSH 中处理带图请求

前言

在 DSH 的 Web 会话或智能体流程里,如果当前选中的是 DeepSeek V4 Flash、DeepSeek V4 Pro 这类文本模型,但请求中带有图片,模型本身无法直接识别这些图片。dsh-vision 解决的就是这个问题:当请求包含图片、而目标模型不能识图时,它先描述图片,再把 provider 调用中的图片块替换为文本描述。会话日志和 UI 仍然保留原始图片。

这是什么

yepyeel/dsh-vision 是一个 DSH 插件,用于为文本模型提供可用的视觉识别能力。它的核心行为是:

  • 当请求包含图片且目标模型不能识图时,描述图片。
  • 仅将 provider 调用中的图片块替换为文本描述。
  • Session log 和 UI 保留原始图片。
  • 许可证为 MIT。

核心功能

图片描述与替换

当请求包含图片、且目标模型不能识图时,插件会描述图片,并将 provider 调用中的图片块替换为文本描述。

替换只发生在发给 provider 的调用层。Session log 和 UI 中仍然显示原始图片。

视觉模型选择策略

插件有两种模式:

  1. Auto 模式
    按 provider 注册顺序遍历已添加且声明 image 输入的模型,使用第一个成功的模型;如果不可用,则回退系统 OCR。

  2. 指定模型模式
    只使用 Settings 中选择的一个已添加视觉模型。失败不会重试,也不会回退到其他模型或系统 OCR。

系统 OCR 回退

系统 OCR 回退按平台使用:

  • macOS:Vision framework
  • Windows:Windows.Media.Ocr
  • 其他平台:可安装 Tesseract,并在 PATH 中使用

注意:系统 OCR 是文本提取,不是场景描述。

描述结果缓存

插件会按“附件 + 模型”或“附件 + OCR”缓存描述结果,缓存持续到进程结束。也就是说,同一进程内后续轮次不会重复发起相同的视觉模型调用或 OCR 调用。

能力声明与请求改写

插件在启动时包装 ctx.llm.resolveModelInfo,为文本模型声明 image 输入能力,使 image-admission 门控和 read_image 工具可用。

随后,插件在 llm/stream waterfall 中改写请求:将图片替换为描述,并调用视觉模型。

安装与启用

安装前要求

安装前需要满足以下条件:

  • 已有 DeepSeek Harness 安装。
  • dsh CLI 在 PATH 中。
  • 如果使用视觉模型描述:至少一个已添加模型在 inputModalities 中声明 image
  • 如果使用 OCR fallback:
  • macOS 使用 Vision framework,无需额外安装。
  • Windows 使用 Windows.Media.Ocr,无需额外安装。
  • 其他平台需要 Tesseract 安装在 PATH 中。

安装

先进入插件目录,然后运行:

dsh plugin --profile web add .

安装后重启 dsh web,使新 bundle layer 和客户端设置页加载。

移除

如需移除插件,运行:

dsh plugin --profile web remove dsh-vision

典型用法

下面是一个可复现的基本流程:

  1. 确认已经添加至少一个在 inputModalities 中声明 image 的模型,或者确认当前平台可走系统 OCR。
  2. 在插件目录中运行:
   dsh plugin --profile web add .
  1. 重启 dsh web
  2. 打开 Settings → 视觉识别,选择 Auto指定识图模型
  3. 在包含图片的会话中使用文本模型。当请求需要发给 provider 时,插件会把图片块替换为描述后的文本;Session log 和 UI 仍保留原始图片。

相同的配置值保存在:

$DSH_HOME/settings.yaml

其中位于:

dsh-vision:

适用场景与注意

适合的场景:

  • 你使用 DeepSeek V4 Flash、DeepSeek V4 Pro 等文本模型。
  • 会话中会出现图片附件。
  • 你希望文本模型继续处理上下文,同时由其他视觉模型或系统 OCR 提供图片描述。
  • 你已经添加了声明 image 输入的视觉模型,或当前平台支持系统 OCR。

使用前需要注意:

  • 只会在 inputModalities 中声明 image 的模型中选择。
  • 能识图但未声明的 gateway 模型不会被选择。
  • 指定模型模式是 fail-closed:缺失、文本模型或出错模型不会被替换。
  • 系统 OCR 是文本提取,不是场景描述。
  • Settings RPCs 仅 loopback。
  • 由于 image 能力被声明,已包含图片的会话可以切回文本模型;历史图片会在下一次 llm/stream pass 中被描述。
  • 插件以当前 dsh 进程权限运行。安装前应检查源码、依赖与许可证。本插件许可证为 MIT。

链接

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

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

Xiaoye