Preface¶
DeepSeek Harness (DSH) excels at text reasoning, but pure text models cannot directly understand screenshots or designs dragged into the chat interface. Many community visual plugins only solve “image reading” and often guide users to shared third-party endpoints; images pass through intermediate services that you don’t have full control over.
Below, we introduce dsh-media-skills (GitHub: MJorgin/dsh-media-skills). Classified within the DSH plugin ecosystem as “model inference,” it is published by maintainer MJorgin. The current package version is 0.3.0 under the MIT license. The plugin bundle provides two Skills, an auto-written visual model route, and a configurable visual engine failover chain. Keys are not written into the repository, and both image reading and generation go through user-selected free or existing API providers.
What Is This¶
dsh-media-skills is positioned to give DSH “eyes” and “a brush” — to paste images in any conversation and automatically paraphrase them into text, while also supporting on-demand generation of unwatermarked illustrations. Official support includes DeepSeek Harness rc.7, rc.8, v0.1.1-rc.1, v0.1.1-rc.2; Python 3.9+.
Compared to common “read-only image” plugins, this bundle additionally provides media-tools image generation capabilities and automatically writes a “Zhipu GLM-4V-Flash (Vision)” route into the model selector after installation. SkillHub directory page: https://www.skillhub.cn/plugins/MJorgin/dsh-media-skills (an independent community site, with no official affiliation to DeepSeek / High-Flyer).
Core Features¶
Paste-to-Paraphrase¶
In pure text conversations, you can send images via pasting, dragging, or the “Add Image” button (rc.7 / rc.8 requires a corresponding client-ux patch). The visual model converts the image into a text description and passes it, along with a thumbnail, to the current model.
- v0.1.1-rc.1 and above: Uses DeepSeek-V4-Flash-Vision-Exp by default, sharing the
DEEPSEEK_API_KEYwith the main agent. - rc.7 / rc.8: Uses GLM-4V-Flash by default, with a single-route timeout of 15s, and can fail over to SiliconFlow Qwen3-VL.
The paste-to-paraphrase pipeline is part of DSH itself (api-proxy image admission logic); this bundle provides the dependent visual routes and image reading Skill. rc.7 / rc.8 requires applying the repository’s cordis.patch.yml and the Harness patch documented in docs/HARNESS_PATCH.md.
vision-review¶
An image reading Skill for analyzing screenshots, identifying visual interface issues (overlaps, overflows, misalignments), detecting watermark logos, and converting images to text. An optional --structured mode outputs structured evidence JSON in ModLens style (summary, full-text OCR, reading-order layout, entity relationships, uncertainty).
Visual engine failover order: GLM-4V-Flash → DeepSeek-V4-Flash-Vision-Exp → SiliconFlow Qwen3-VL → SenseNova → Google Gemini → any OpenAI-compatible endpoint. Engines with corresponding keys configured are automatically added to the chain.
media-tools¶
An image generation Skill for creating illustrations, avatars, backgrounds, and banners. Model routes are SenseNova U1 Fast → SiliconFlow Kolors, officially stated as free and unwatermarked.
Visual Model Routes¶
After installation, the model selector automatically displays “Zhipu GLM-4V-Flash (Vision).” The deepseek-official route in v0.1.1 natively includes DeepSeek-V4-Flash-Vision-Exp. Starting a new conversation and selecting any visual model enables direct multi-turn dialogue around images.
Installation and Enablement¶
Official installation command (replace <name> with your DSH profile name):
dsh plugin --profile <name> add github:MJorgin/dsh-media-skills
Configure keys first, then restart the service.
- v0.1.1-rc.1+: If the main agent’s
DEEPSEEK_API_KEYis already configured, paste-to-paraphrase and the DeepSeek visual route require no additional keys. - rc.7 / rc.8 or need free engines: Apply for
glm-4v-flash(free) at Zhipu open.bigmodel.cn; apply for a key to use SiliconFlow siliconflow.cn for Kolors; optionally add Google Gemini aistudio.google.com to the image reading fallback chain.
Keys can be entered in the Web interface under Settings → Model in the zhipu-vision provider’s API Key field, or written to a credentials file:
# ~/.dsh/.credentials.yaml (recommend chmod 600)
GLM_API_KEY: <your Zhipu key>
The Skill script also reads in order from environment variables, ~/.dsh/secrets/media-tools.env, ~/.codex/secrets/media-tools.env:
# ~/.dsh/secrets/media-tools.env (recommend chmod 600)
GLM_API_KEY=...
SILICONFLOW_API_KEY=...
GEMINI_API_KEY=... # Optional
- Completely restart
dsh weband force-refresh the browser (typicallyCtrl+Shift+Ron Linux).
Verification: The model selector should show “Zhipu GLM-4V-Flash (Vision)”; if your DSH version supports paste-to-paraphrase, the input box should display an “Add Image” button. Full troubleshooting is in docs/SETUP_VISION.md in the repository.
Typical Usage¶
The README summarizes three image reading methods:
| Method | Operation | Use Case |
|---|---|---|
| A. Direct Paste | Click “Add Image” / drag-and-drop / paste in any conversation, then send | Everyday image viewing, no need to switch models or save files |
| B. Visual Model Session | Start a new conversation, select “Zhipu GLM-4V-Flash (Vision),” paste image and chat | Multi-turn dialogue around images, native read_image |
| C. File + Skill | Place images in the workspace, instruct the agent to use vision-review to read them | Batch inspection, scripted workflows |
The paraphrase language follows the language of your sent message (Chinese messages produce Chinese descriptions, English messages produce English descriptions; defaults to Chinese if no text is input).
Natural language can also trigger Skills:
- “Look at this image / Check this screenshot for visual bugs” →
vision-review - “Generate an image of XX for me” →
media-tools
The examples/ directory in the repository provides 6 AI-generated sample images and one image reading test card, useful for verifying OCR and layout recognition accuracy.
Use Cases and Notes¶
Who It’s For
- Those already developing agents on DSH who need to quickly understand screenshots, designs, or error interfaces in pure text conversations.
- Those wishing to complete free image reading and unwatermarked image generation within a single plugin, with keys kept locally and not passed through shared anonymous endpoints.
- Users of rc.7 / rc.8 or v0.1.1-rc.x who are willing to configure free visual/image generation APIs as documented.
Before Installation, Please Note
- The plugin runs with the current
dshprocess privileges; before installation, review the source code and MIT license to ensure the key storage method meets your security requirements. - Paste-to-read depends on whether DSH itself includes the corresponding api-proxy support; installing only this bundle does not guarantee the “Add Image” button appears in all versions. Determination methods are in
docs/SETUP_VISION.mdFAQ. - DeepSeek-V4-Flash-Vision-Exp uses the DeepSeek API balance; GLM-4V-Flash, Kolors, etc., are officially marked as having free quotas, with specific limits depending on each provider.
- It can coexist with ModLens; paste route order and configuration instructions are in
docs/COMPARE_MODLENS.md.
Conclusion¶
dsh-media-skills packages free visual routes, vision-review image reading, and media-tools image generation into a single DSH bundle, with keys stored locally and not written into the repository. If you are enhancing multimodal capabilities on DSH, you can install using the command above and configure keys according to your Harness version.
- SkillHub directory: https://www.skillhub.cn/plugins/MJorgin/dsh-media-skills
- GitHub repository: https://github.com/MJorgin/dsh-media-skills