dsh-deepseek-vision-router
An experimental DeepSeek Harness plugin that lets a text-only DeepSeek main agent accept images directly from the DSH chat composer.
DSH image attachment -> vision model description -> deepseek-official
The plugin adds a separate deepseek-vision route. Image analysis runs through
an existing provider from DSH's Models settings; the official DeepSeek adapter
still owns the main conversation, reasoning, streaming, tools, and retries.
Compatibility
- DSH
0.1.0-rc.6 - Node.js 24+
mcp-vision-bridge0.2.7
Other versions may work but have not been tested.
Install
dsh plugin --profile web add github:mochgolf/dsh-deepseek-vision-router
- Open Settings → Models and add or reuse an image-capable provider. Its endpoint and credential stay owned by the Models page.
- Open Settings → Plugins → DeepSeek Vision, select that provider, and
save the vision model. The model field defaults to
mimo-v2.5but accepts any model ID exposed by the selected provider.
Provider additions, edits, and removals remain in Settings → Models. The
plugin stores only visionProvider and visionModel in DSH's native settings
namespace and applies changes to the next image request without a restart.
Select DeepSeek + Vision in DSH's model menu. New sessions can use it as their default provider; existing sessions retain their recorded provider until switched.
Security and privacy
- Provider endpoints and credentials remain managed by DSH's Models settings; this plugin never copies or stores them.
- Image bytes are sent to the configured vision provider; DeepSeek receives the resulting text description, not the pixels.
- Descriptions are marked as untrusted image content before reaching DeepSeek, so text visible inside an image is not promoted to system instructions.
- Successful descriptions use a bounded, process-local cache.
Limitations
- The cache is not persisted across DSH restarts.
- The analysis prompt comes from an internal
mcp-vision-bridgemodule; an upstream directory change may require a compatibility update. - This is a preprocessing bridge, not native DeepSeek multimodality.
Development
npm ci
npm test
No comments yet. Be the first to write one.