前言¶
DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。在开发智能体时,主模型往往通过纯文本路由(例如通过 pi-ai 路由的 DeepSeek V4 Flash)运行,这导致模型无法直接处理图片输入。现有的社区方案通常需要替换官方适配器,这种方式侵入性强且容易破坏插件生态的稳定性。dsh-image-vision 插件通过包装 llm.resolveModelInfo 并监听官方 agent/pre-step 瀑布流,在不触碰任何主机代码或核心文件的前提下,让纯文本主模型具备图片理解能力。
核心功能¶
- 通用图片输入:支持在对话中粘贴或拖拽图片。即使主模型声明仅支持文本,图片也会被传递给视觉模型进行描述,最终以文本形式返回给主模型。
- 飞书/Lark 文档支持:解析飞书/Lark 文档中的
<image token>,自动下载图片并描述,结果注入到工具输出中。 - 语义理解而非 OCR:不仅识别文字,还能描述场景、人物、表格和图表的语义。
- 本地描述工具:提供
describe_image模型工具,可直接描述本地图片路径。
安装与启用¶
使用 dsh plugin 管理器安装插件:
npx @deepseek-ai/dsh plugin --profile web add github:VeryInt/dsh-image-vision
安装完成后,重启 DeepSeek Harness。插件将在 Settings → Plugins 中出现。
配置说明¶
该插件依赖配置视觉模型提供者。在 settings.yaml 中添加支持图片输入的模型配置,并声明 input: [text, image]。
llm-pi-ai:
providers:
modelscope:
displayName: ModelScope
apiKeyEnv: MODELSCOPE_API_KEY
api: openai-completions
baseURL: https://api-inference.modelscope.cn/v1
models:
- id: Qwen/Qwen3-VL-8B-Instruct
name: Qwen3-VL-8B
input: [ text, image ]
同时,在插件配置(cordis.patch.yml)中指定视觉模型路由。若两者均留空,插件将自动扫描 settings.yaml 中首个声明 input: [text, image] 的模型。
使用示例¶
- 粘贴图片:在聊天框粘贴图片,模型将输出
[图片内容] ...。 - 飞书文档:使用飞书工具读取文档后,模型可描述其中的图片内容。
- 本地文件:调用
describe_image工具,传入本地文件路径获取描述。
注意事项¶
- 环境要求:需要 DeepSeek Harness 0.1.0-rc.6 及以上版本,以及 Node.js >= 22.19。
- 模型后缀:必须使用带有
VL后缀的视觉模型(如Qwen/Qwen3-VL-8B),纯文本模型即使配置了图片输入也无法生效。 - 生态差异:与需要替换官方适配器的社区方案不同,此插件不破坏官方插件生态,适用于任何纯文本路由。
- 权限限制:插件以当前 DSH 进程权限运行,安装前请检查源码与许可证。
总结¶
dsh-image-vision 是一个轻量级的 DSH 插件,它通过包装现有的 llm 服务接口,为纯文本模型提供了无缝的图片理解能力。它不修改主机代码,不替换官方适配器,非常适合需要在不破坏现有架构的情况下接入视觉能力的开发者。