deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
English | 中文
A DeepSeek Harness profile bundle that gives text-only models (DeepSeek V4 Flash, DeepSeek V4 Pro, and any other route whose inputModalities omit image) working vision.
When a request contains image attachments and the target model cannot see them, the plugin describes each image and replaces the image blocks with that text for the provider call only. The session log and the UI keep the original images.
dsh CLI available on your PATH.image in its inputModalities.Descriptions are cached per attachment + model (or OCR) for the life of the process so later turns do not re-pay the vision call.
Open Settings → 视觉识别:
The same values live in $DSH_HOME/settings.yaml under dsh-vision:.
From this directory:
dsh plugin --profile web add .
Restart dsh web so the new bundle layer and the client settings page load.
To remove:
dsh plugin --profile web remove dsh-vision
The fix has two layers:
inputModalities with image (by wrapping ctx.llm.resolveModelInfo). The session.prompt / session.selectModel image-admission gates therefore stop rejecting image messages with "model does not support images", and the read_image tool becomes available to text-only models too.llm/stream waterfall. When a rewrite is needed the plugin builds a new request (images replaced by descriptions) and calls ctx.llm.stream again. The nested call targets a vision-capable model, so the interceptor lets it through. Frozen agent-loop requests are never mutated.Native image support is decided with the pre-wrap resolver, so natively image-capable models are never double-described; only models that declare inputModalities as text-only (or omit it) gain the bridged image capability.
image in inputModalities are offered. A gateway that can see images but does not say so will not be selected.image is declared, a session that already contains images can switch back to a text-only model; the historical images are described on the next llm/stream pass.CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。