前言¶
在使用 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 仓库。