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 tomimo-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