前言¶
DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。在使用视觉模型处理图片时,默认的适配器限制较为严格:每张图片的像素预算通常只有 640000(约 800×800),最大文件大小限制在 4MiB。这导致高分辨率图片在入库或传输时会被降质,影响识别精度。
dsh-highres-vision 是针对这一痛点的补丁插件。它主要解决两个问题:一是放宽 DeepSeek 系列模型的图片准入与存储限制,二是提供 highres_read 工具以分块方式读取大图。
插件概述¶
- 插件名称:
dsh-highres-vision - 维护者:
azwosile - 分类:模型推理
- 开源协议:MIT
- 核心功能:仅在 DeepSeek 系列模型下启用,自动抬升图片预算,提供高清分块识图工具。
核心功能¶
-
限定模型范围
插件仅在 DeepSeek 系列模型下启用。判定逻辑为 provider 为deepseek-official,或模型名包含deepseek。非 DeepSeek 会话会自动屏蔽highres_read工具,且不会影响其他会话。若判定失败,默认策略为allow。 -
自动抬升每模型图片预算
插件加载时会检查 DeepSeek 系列模型配置,并自动补全以下字段:imagePixelBudget: 1690000(1300×1300 像素)imageMaxBytes: 8388608(8 MiB)
这些配置会写入settings.yaml中的llm-deepseek命名空间,且无需重启即可生效。
-
放宽图片限制
插件同时放宽了图片的源准入限制与规范化限制:- 源准入:单图 32MiB,单边 8192px,单请求 600 张,inline 总量 64MiB。
- 规范化:像素上限 8192×8192(DSH 默认 2048×2048),长边 8192px,编码字节 16MiB。
- 注意: 仅放宽准入是不够的,插件会同时处理规范化限制,避免图片入库后被二次压缩。
-
高清分块识图
插件注册了highres_read工具。当用户发送大图且模型未调用该工具时,系统会自动定位会话最近一张用户图片,生成「整图 + ≤1300×1300 的高清分块」并通过宿主的read_image注入。分块重叠度可配置(默认自动)。插件不覆盖宿主的read_image方法。
安装与启用¶
插件依赖 Node.js 环境和 jimp 库。安装前请确保 DSH 内核版本 >= 0.1.2-rc.1。
- 克隆仓库:
git clone https://github.com/azwosile/dsh-highres-vision.git
- 添加插件:
dsh plugin --profile web add ./dsh-highres-vision
安装完成后需重启一次 DSH Desktop,以使放宽准入限制的 bundle 补丁生效。
配置示例¶
在 DSH 的插件配置中添加以下 YAML 结构。modelImagePixelBudget 需要与 tile 保持一致。
- id: dsh-highres-vision
name: dsh-highres-vision
config:
deepseekOnly: true # 仅在 DeepSeek 系列模型下启用
unknownModelPolicy: allow # 判定失败时的策略:allow | deny
autoRaiseModelBudget: true # 是否自动抬升模型预算
modelBudgetScope: deepseek # 调整范围:deepseek | all
modelImagePixelBudget: 1690000 # 像素预算 (1300x1300)
modelImageMaxBytes: 8388608 # 最大字节 (8 MiB)
tile: 1300 # 分块边长
overlap: 0 # 0 为自动重叠
remind: true # 是否开启 pre-step 提醒
remindThreshold: 1300 # 提醒阈值
自检与回滚¶
- 自检脚本(不安装插件亦可运行):
node verify.mjs
node verify.mjs <样本目录>
node verify-kernel.mjs <内核树A> [内核树B] ...
其中 `verify-kernel.mjs` 用于对比宿主契约,退出码 0 表示无需修改代码。
- 回滚卸载:
dsh plugin --profile web remove dsh-highres-vision
注意事项¶
- 模型支持:插件仅适用于 DeepSeek 的视觉模型。自 2026-09-10 起,视觉模型正式名为
deepseek-flash(DeepSeek-V4.1-Flash)。旧名仍兼容,但deepseek-v4-pro官方不支持视觉。 - 配置残留:插件写入的预算配置在卸载后不会自动从
settings.yaml中删除,需手动删除对应字段。 - 内核版本:最低要求内核版本 0.1.2-rc.1。