dsh-read-image-jpeg-fallback:DSH 插件,將 read_image PNG/WebP 轉爲 JPEG 以兼容 LM Studio

在 DSH 與 LM Studio 結合使用的場景中,read_image 工具生成的圖片附件有時會被 LM Studio 的 openai-completions 路由拒絕,報錯提示 'url' field must be a base64 encoded image。dsh-read-image-jpeg-fallback 插件正是爲了解決這一傳輸層的格式兼容問題。

這是一個零配置的 DSH 圖像兼容層插件。它通過 DSH 的 tools/post-execute 鉤子,在 read_image 工具執行後介入,將模型可見的 PNG/WebP 圖片塊轉換爲不透明 sRGB 格式的 JPEG,而 JPEG 及其他媒體類型則保持原樣。

核心功能

  • 格式轉換:將 image/png 和 image/webp 附件轉換爲不透明 sRGB JPEG。
  • 兼容透傳:JPEG 和其他媒體類型保持不變。
  • 零配置:無需修改配置文件或編寫腳本。
  • 鉤子機制:利用 DSH 的 tools/post-execute 鉤子實現透明轉換。

安裝與啓用

該插件依賴 DSH 0.1.1-rc.2、Node.js >= 22 以及 sharp 0.35.3。安裝命令如下:

dsh plugin --profile web add dsh-read-image-jpeg-fallback

安裝完成後需要重啓 DSH Web。

典型用法

使用方式與原生 read_image 一致。插件在後臺自動運行,當檢測到 PNG/WebP 圖片時,會自動生成 JPEG 替代品供模型使用。不需要調用新的工具或修改代理工作流。

適用場景與注意

  • 適用場景:主模型已支持圖像輸入,且使用 LM Studio 的 OpenAI 兼容接口;read_image 在構建下一個模型請求時報錯。
  • 注意點:該插件是媒體格式兼容層,不是視覺模型或 OCR 插件。若轉換失敗,插件採用 Fail Open 策略,保留原始 read_image 結果並記錄警告,不會導致工具調用失敗。
  • 環境要求:已確認在 Windows 環境下可用。

結語

該插件在保持原生 DSH 多模態流程的前提下,解決了傳輸層格式不匹配的問題。隨着上游支持完善,該插件可能不再需要。

羽毛球分组比赛记分
小程序二维码

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

小夜