deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Vision bridge for DeepSeek Harness (dsh) — a self-contained replacement for dsh-vision-router.
When the chat model has no vision (e.g. deepseek-v4-flash) and a message contains an image, the image never reaches the text-only model. Instead, the plugin substitutes an automatic text description from the vision model you choose (Hermes-style). The text model just reads text and keeps the conversation going; the image stays in the session log and in the UI.
describe_image — a tool for when you need more precise details on an image (ask a model).contentHash of the bytes — an image is described once, then the previous description is reused on later turns.# From npm after publishing:
dsh plugin --profile web add @goodandready/dsh-vision-bridge
# From GitHub:
dsh plugin --profile web add github:GooDAnDReaDY/dsh-vision-bridge
# Locally from a checkout:
dsh plugin --profile web add /path/to/dsh-vision-bridge
Restart the Web UI, open Settings → Vision, pick a provider and model (or leave empty — auto-picks the first vision-capable model).
dsh-vision-routerThis does the same job but under your control and with your own vision model. If dsh-vision-router is installed, remove it:
dsh plugin --profile web remove dsh-vision-router
generate_image) enters the chat and is shown by the UI.agent/pre-step:inputModalities includes image) — images go through as-is;attachmentId) → reuse it;ctx.llm.stream, get a description, cache it, and inject it as [The user attached an image. Here is what it contains: ...].UNSUPPORTED_CONTENT.describe_image stays available for when you need more precise details on an image (ask a model directly).Settings → Vision (top-level section):
In settings.yaml:
dsh-vision-bridge:
visionProvider: "" # empty = auto-pick
visionModel: "" # empty = auto-pick
sanitizeImages: true
maxImageBytes: 20971520
timeoutMs: 120000
dsh-vision-bridge/
├── package.json # dsh bundle/plugin metadata + peerDependencies
├── cordis.patch.yml # bundle layer: inserts the plugin row
├── lib/index.js # host: agent/pre-step sanitizer + describe_image + cache + model list
├── lib/client.js # browser: top-level Settings → Vision section
├── README.md
└── LICENSE # MIT
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。