dsh-plugin-vision
๐๏ธ Give your DeepSeek Harness the gift of sight โ enables pure-text LLMs to analyze images via Zhipu's free GLM-4V-Flash vision model
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 22, 2026
- Updated
- Aug 22, 2026
Introduction
๐ค What is this?
dsh-plugin-vision is a plugin for DeepSeek Harness that enables pure-text LLMs to analyze images.
When your underlying language model doesn't support native image input (e.g., DeepSeek-V3 text-only), this plugin bridges the gap by calling Zhipu AI's GLM-4V-Flash โ a free vision model โ to analyze images and return text descriptions.
User pastes image โ Agent calls vision_analyze โ GLM-4V-Flash analyzes โ Text description returned
โจ Features
- ๐ผ๏ธ Analyze local image files (PNG/JPEG/WebP/GIF)
- ๐ Analyze HTTP(S) URL images
- ๐ค Automatic base64 encoding for local files
- ๐ Uses Zhipu's free vision model โ no payment required
- ๐ Follows DSH Capability Seam architecture
- ๐งฉ Drop-in Cordis plugin โ works with
cordis.yml
๐ฆ Installation
Option 1: Clone and link
git clone https://github.com/co-Elly/dsh-plugin-vision.git
cd dsh-plugin-vision
pnpm install
pnpm build
Then in your DSH project's cordis.yml:
plugins:
- name: /path/to/dsh-plugin-vision/dist/cordis.js
config:
apiKey: "your-zhipu-api-key"
Option 2: npm (coming soon)
pnpm add dsh-plugin-vision
โ๏ธ Configuration
Get a free API Key
- Visit Zhipu Open Platform
- Register and log in
- Create an API Key in the API Keys page
- The
glm-4v-flashmodel is free โ no payment needed
Environment variables
export ZHIPU_API_KEY="your-api-key"
cordis.yml
plugins:
- name: dsh-plugin-vision/cordis
config:
apiKey: "your-api-key" # or use $ZHIPU_API_KEY
baseUrl: "https://api.z.ai/api/paas/v4/chat/completions" # default
model: "glm-4v-flash" # default
๐ Usage
Once registered, the agent automatically gets the vision_analyze tool:
vision_analyze({
image_path: "/path/to/screenshot.png",
question: "What is shown in this chart?"
})
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
image_path | string | โ | Image file path or HTTP(S) URL |
question | string | โ | Question about the image (default: "่ฏทๆ่ฟฐ่ฟๅผ ๅพ็็ๅ ๅฎน") |
Returns
{
"description": "A bar chart showing monthly revenue..."
}
๐๏ธ Architecture
This plugin follows DSH's Capability Seam pattern:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ dsh-plugin-vision โ
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโค
โ vision.ts โ vision-glm.ts โ tool-vision.ts โ
โ (Service โ (Provider: โ (Consumer: โ
โ Definition)โ GLM-4V-Flash) โ vision_analyze)โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค
โ Defines โ Calls Zhipu โ Exposes tool โ
โ ctx.vision โ API to analyze โ to the model โ
โ interface โ images โ โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโ
Files
| File | Role | Description |
|---|---|---|
src/vision.ts | Service Definition | Types and interfaces for the vision capability |
src/vision-glm.ts | Provider | GLM-4V-Flash implementation (Zhipu AI) |
src/tool-vision.ts | Consumer | vision_analyze tool registration |
src/cordis.ts | Plugin Entry | Cordis plugin that wires everything together |
src/index.ts | Exports | Public API exports |
๐บ๏ธ Roadmap
- Core vision capability (Service Definition / Provider / Consumer)
- GLM-4V-Flash provider (free)
- Local file support (base64 encoding)
- HTTP(S) URL support
- Cordis plugin integration
- OpenAI-compatible provider (GPT-4o, Claude 3, etc.)
- Local vision model support (moondream2, LLaVA)
- Batch image analysis
- Image language detection and auto-prompting
- Video frame extraction and analysis
- OCR-specific provider with layout analysis
๐ค Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
๐ License
Built with โค๏ธ for the DeepSeek Harness community