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+Vpaste image, automatically recognized into text/HTML filled into the input box. describe_imagetool: Model reads image via path to text, Web/headless available.check_balancetool: 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¶
- Screenshot
Ctrl+C. Ctrl+Vin the DSH Web input box.- After recognition, the text description automatically fills into the input box.
- 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
dshprocess 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 timeout60000 ms. - When visual API key is not configured, it may report
DashScope API key missing. - After upgrading, you must restart
dshand 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