โ† Back to home@co-Elly

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

๐Ÿ‘๏ธ dsh-plugin-vision

Give your DeepSeek Harness the gift of sight.

License: MIT DeepSeek Harness Stars

English | ไธญๆ–‡


๐Ÿค” 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

  1. Visit Zhipu Open Platform
  2. Register and log in
  3. Create an API Key in the API Keys page
  4. The glm-4v-flash model 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

ParameterTypeRequiredDescription
image_pathstringโœ…Image file path or HTTP(S) URL
questionstringโŒ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

FileRoleDescription
src/vision.tsService DefinitionTypes and interfaces for the vision capability
src/vision-glm.tsProviderGLM-4V-Flash implementation (Zhipu AI)
src/tool-vision.tsConsumervision_analyze tool registration
src/cordis.tsPlugin EntryCordis plugin that wires everything together
src/index.tsExportsPublic 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

MIT


Built with โค๏ธ for the DeepSeek Harness community