DeepSeek Harness 插件:dsh-model-modality

前言

DeepSeek Harness (DSH) 的运行时通过模型元数据中的 inputModalities 字段来判断是否允许图像输入。当配置第三方模型或自定义提供方时,DSH 往往无法自动推断该模型是否支持图像,导致消息图片、read_image 工具调用或附件上传被拦截。

dsh-model-modality 插件提供了一种显式声明的方式,让用户将模态声明写入拥有该模型的提供方设置中,从而绕过运行时的自动推断限制。

插件定位

本插件隶属于 DeepSeek Harness 生态,由用户 ct-jyjntc 维护。它主要用于解决第三方模型(中转站 / 自定义提供方)的输入模态未知问题,通过在元数据中写入 inputModalities,确保图像相关功能正常工作。

核心功能

  1. 模态声明:允许用户声明某个模型是否支持图像输入。
  2. 元数据写入:将声明的模态信息写入模型元数据。
    • llm-deepseek(官方 / 自定义 baseURL):写入 models[].inputModalities
    • llm-pi-ai(第三方提供方目录):写入 models[].input 或 modelOverrides[].input
  3. 工具支持:提供两个主要工具供 agent 调用:
    • declare_model_multimodal(provider, model, supportsImage)
    • list_model_multimodal(provider?, model?)
  4. 可选 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 或查看 社区目录。

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

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

小夜