Introduction¶
When using DeepSeek-V3 or DeepSeek-R1 in DeepSeek Harness (DSH), if conversations frequently involve screenshots, charts, and attachment images, pure text models may not stably complete the task of “seeing and answering.” dsh-ext-vision-proxy does something relatively straightforward: it integrates external OpenAI-compatible vision APIs into DSH, allowing text models to obtain image understanding results via tool calls.
Below is an introduction to its positioning, core capabilities, installation and enablement methods, and typical usage.
What is it¶
dsh-ext-vision-proxy is an external vision proxy plugin for DeepSeek Harness, maintained by jin123-alpha, and licensed under MIT.
One-sentence positioning:
External vision proxy plugin for DeepSeek Harness,
enabling text-only models (DeepSeek-V3 / R1) to analyze and understand images
via OpenAI-compatible vision APIs.
It primarily addresses the issue of enabling text-only models like DeepSeek-V3 / DeepSeek-R1 to analyze images, screenshots, charts, and attachments by leveraging external vision models within DSH sessions.
Additional preparation required:
OpenAI-compatible Vision API Base URL
API Key
Core Capabilities¶
1. Expose a visual description tool to text models¶
The plugin enables the model to call tools to view and answer questions related to images. The key tool name is:
vision_describe
It is suitable for analyzing visual content such as images, screenshots, charts, and attachments.
2. Add a switch and model selection to the chat input area¶
The plugin integrates into the left side of the chat input area:
conversation.input.left
It adds a pill-shaped toggle switch and a model dropdown selector, allowing for quick switching of the vision proxy status and selection of a vision model during the session.
3. Provide a configuration panel in the Settings page¶
The plugin provides Settings page configuration options, supporting:
custom Base URLs
API Keys
vision model filtering
one-click connectivity testing
This means you do not need to manually modify files every time; you can configure and test whether the external vision API is available directly on the page.
4. Define a 4-state session matrix¶
The plugin distinguishes between multimodal models and text-only models and, combined with the switch status, creates four session states:
Multimodal LLM + switch ON
Multimodal LLM + switch OFF
Text-only LLM + switch ON
Text-only LLM + switch OFF
One of these states is explicitly defined as:
Text-only LLM + switch OFF
In this state, the behavior is consistent with that of an installation without this plugin.
5. Parse multiple attachment formats¶
The plugin supports parsing the following image resource formats:
sha256:...
local file paths
HTTP/HTTPS URLs
It uses binary magic bytes to detect MIME types.
Installation and Enablement¶
Verified materials do not provide a standard dsh plugin add command, so this is not understood as a single plugin installation command. Commands appearing in the materials include:
npm install
npm run build
npm pack
dsh web
First, install dependencies:
npm install
If local building and packaging are needed:
npm run build
npm pack
Then, start DSH Web:
dsh web
Regarding plugin dependencies, the peer dependencies listed in the materials are:
@deepseek-ai/cordis
@deepseek-ai/dsh-tools
react ^19.0.0
Typical Usage¶
The following flow comes from verified usage examples and can be executed in sequence.
1. Start DSH Web¶
dsh web
2. Open the Vision Proxy Settings Page¶
Access the local address:
http://127.0.0.1:3080
Navigate to:
Settings -> Vision Proxy
3. Fill in OpenAI-compatible Vision API configuration¶
Fill in the Base URL and API Key. The Base URL can be:
https://api.openai.com/v1
It can also be a local endpoint.
4. Fetch Model List¶
Click:
Fetch Models
Then select a default vision model, for example:
gpt-4o
gemini-2.5-flash
qwen-vl-max
5. Test Connectivity¶
Click:
Test Connection
After confirming the external API is available, save the configuration.
6. Use in a Session¶
In a DeepSeek-V3 or DeepSeek-R1 session, enable:
Vision Proxy
Then upload or paste an image and ask a question.
At this point, the model will call:
vision_describe
and then continue answering based on the returned results.
Applicability and Notes¶
Who is it for¶
If your DSH sessions frequently involve images, screenshots, charts, and attachments, and you wish for text-only models to also participate in analysis and answering, this plugin is suitable.
It is particularly suitable for this workflow:
User uploads image
-> Model determines that viewing is needed
-> Calls vision_describe
-> External vision API returns image understanding results
-> Text model continues to organize the answer
Important Notes Before Use¶
First, it depends on an external OpenAI-compatible Vision API. Therefore, you need to configure:
Base URL
API Key
Second, the API Key will be included in your local DSH configuration and runtime environment. It is recommended to configure it only in a trusted environment and to check permissions regularly.
Third, the plugin runs within the permissions of the current dsh process. Before installation, it is recommended to review the source code, dependencies, and license.
Verified license information:
MIT
MIT © 2026 Fan Yuejin
Fourth, do not interpret this as an official plugin from the DSH official app store. The plugin directory page here is an independent community site and has no official affiliation with DeepSeek / Hypersphere.
Conclusion¶
The value of dsh-ext-vision-proxy lies not in replacing models, but in integrating external vision capabilities into DSH sessions, allowing text-only models like DeepSeek-V3 / DeepSeek-R1 to process images via the vision_describe tool.
If you need to stably process screenshots, charts, and attachment images in DSH, you can configure the Base URL and API Key following the steps above, and test connectivity before entering a formal session.
Reference Links:
https://www.skillhub.cn/plugins/jin123-alpha/dsh-ext-vision-proxy
https://github.com/jin123-alpha/dsh-ext-vision-proxy