Foreword

Pure text models cannot directly understand images. If developers wish to process screenshots, error images, UI analysis, OCR, or document content in DSH, they typically need to additionally integrate a vision model, configure MCP services, and maintain related dependencies.

dsh-free-vision is a free vision plugin for DeepSeek Harness (DSH). Its goal is to enable pure text models with image-viewing capabilities, prioritizing the use of free vision models across various platforms, and providing an installation method with zero MCP configuration.

Below, we introduce the positioning, core capabilities, installation method, typical usage, and considerations of this plugin.

What is this

dsh-free-vision is a free vision plugin for DSH, maintained by FuzzySoul, under the MIT license.

It primarily addresses one issue: enabling pure text models to view image content, such as screenshots, error messages, UI interfaces, OCR text, and document content.

The plugin prioritizes the use of free vision models across various platforms and includes the vision engine luma-mcp as a built-in dependency, starting within the process to reduce external MCP configuration.

Core Features

The following capabilities are derived from verified information:

  • Zero MCP Configuration: The vision engine luma-mcp is built-in as a dependency and starts within the process.
  • Single Universal Tool: Provides image_understand and registers it to ctx.tools; can be renamed via config.toolName.
  • Free First, Multiple Providers: Supports qwen, volcengine, siliconflow, zhipu, hunyuan, and custom.
  • API Base URL Overridable: Each provider can override the API Base URL, pointing to a proxy, API gateway, local service, or any OpenAI-compatible endpoint.
  • Direct Connection Mode: Subprocess strips proxy environment variables, suitable for direct connection to domestic APIs; documentation notes that using a proxy may cause 502 errors.
  • Task Modes: Supports auto | general | ocr | ui | debug | describe; large images are automatically cropped in multiple segments to preserve fidelity.
  • Bilingual Chinese and English: Tool descriptions and documentation support both Chinese and English.
  • Settings Interface: Configurable API Key, provider, tool name, etc.; configurations are saved to ~/.dsh/free-vision.json.

Installation and Enablement

First, execute the installation command:

dsh plugin --profile web add dsh-free-vision

After installation, restart dsh web.

Once restarted, the tool image_understand becomes available.

Typical Usage

When the model calls image_understand, the following parameters must be provided:

  • image_source (required): Local path, HTTP(S) URL, or data URI; supports PNG/JPG/WebP/GIF, size ≤10MB.
  • prompt (required): Question about the image, in Chinese or English.
  • task_type (optional): auto | general | ocr | ui | debug | describe.

Below is an example of a call:

image_understand(
  image_source="screenshot.png",
  prompt="Please identify the key error message in this error screenshot.",
  task_type="debug"
)

Here, image_source, prompt, and task_type correspond to the tool parameters listed in the plugin documentation.

Configuration Methods

Configuration can be completed through the settings interface.

After restarting dsh web, open Settings → Free Vision to see the configuration form, including API Key, provider, tool name, etc. After saving, the next call takes effect immediately.

Configuration is saved to:

~/.dsh/free-vision.json

Alternatively, you can set the corresponding environment variables. For example, when using qwen, you can set:

DASHSCOPE_API_KEY

Notes

Before use, it is recommended to confirm the following points:

  • apiKey is optional; if omitted, it falls back to the provider’s environment variable.
  • When baseURLs is missing or empty, the official default address of the provider is used.
  • Image input is limited to ≤10MB, supporting PNG/JPG/WebP/GIF.
  • Direct connection mode strips proxy environment variables; documentation notes that using a proxy may cause 502 errors.
  • Free quota data is sourced from official pages of various platforms and may change; please verify before use.
  • The plugin runs with the permissions of the current dsh process; check the source code and license before installation.
  • The license is MIT, encapsulating luma-mcp (MIT) and MCP SDK (MIT).

Conclusion

dsh-free-vision is suitable for scenarios where you need to enable pure text models in DSH to view screenshots, errors, UI, OCR, and document content while aiming to reduce MCP configuration.

GitHub repository URL:

https://github.com/FuzzySoul/dsh-free-vision