前言¶
DeepSeek Harness (DSH) 的运行时通过模型元数据中的 inputModalities 字段来判断是否允许图像输入。当配置第三方模型或自定义提供方时,DSH 往往无法自动推断该模型是否支持图像,导致消息图片、read_image 工具调用或附件上传被拦截。
dsh-model-modality 插件提供了一种显式声明的方式,让用户将模态声明写入拥有该模型的提供方设置中,从而绕过运行时的自动推断限制。
插件定位¶
本插件隶属于 DeepSeek Harness 生态,由用户 ct-jyjntc 维护。它主要用于解决第三方模型(中转站 / 自定义提供方)的输入模态未知问题,通过在元数据中写入 inputModalities,确保图像相关功能正常工作。
核心功能¶
- 模态声明:允许用户声明某个模型是否支持图像输入。
- 元数据写入:将声明的模态信息写入模型元数据。
llm-deepseek(官方 / 自定义 baseURL):写入models[].inputModalitiesllm-pi-ai(第三方提供方目录):写入models[].input或modelOverrides[].input
- 工具支持:提供两个主要工具供 agent 调用:
declare_model_multimodal(provider, model, supportsImage)list_model_multimodal(provider?, model?)
- 可选 UI:提供浏览器端的多模态开关界面(需动态挂载)。
安装¶
使用官方插件管理命令安装:
dsh plugin add ct-jyjntc/dsh-model-modality
典型用法¶
安装后,可在对话中直接调用工具进行声明或查询。
声明模型支持图像:
declare_model_multimodal(provider="raincode", model="kimi-k3", supportsImage=true)
→ { ok: true, verified: true, inputModalities: ["text","image"], ... }
列出模型模态:
list_model_multimodal(provider="raincode")
注意事项¶
- 依赖版本:本插件依赖
@deepseek-ai/dsh-tools,版本范围需满足>=0.0.1-rc.1 <0.1.0 || >=0.1.0-rc.1 <0.2.0-0,安装前请检查本地环境版本。 - 持久化位置:声明的数据写入提供方(Provider)的模型设置中,与插件本身独立。在 DSH 的 Models 设置页可查看与编辑这些数据。
- 浏览器端 UI:设置页及 Run 卡片面板的「多模态(图像输入)」开关属于可选功能。由于客户端模块未随本包发布,若需在浏览器端使用该 UI,需让 agent 在会话中动态挂载插件。
总结¶
该插件通过显式声明解决了第三方模型在 DSH 环境下的多模态输入识别问题。更多细节与源码请访问 GitHub 或查看 社区目录。