Introduction

In the DSH plugin ecosystem, many capabilities are filled by community plugins. dsh-tool-describe-image is one of them, aimed at the scenario where “text models need to process image input”: converting images to text or structured HTML via any OpenAI-compatible vision endpoint, and then handing them to DeepSeek.

Below, I will introduce it according to the DSH plugin method: what problems it solves, how to install, how to configure, typical usage, and what limitations need to be known in advance.

What is it

sala003/dsh-tool-describe-image is an MIT-licensed DSH plugin maintained by sala003. Its positioning is: to allow DeepSeek to “see” images through vision endpoints, supporting Baichuan qwen-vl, Zhipu GLM-4V, OpenRouter, self-hosted proxies, and other OpenAI-compatible vision endpoints.

It is not a standalone vision API, but rather integrates vision endpoints into DSH:

  • Converts images at specified paths to text descriptions via tool calls.
  • After pasting an image in the Web input box, automatically recognizes and fills it into text or HTML.
  • Queries DeepSeek account balance via check_balance, including bonus/recharge breakdown.
  • Provides a draggable, switchable emoji, status bubble, and Agent state-linked Orca desktop pet configuration entry.

The plugin description is “zero source code changes,” fully implemented through DSH public extension points; the package form is a single npm package, containing the host half-zone and browser half-zone, with bilingual copy following the Web interface language.

Core Features

The following are verified capabilities:

  • Convert images to text or structured HTML via any OpenAI-compatible vision endpoint.
  • Zero configuration to enter DSH: can start normally without an API key, visual functions can be filled via the settings window.
  • Custom Prompt and Output Format: Optional text description or structured HTML.
  • Paste to recognize in Web: Ctrl+V paste image, automatically recognized into text/HTML filled into the input box.
  • describe_image tool: Model reads image via path to text, Web/headless available.
  • check_balance tool: Query DeepSeek account balance, including bonus/recharge split.
  • Floating Orca desktop pet: Supports dragging, emoji switching, status bubbles, and Agent state linkage.

Installation & Enable

First, confirm that DSH is installed, with a version requirement of 0.1.0-rc.6+. Then execute:

npm install -g dsh-tool-describe-image
dsh plugin --profile web add dsh-tool-describe-image

After installation, start Web:

dsh web

If upgrading from an old version, note that version 0.5.0 had a packaging defect, which has been fixed in 0.5.1. If 0.5.0 was installed and the following error appears:

Cannot read properties of undefined (reading 'prepare')

You need to uninstall and then install 0.5.1.

After upgrading, you must restart dsh and refresh the browser (Ctrl+F5).

Configuration

The minimum requirement is to configure the visual API key. You can use environment variables:

$env:DASHSCOPE_API_KEY = "sk-your-key"

Or write to:

~/.dsh/profiles/web/.env

The content is:

DASHSCOPE_API_KEY=sk-your-key

Note: Environment variables take precedence over the credential database. When setting DASHSCOPE_API_KEY, the settings panel save will prompt that the environment variable is shadowing; you can directly edit .env or the environment variable.

You can also override the model in ~/.dsh/profiles/web/cordis.patch.yml, for example:

- insert:
    - id: describe-image
      name: 'dsh-tool-describe-image'
      config:
        model: qwen-vl-max

Balance query defaults to reusing DEEPSEEK_API_KEY and can be overridden by deepseekBaseUrl.

Typical Usage

Paste Image Recognition

  1. Screenshot Ctrl+C.
  2. Ctrl+V in the DSH Web input box.
  3. After recognition, the text description automatically fills into the input box.
  4. Press Enter to send.

Describe Image via Path

Tell the model:

Describe C:\Users\your_username\Pictures\image.png

The model will automatically call describe_image, then answer based on the returned content.

Configure via Orca Desktop Pet

Double-click the Orca in the bottom right corner to open the floating settings panel. You can configure the visual API in the panel, drag the position, and remember it.

Query DeepSeek Balance

Tell the model:

Check my DeepSeek balance

The model will automatically call check_balance. You can also double-click the Orca and click “Check Balance” in the settings panel.

Use Cases & Notes

This plugin fits these situations:

  • Want to add image understanding capability to text models in DSH Web or headless scenarios.
  • Want to connect to any OpenAI-compatible vision endpoint without binding to a single vendor.
  • Hope to conveniently query DeepSeek account balance within DSH.
  • Hope to start without configuring a key, and fill in visual functions later from the settings window.

Pre-use attention:

  • The plugin runs with the current dsh process permissions, so source code and license should be checked before installation. The current license is MIT.
  • Only supports PNG/JPG/WebP/GIF, detected by byte, not trusting extensions.
  • Single image read limit 8 MiB, HTTP collaboration timeout 60000 ms.
  • When visual API key is not configured, it may report DashScope API key missing.
  • After upgrading, you must restart dsh and refresh the browser (Ctrl+F5).

Conclusion

The value of dsh-tool-describe-image is relatively focused: turning images into text or HTML via vision endpoints, allowing text models to continue processing in DSH; meanwhile, placing the configuration entry on the Web side lowers the cost of temporary integration.

Project Repository:

  • GitHub: https://github.com/sala003/dsh-tool-describe-image