DeepSeek Harness (DSH) 是一个插件化系统。纯文本大模型(如 DeepSeek V4 系列)无法直接处理图片输入,导致在处理包含图表、文档截图或界面截图的任务时需要额外的人工辅助。dsh-image-describer 插件通过拦截 DSH 的消息流,将图片内容转写为结构化文本,从而赋予纯文本模型“看图”的能力。
核心功能¶
该插件提供以下能力:
- 双模视觉交互:支持聊天框直接粘贴/拖拽图片(附件模式)和对话中主动调用工具(Tool 模式)。
- 自动转写与 OCR:能够自动提取图片中的文字内容(OCR)与版面结构,生成结构化上下文。
- 工具调用支持:模型可在对话中主动触发
describe_image工具,针对本地图片路径进行定向分析。 - 上下文优化:将图片输入转换为明确的系统提示词,避免纯文本模型因接收二进制数据而崩溃。
安装¶
在插件所在目录下执行以下命令,将其添加到 Web Profile:
npx @deepseek-ai/dsh plugin --profile web add ./dsh-image-describer
安装完成后,启动 DeepSeek Harness Web 服务:
dsh web --profile web
使用方法¶
插件支持两种互补的视觉交互场景。
场景一:聊天框粘贴图片(附件模式)¶
在 Web UI 聊天输入框中直接使用 Ctrl + V 粘贴屏幕截图,或将图片文件拖入输入框发送。
- 图片会作为
ImageBlock附加在用户消息中。 - 插件拦截该请求,调用配置的多模态视觉模型(默认
MiniMax-M3)进行 OCR 和内容识别。 - 插件将图片内容替换为包含识别结果的系统提示词。
- 纯文本模型直接基于识别到的文字内容回答,无需执行额外的文件搜索或工具调用。
场景二:对话中提及文件路径(Tool 模式)¶
在对话中提及本地图片路径,模型会主动调用 describe_image 工具进行分析。
- 用户示例:
Analyze the microservice architecture in assets/architecture.png. - 用户示例:
What is the error code in the bottom-left corner of Screenshot.png? - 模型触发工具后,工具读取本地文件并调用视觉模型分析,将结果返回给模型进行最终回答。
配置说明¶
要使用该插件,需完成两步配置。
1. 开启文本模型的图片输入通道¶
DSH 的 Web UI 和 API 网关会检查模型是否声明了 image 模态。需要在 ~/.dsh/settings.yaml 中为对应的文本模型添加声明:
llm-pi-ai:
providers:
minimax-cn:
apiKeyEnv: MINIMAX_CN_API_KEY
opencode-go:
apiKeyEnv: OPENCODE_GO_API_KEY
modelOverrides:
deepseek-v4-flash:
input: [text, image]
deepseek-v4-pro:
input: [text, image]
2. 插件配置¶
在 Profile 的 cordis.patch.yml 中配置插件参数:
- insert:
- id: image-describer-tool
name: dsh-image-describer
inject: [tools, llm, attachments]
config:
provider: minimax-cn # 多模态模型提供者路由
model: MiniMax-M3 # 视觉模型 ID
maxTokens: 2048 # 单次分析最大输出 tokens
timeoutMs: 60000 # 分析超时时间(毫秒)
注意事项¶
- 前置依赖:必须在
settings.yaml中正确配置多模态视觉模型(默认MiniMax-M3)及其 API Key,否则插件无法工作。 - 模型声明:必须为文本模型声明
input: [text, image],否则无法启用图片输入功能。 - 性能限制:单次分析最大输出 tokens 限制为 2048,超时时间设置为 60000 毫秒。