前言¶
在使用 DeepSeek Harness (DSH) 調用本地 LM Studio 的 Vision 模型時,常遇到 400: 'url' field must be a base64 encoded image 的錯誤。這通常是因爲本地模型對圖片格式有特定要求(如偏好 JPEG),而 DSH 默認發送的格式(如 WebP)不被支持。該插件在請求發送給 Provider 之前,自動攔截並轉換圖片格式,確保模型能正常接收圖像。
插件簡介¶
該插件由 M0R1C 維護,旨在修復本地 Vision 模型的圖片格式兼容性問題。它通過 DSH 的 llm/stream 鉤子工作,在請求離開 DSH 之前,對消息中的圖片附件進行格式轉換和預處理。
核心功能¶
- 實時格式轉換:支持在發送前將圖片轉換爲 JPEG、PNG 或 WebP,解決本地模型格式不兼容的問題。
- UI 管理界面:提供圖形化界面,通過複選框快速開啓或關閉特定模型的轉換功能。
- 靈活過濾:支持通過通配符模式(如
lmstudio/*)過濾 Provider 和模型,實現精細控制。 - 參數配置:可配置圖片質量、壓縮級別及最大尺寸,防止超大圖導致處理失敗。
- 插件兼容:與
dsh-plugin-wallpaper-engine等插件兼容,通過WeakSet機制防止重複處理同一次請求。
安裝¶
使用官方 CLI 安裝:
dsh plugin --profile web add github:MORIC/dsh-vision-fix-lmstudio
使用方法¶
- 打開 DeepSeek Harness Desktop。
- 進入 Settings → Image Format。
- 在列表中勾選需要轉換圖片格式的模型。
- 使用 Enable / Disable 按鈕批量控制同組模型。
- 在搜索框或 Additional Templates 中輸入通配符模式(如
lmstudio/*)來過濾或排除模型。
配置說明¶
目前高級設置需直接編輯 cordis.patch.yml 文件。以下爲配置項示例:
- insert:
- id: image-format-converter
name: 'dsh-image-format-converter'
config:
targetFormat: jpeg # jpeg | png | webp
jpegQuality: 90 # 1..100
pngCompression: 6 # 0..9
webpQuality: 85 # 1..100
convertOversized: true # 是否轉換過大圖片
maxDimension: 2048 # 最大邊長,像素
修改配置後需重啓 DSH。
環境要求¶
- DeepSeek Harness: 0.1.2-rc.1 或更新版本
- Node.js: >= 20
總結¶
安裝並配置後,DSH 會自動處理圖片格式轉換,無需手動干預。該插件適用於需要調用本地 Vision 模型且存在格式兼容性問題的場景。更多細節請查看 GitHub 倉庫。