DSH 模型不支持图片、发图报错怎么办?DeepSeek Harness 多模态模型配置与图片请求失败修复

配置与使用发布于 2026-08-26作者: DSH Plugin 插件中心
DeepSeek HarnessDSH plugin多模态图片报错模型配置
DSH 报模型不支持图片,是手写模型默认按纯文本对待,附加图片发送前即被拒;在 settings.yaml 给模型加 input: [text, image] 即可。老版本图片过大或累计载荷高还会请求失败,rc.8 已修复。

DSH 报「the current model do not support image」,是因为手写模型默认按纯文本对待——附加图片在发送前就被拒,并点名具体模型。修复方式:在 settings.yaml 给该模型加 input: [text, image]。另外,老版本(rc.8 之前)图片过大或历史图片累计载荷过高还会导致请求直接失败,官方已在 v0.1.0-rc.8 修复,更新即解决。

报错含义:为什么模型「不支持图片」

没有机制能询问端点接受哪些模态,所以手动录入的模型默认纯文本——图片在发送前就被拒。 官方文档的原话很直白:手写的模型在声明之前按纯文本对待,给这种模型附加图片,会在发送前被拒绝,并点名模型(来源)。

三个要点:

  1. 这个拒绝发生在发送之前——不是端点拒绝的,是 dsh 自己拦下的。
  2. 报错会点名具体模型,告诉你到底是哪个模型不带图片能力。
  3. 手动录入的模型 = 你在设置里手写 ID 的模型;从目录添加的模型,由目录记录声明模态(来源)。

配置视觉模型:开启图片输入的完整步骤

给模型声明图片模态,一句话:在 settings.yaml 里加 input: [text, image] 按下面 4 步配置:

  1. 打开配置文件$DSH_HOME/settings.yaml(没有就新建;这是 dsh 的全局设置文件)。
  2. 给单个模型声明图片:在对应 Provider 的 models 里,给目标模型加 input
    yaml
    llm-pi-ai:
      providers:
        my-gateway:
          apiKeyEnv: GATEWAY_API_KEY
          api: openai-completions
          baseURL: https://gateway.example/v1
          models:
            - id: vision-preview
              input: [text, image]   # 声明这个模型支持图片
    
  3. 一条路由全部模型都要图片,写路由级回退:把 defaultInput 写在路由上,只写一次:
    yaml
    defaultInput: [text, image]   # 路由级回退,默认是 [text]
    
    defaultInput回退不是覆盖:目录记录的模型有自己的模态,回退只作用于目录没描述的模型(来源)。
  4. 目录模型的覆盖用 modelOverrides:目录 Provider 没有 models 列表可写,要按模型 ID 覆盖:
    yaml
    llm-pi-ai:
      providers:
        anthropic:
          modelOverrides:
            claude-sonnet-4-5:
              input: [text]   # 按模型 ID 覆盖模态
    
    配置改完下一次请求就生效,不用重启来源)。

版本修复故事:老版本图片请求失败,更新即解决

如果你已经配置了 input: [text, image] 还是发图失败,先看版本——老版本的已知 bug 就是发图失败。 v0.1.0-rc.8 的官方修复记录明确写了:修复了「图片尺寸过大或历史图片累计载荷过高导致模型请求失败」,以及「部分自定义 OpenAI 兼容网关因请求格式差异无法调用」(来源)。

这正好解释两种常见现象:

  1. 发小图没问题、发大图失败:老版本的载荷处理有上限,图片太大就把请求带崩了——rc.8 修复,更新即可。
  2. 多轮会话发过图片后,后续请求失败:历史图片累计载荷过高(同一会话反复带图),同样是 rc.8 修复的范围。

更新步骤:

  1. 查看当前版本与最新版本:npm view @deepseek-ai/dsh version
  2. 更新到最新版(一次性运行 npx @deepseek-ai/dsh web 会拉最新;全局安装用 npm update -g @deepseek-ai/dsh)。
  3. 更新后重启 Web UI、开新会话再发图验证。

注意事项

  1. 手写模型默认纯文本,「不支持图片」= 没声明 input,不是模型坏了。
  2. 声明模态用 input,但别声明端点实际不支持的模态——请求会被提供方拒绝(来源)。
  3. defaultInput 是回退不是覆盖,目录记录的模型按自己的记录走。
  4. 老版本发图失败先更新(rc.8 修复),别反复改配置。
  5. 被拒的图片会留在会话日志里,改完配置要开新会话。
  6. DeepSeek 官方 chat-completions 路由纯文本,图片能力要接支持视觉的端点;模型管理类插件可在 DSH Plugin Hub 的模型分类下找。
dsh-plugin-hub · 插件中心
DSH Plugin Hub 插件中心:模型分类下挑选模型管理插件

来源:配置模型(官方文档)v0.1.0-rc.8 Release Notes

常见问题

dsh 报 the current model do not support image 是什么意思?

手动录入(手写)的模型默认按纯文本对待——没有任何机制能询问端点接受哪些模态,所以附加图片在发送前就被拒绝,并点名具体模型(官方文档原文)。需要给该模型声明 input: [text, image]。

怎么让 DSH 里的模型支持图片?

打开 $DSH_HOME/settings.yaml,给对应 Provider 的模型加 input: [text, image];一条路由下所有手写模型都吃图片,可在路由上写一次 defaultInput: [text, image] 作为回退(默认是 [text])。目录模型没有 models 列表,要写在 modelOverrides 下按模型 ID 覆盖。

图片发出去后请求失败,是配置问题还是版本问题?

看情况。老版本(v0.1.0-rc.8 之前)图片尺寸过大、或历史图片累计载荷过高,会导致模型请求直接失败——这是官方修复记录里写明的问题,更新到新版本即可;如果确认是新版本,再检查 input 声明与端点是否真的支持图片。

自定义网关拒绝带图片的请求怎么办?

你声明了端点实际不提供的图片能力:从授予它的位置移除 image——模型级的 input 或路由级的 defaultInput,然后开新会话(附加的图片会留在会话日志里,老会话会反复重试同一请求)。另外 rc.8 也修复了部分自定义 OpenAI 兼容网关因请求格式差异无法调用的问题,先更新再排查。

DeepSeek 官方模型支持图片吗?

DeepSeek 官方 chat-completions 路由是纯文本的,声明 input 不会让它真的支持图片——请求会被提供方拒绝(官方文档原文)。要用图片能力,请接真正支持视觉模态的模型端点。

来源