m0r1c/dsh-vision-fix-lmstudio:解决 LM Studio 本地 Vision 模型的图片格式兼容性问题

前言

在使用 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 之前,对消息中的图片附件进行格式转换和预处理。

核心功能

  1. 实时格式转换:支持在发送前将图片转换为 JPEG、PNG 或 WebP,解决本地模型格式不兼容的问题。
  2. UI 管理界面:提供图形化界面,通过复选框快速开启或关闭特定模型的转换功能。
  3. 灵活过滤:支持通过通配符模式(如 lmstudio/*)过滤 Provider 和模型,实现精细控制。
  4. 参数配置:可配置图片质量、压缩级别及最大尺寸,防止超大图导致处理失败。
  5. 插件兼容:与 dsh-plugin-wallpaper-engine 等插件兼容,通过 WeakSet 机制防止重复处理同一次请求。

安装

使用官方 CLI 安装:

dsh plugin --profile web add github:MORIC/dsh-vision-fix-lmstudio

使用方法

  1. 打开 DeepSeek Harness Desktop。
  2. 进入 Settings → Image Format。
  3. 在列表中勾选需要转换图片格式的模型。
  4. 使用 Enable / Disable 按钮批量控制同组模型。
  5. 在搜索框或 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 仓库。

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

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

小夜