dsh-read-image-jpeg-fallback
在终端中运行以下命令:
dsh plugin install wuyiwuaa1-ship-it/dsh-read-image-jpeg-fallback
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install wuyiwuaa1-ship-it/dsh-read-image-jpeg-fallback 即可安装该插件,源码见 https://github.com/wuyiwuaa1-ship-it/dsh-read-image-jpeg-fallback
插件介绍
在 DSH 搭配 LM Studio 的 openai-completions 路由下,read_image 工具调用本身可以成功,但随后构建 Provider 请求时,PNG 或 WebP 格式的图像附件会被 LM Studio 直接拒绝。dsh-read-image-jpeg-fallback 正是针对这一传输层格式不匹配而生的轻量兼容垫片——它不替换 read_image、不引入 OCR、不调用额外的视觉模型,只在图像块即将进入 Provider 请求前,用 sharp 将 PNG/WebP 透明转码为不透明 sRGB JPEG(质量 90),随后让请求沿原有的多模态路径正常发出。转换全程在本地完成,主模型看到的仍然是图像本身,而非文字描述或工具输出。
插件挂载在 DSH 的 tools/post-execute 钩子之上,对已含 PNG 或 WebP 图像块的 read_image 结果生效:读取原始附件、转码、经 DSH attachment store 写入新 JPEG 附件、仅替换模型可见的图像块引用。原始的规范工具结果与内置 read_image 实现均不受影响。若转码任何一步失败,插件遵循 fail-open 策略——保留原始结果、写入日志警告,绝不将成功的工具调用变成插件错误。
如果你的主模型已经原生支持图像输入,使用 LM Studio 的 OpenAI 兼容接口,且 read_image 在请求构建阶段因格式被拒,这个插件就是最对症的方案。反过来,如果你的 Provider 已经能直接接受 DSH 发出的 PNG/WebP,或你的主模型是纯文本模型而真正需要的是 OCR 或视觉回退,那这个插件并不适用。
使用场景
- DSH + LM Studio 下 read_image 调用成功,但后续 Provider 请求因 PNG/WebP 格式被拒绝
- 希望保持原生多模态图像流程,不引入 OCR 或额外视觉模型
- OpenAI-compatible 路由不接受 DSH 默认输出的图像编码格式时的透明修复
适合人员
- 使用 DSH + LM Studio 且主模型已原生支持图像输入的开发者
- 偏好零配置、透明转码而非手动切换图片格式的终端用户
- 坚持 read_image 原生多模态路径而非回退到视觉模型或 OCR 方案的开发者