Skip to content
dsh.fish
Bundle

dsh-deepseek-vision-router

Transparent image preprocessing route for DeepSeek Harness

Source
mochgolf
stars
2 stars
License
MIT
Updated
Updated 11 days ago

Readme

# dsh-deepseek-vision-router

[English](README.md) | [简体中文](README.zh-CN.md)

An experimental [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
plugin that lets a text-only DeepSeek main agent accept images directly from
the DSH chat composer.

```text
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-bridge` `0.2.7`

Other versions may work but have not been tested.

## Install

```sh
dsh plugin --profile web add github:mochgolf/dsh-deepseek-vision-router
```

1. Open **Settings → Models** and add or reuse an image-capable provider. Its
   endpoint and credential stay owned by the Models page.
2. Open **Settings → Plugins → DeepSeek Vision**, select that provider, and
   save the vision model. The model field defaults to `mimo-v2.5` but 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-bridge` module; an
  upstream directory change may require a compatibility update.
- This is a preprocessing bridge, not native DeepSeek multimodality.

## Development

```sh
npm ci
npm test
```

Install

dsh plugin --profile web add github:mochgolf/dsh-deepseek-vision-router

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source