DeepSeek Harness 能识图吗?图片理解能力配置与使用指南
2026-08-18 11:40:40阅读 4
DeepSeek Harness(简称 dsh)是 DeepSeek AI 开源的一款 Agent 运行框架,核心设计是"一切皆插件"。很多用户会问它能不能"看懂图片"——比如识别截图、读取文档扫描件、分析图表。答案是可以,但有前提:dsh 本身不限制图片,限制的是你配置的模型是否支持多模态。本文把识图能力的原理、配置方法和注意事项讲清楚。
一、先说结论:能不能识图,取决于模型
dsh 作为框架,对图片的态度是"模型支持就支持"。它不会主动拦截图片,但也不会替模型做判断——最终能否识图,由你接入的模型决定:
- 接入支持视觉的模型(如 Claude、GPT 系列多模态模型)→ 可以识图
- 接入纯文本模型(如 DeepSeek 自身的 chat-completions 路由)→ 不能识图
所以问题的关键不是"dsh 能不能",而是"你配的模型有没有图片能力"。
二、一个容易被忽略的默认行为
官方文档明确说明:手动录入的模型,在声明图片能力之前,一律按纯文本对待。
也就是说,即使你接入的模型本身支持识图,如果不做配置,给这个模型发图片也会在发送前被拒绝,并提示该模型不支持。这是 dsh 的保守默认——因为框架无法自动询问每个端点接受哪些输入。
三、怎么开启识图:配置声明
给自定义提供方下的视觉模型加一行声明即可。编辑 $DSH_HOME/settings.yaml(默认 ~/.dsh 下):
llm-pi-ai:
providers:
my-gateway:
apiKeyEnv: GATEWAY_API_KEY
api: openai-completions
baseURL: https://gateway.example/v1
models:
- id: legacy-chat # 纯文本模型,不声明
- id: vision-preview # 视觉模型,声明图片能力
input: [text, image]关键点:
input: [text, image]表示该模型接受文字和图片两种输入- 声明只作用于单个模型,一条路由可以同时服务纯文本和视觉两类模型
- 如果手动录入的模型全都支持图片,可以在路由层设一次默认值,不用逐个写:
llm-pi-ai:
providers:
vision-gateway:
apiKeyEnv: GATEWAY_API_KEY
api: openai-completions
baseURL: https://vision.example/v1
defaultInput: [text, image]
models:
- id: first-model
- id: second-model四、一个重要的注意事项
input 字段是对端点能力的声明(断言),而不是检查:
- 你声明了模型支持图片,但端点实际不支持 → 请求会被提供方拒绝
- 此时需要移除该模型的 image 声明,并开启新会话——因为附加的图片会留在会话日志里,不换会话的话,同一个请求会反复重试
五、常见问题速查
| 现象 | 原因与处理 |
|---|---|
| 发图片被拒,提示模型不支持 | 模型未声明图片模态,给自定义模型加 input: [text, image] |
| 加了声明仍被拒 | 端点其实不支持图片,移除 image 声明并开新会话 |
| DeepSeek 官方模型能不能识图 | 其 chat-completions 路由是纯文本的,无法通过配置改变,需换多模态模型 |
| 配了视觉模型但不生效 | 确认配置写入 $DSH_HOME/settings.yaml,并重启相关会话 |
总结
DeepSeek Harness 本身支持识图,但能否真正"看懂图片"取决于你接入的模型是否多模态,以及是否在配置中做了声明。给自定义视觉模型加一行 input: [text, image],就能在 dsh 里用图片了;如果用的是 DeepSeek 官方纯文本路由,则需要换成支持视觉的模型。记住"声明是断言、不是检查"这个关键点,识图配置基本不会踩坑。



