前言¶
在 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 中仍然显示原始图片。
视觉模型选择策略¶
插件有两种模式:
-
Auto 模式
按 provider 注册顺序遍历已添加且声明image输入的模型,使用第一个成功的模型;如果不可用,则回退系统 OCR。 -
指定模型模式
只使用 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 安装。
dshCLI 在 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
典型用法¶
下面是一个可复现的基本流程:
- 确认已经添加至少一个在
inputModalities中声明image的模型,或者确认当前平台可走系统 OCR。 - 在插件目录中运行:
dsh plugin --profile web add .
- 重启
dsh web。 - 打开
Settings → 视觉识别,选择Auto或指定识图模型。 - 在包含图片的会话中使用文本模型。当请求需要发给 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/streampass 中被描述。 - 插件以当前
dsh进程权限运行。安装前应检查源码、依赖与许可证。本插件许可证为 MIT。
链接¶
- GitHub:https://github.com/yepyeel/dsh-vision
- 插件目录页:https://www.skillhub.cn/plugins/yepyeel/dsh-vision