DeepSeek Harness (DSH) revolves around the core idea that “everything is a plugin.” When the primary model (such as deepseek-v4-flash) is text-only, dragging or pasting an image into the chat box is blocked by the system with the message: “The model does not support image input.” dsh-sensenova-vision-aid is an unofficial plugin designed to solve this issue.

Plugin Overview

This plugin is maintained by modesthub and released under the MIT open-source license. It enables text-only primary models to process images through two mechanisms: a global silent image-reading bridge and explicit tool calls. It calls the SenseNova vision model in the background to generate descriptive text for the primary model to reference, while the user interface always continues to display the original image.

Core Features

Global Silent Image-Reading Bridge (Enabled by Default)

The plugin intercepts image input in the agent/pre-step hook. The image is sent to the vision chain for processing, which generates 【视觉观察:...】 text. The primary model sees this text, while the user interface always displays the original image.

The configuration item bridgeMode supports three modes:
* on: Always takes over; default mode.
* auto: If the primary model supports vision, let it view the original image directly.
* off: Disable the bridge and use tools only.

Global Tools

Provides three MCP-compatible global tools:
* describe_image(image, prompt?): Describe a single image.
* describe_images(images, prompt?): Describe multiple images in batch.
* chat(text): Plain-text chat, used to verify API key and endpoint connectivity.

Direct Vision Chain and Failover

Image recognition supports a failover chain:
* sensenova-6.8-flash-lite → deepseek-flash → kimi-k3
The first successful model returns the result.

Credential Reuse

reuseFreeapiCredentials is enabled by default, automatically reusing credentials configured by the dsh-sensenova-freeapi plugin, so you do not need to manually configure a second key.

Installation and Activation

Install it using the official command:

dsh plugin --profile <name> add github:modesthub/dsh-sensenova-vision-aid

After installation, you must restart the profile for it to take effect (the bundle/patch layer does not support hot reload).

Typical Usage

1. Drag and Chat Directly

Drag an image into the chat box of a text-only model (such as deepseek-v4-flash). The system no longer shows the message “The model does not support image input.” After sending, the primary model receives the 【视觉观察:…】 text and answers based on it.

2. Explicit Tool Calls

Call describe_image or describe_images in the prompt for image analysis.

3. Configuration Modes

Adjust bridgeMode in the settings panel:
* If you want consistent takeover of image processing, keep on.
* If the primary model natively supports vision, set it to auto to reduce pressure on the vision model.

Notes

  • Dependencies and Restart: You must restart the profile after installation for changes to take effect.
  • Recommended Combination: It is recommended to use with dsh-sensenova-freeapi to obtain the free quota pool and credential management.
  • Security and Permissions: API keys are stored through the DSH credential service and are never written to logs or echoed in plaintext. The vision model only has image-reading capability, without tools or execution permissions.
  • Model-Only Visible Replacement: The user interface always displays the original image; the model only sees the observation text.

Summary

Through the global bridge and toolset, this plugin provides unified vision processing capabilities for text-only primary models. Combined with dsh-sensenova-freeapi, it can achieve efficient vision-language collaboration.