dsh-vision-toolkit README

The project's README from github.com/Anionex/dsh-vision-toolkit. As one markdown file: README.md.

DSH Vision Toolkit helps text-only DeepSeek Harness agents understand images and complete visual tasks

DSH Vision Toolkit

Anionex%2Fdsh-vision-toolkit | Trendshift

Recommended by dshfind dshfind score: 94 — highest-rated plugin agentic leaderboard

npm MIT DSH

A more powerful vision toolkit—give text-only models in DeepSeek Harness eyes: image Q&A, long-screenshot OCR, UI restoration, and GUI visual tasks in one toolkit and Skill.

🚀 Paste an image and ask directly | Install with one command | Broad use cases

Highlights | Quick start | Toolbox | Configuration and limits | Troubleshooting | Community

🌐 English | 中文

🏆 This project is the first comprehensive vision-tool plugin in the DeepSeek Harness ecosystem: it was initiated before internal beta and built during the beta with reference to agent-vision-toolkit.

Original work: The system and division of responsibilities behind these visual tools, together with the vision-skills Skill, were personally created and continuously refined by the author through long-term real-world use and repeated iteration.

If this project helps you or gives you some inspiration, feel free to star 🌟 & fork.

Highlights

agent-vision-toolkit gives an agent more than image captions: it can read, locate, crop, trace, rebuild, and verify visual work. DSH Vision Toolkit is its native DeepSeek Harness integration, bringing that workflow into Web and Headless Profiles.

This project has two layers:

  1. Visual tools and a Skill: the agent learns when to inspect, ground, OCR, crop, trace, or compare pixels.
  2. Native DSH integration: those capabilities live inside Profiles, sessions, Settings, Artifacts, and the Web UI.
dsh plugin --profile web add @anionex/dsh-vision-toolkit

Upstream toolkit: Anionex/agent-vision-toolkit · Project website: agent-vision.anionex.me

❤️ Sponsor

Want to sponsor this project? See FUNDING.md or email [email protected].

Click to collapse
AIHubMix Thanks to AIHubMix for sponsoring this project! AIHubMix is a stable, high-concurrency AI model API gateway that connects Claude, GPT, Gemini, DeepSeek, and other mainstream models through a single API key, compatible with multiple protocols, with free model options available. To sign up, use the AIHubMix entry outside mainland China or the Inferera entry within mainland China.
E-API Thanks to E-API for sponsoring this project! E-API aggregates mainstream AI models behind OpenAI-, Anthropic-, and Codex-compatible APIs, with selected Claude models up to 98% below official prices and DeepSeek V4 models about 25% below official prices.

Contents

Recent updates

Who it is for

  1. Want an interaction experience similar to a multimodal model: paste an image directly and ask a question or make a request.
  2. Want more than image Q&A — complete more complex, high-value visual tasks such as turning a sketch into a front-end page, converting an image into HTML, or extracting chat messages from long screenshots; more scenarios are added over time.

The bundled vision-skills Skill carries the complete upstream playbooks, explaining when to use each workflow, in what order to call the tools, and how to verify the result:

Playbook What the agent learns to do
Read long screenshots, chat histories, and scrolling pages Find low-content cut bands, OCR each chunk in order, preserve chat speakers/timestamps/quotes, merge only duplicated overlap, and surface risky boundaries for verification
Rebuild a UI from a screenshot or design Reuse project components and assets first, then combine code-native UI, extracted visuals, rendered screenshots, and visual comparison to align a page or component
Restore an icon, logo, illustration, or other graphic Extract a transparent PNG from the source image, or rebuild an editable/scalable SVG when needed, then verify shape, color, and alpha edges
Turn a sketch, diagram, or whiteboard into structured code Recover nodes, labels, connections, and directions as editable Mermaid, Graphviz, or another structured representation
Operate a GUI from screenshots Locate a control, perform one action, capture the screen again, and verify the resulting state before continuing

See it in action

Paste an image directly into DSH

A text-only DeepSeek model answering a question about a pasted image through Vision Toolkit in DSH Web

Paste an image into the conversation. A text-only model can switch to its Vision Toolkit variant and inspect the image in the context of the user's question.

Screenshot to editable page

Reference infographic screenshot used for restoration Editable HTML and CSS reconstruction created from the reference screenshot

Prompt example: “(Use vision-skills) Rebuild this image into HTML.”

Left: the reference screenshot. Right: an editable HTML/CSS result. The result can continue into screenshot rendering and pixel comparison instead of ending as an image description.

Sketch to working interface

Hand-drawn JupyterLab interface used as the restoration reference Working JupyterLab-style interface reconstructed from the sketch

Left: a hand-drawn reference. Right: the working interface reconstructed from it.

Prompt example: “(Use vision-skills) Turn this sketch into a working front-end page.”

Fast UI restoration: an approximate first pass

Original YouMind homepage used as the fast UI restoration reference Approximate YouMind homepage produced with fast UI restoration mode

Prompt example: “(Use vision-skills) Quickly rebuild this image into HTML.”

Left: the original page. Right: a fast reconstruction that preserves the main layout, content, and visual hierarchy while allowing approximate colors and library icons. Fast mode targets a first screenshot in about three minutes.

Quick start: three steps

1. Install

dsh plugin --profile web add @anionex/dsh-vision-toolkit

You can install it into a Headless Profile too:

dsh plugin --profile headless add @anionex/dsh-vision-toolkit

Using DSH Desktop? It bundles its own dsh CLI and intentionally does not add it to your system PATH. Open DSH Terminal from the tray and run the command there, targeting the Desktop profile:

dsh plugin --profile desktop add @anionex/dsh-vision-toolkit

Then restart DSH Desktop. The built-in plugin marketplace in DSH Desktop 2.0.1 has known installation issues; the terminal command above is the reliable path until a fixed Desktop release is available.

For the full Desktop install, update, and troubleshooting walkthrough, see Installing and updating in DSH Desktop.

2. Restart and check it

Restart a running Web Profile, then open Settings → Vision Toolkit, configure a vision provider, and run Test vision model to confirm it is reachable.

The first start prepares an isolated runtime: the plugin prefers a system Python 3.11+; when none is found, it downloads a hash-verified standalone Python (about 35 MB) from the domestic mirror (dsh-vision-python-bootstrap-1317715800.cos.ap-guangzhou.myqcloud.com) on first use, falling back to the GitHub release when the mirror is unreachable. The locked runtime dependencies (Pillow, NumPy, vtracer) are installed from the Tencent Cloud PyPI mirror (mirrors.cloud.tencent.com/pypi/simple) first and fall back to the official PyPI index. A normal installation does not require an agent-vision-toolkit source checkout or a local path setting.

3. Paste an image and describe the outcome you want

Paste a screenshot into the conversation or place an image in the session workspace, then invoke /vision-skills. For example:

Inspect this screenshot. Explain the error and tell me what to fix first.
Find the login button in the top-right corner, return original pixel coordinates, and make a boxed preview.
Crop this icon and convert it to SVG.
Rebuild the page from reference.png. After each pass, render it and run a pixel diff until the major differences are gone.

Toolbox

The plugin provides 10 tools that can be called independently or composed into a workflow:

Tool Best question to ask Main result
vision_glance “What is happening in this image?” Focused answer, description, OCR, or multi-image comparison
vision_ground “Where is the thing I need?” Original pixel coordinates and optional boxed preview
vision_detect “Which buttons, icons, or elements are present?” Numbered element inventory, coordinates, and optional preview
vision_crop “Extract this region as its own image” PNG or JPEG crop
vision_trace “Turn this shape into an editable vector” SVG
vision_pixel_diff “Where does the implementation differ from the reference?” Difference percentage, ranked regions, heatmap, and JSON
vision_long_screenshot_ocr “Read this entire long screenshot” Markdown, chunks, manifest, and audit output
vision_extract_foreground “Remove the background from this subject” Transparent PNG
vision_dominant_colors “Which colors dominate this area?” Palette or ranked candidate colors
vision_html_screenshot “Render this local page at an exact viewport or capture the full page” PNG and optional CSS pageHeight

Coordinates always use original-image pixels in x1,y1,x2,y2 form, so grounding output can feed directly into cropping, tracing, or later automation.

For a long HTML document, pass fullPage=true. The requested width and height remain the layout viewport, while the resulting PNG covers the complete document and reports pageHeight in CSS pixels.

How it works

The plugin keeps image understanding and deterministic local image processing in one Agent workflow. The diagram below shows the implementation boundary.

Descriptions that keep the task in view

Most vision bridges for text-only models ask a multimodal model for a generic description and hand it to the text model, adding a semantic layer where information is lost. Vision Toolkit instead recovers why the agent wants to look at the image: the user message or the model's stated reason becomes a focus hint passed to the vision model. The result is a task-aware description that emphasizes what matters for the current step — with fewer tokens, higher accuracy, and faster responses.

Generic image descriptions compared with task-aware vision using a focus hint - part 1 Generic image descriptions compared with task-aware vision using a focus hint - part 2

Architecture and image-input behavior

flowchart LR
    Image["Screenshot or local HTML"] --> Skill["vision-skills Skill"]
    Skill --> Agent["Text agent selects a task"]
    Agent --> Vision["Use a vision model when image understanding is needed"]
    Agent --> Local["Run crop, SVG, and pixel work locally"]
    Vision --> Result["Answer, OCR, coordinates"]
    Local --> Artifact["PNG, SVG, heatmap, JSON"]
    Result --> Session["Continue reasoning and acting"]
    Artifact --> Session

The visual capabilities come from a packaged, pinned agent-vision-toolkit snapshot. The DSH plugin handles installation, session-scoped tool exposure, Credentials, path checks, cancellation, timeouts, result files, and Web presentation. The runtime never fetches upstream main in the background.

The bundled vision-skills Skill is the DSH adapter of the upstream vision-tools Skill: its SKILL.md plus all five upstream playbooks. Tool names, argument syntax, Artifact delivery, progressive exposure, and DSH path/lifecycle boundaries are adapted; the upstream tool-selection rules, coarse-to-fine method, and task SOPs remain intact. The exact upstream Skill commit, source hashes, adapted hashes, and reviewable adapter patch are recorded in assets/skill/UPSTREAM.json and patches/vision-tools-dsh.patch.

For routes that DSH positively identifies as text-only, the plugin registers a sibling <model> (Vision Toolkit) variant. By default, pasting an image in DSH Web switches to that variant and gives the model both a reusable workspace path and a visual description focused on the current task.

Configuration and limits

Configure a vision model

Configure the vision provider in Settings → Vision Toolkit and store the API key as a DSH Credential. Settings stores the Credential reference and never reads the saved secret back into the browser.

Step-by-step AIHubMix tutorial: Get an AIHubMix API key and configure Gemini 3.7 Flash for vision. It includes screenshots for account/API-key setup, the exact Vision Toolkit settings, model selection, and troubleshooting.

You can also configure a Profile patch:

- id: vision-toolkit
  config:
    provider:
      baseUrl: https://api.example.com/v1
      credential: MY_VISION_KEY
      model: your-vision-model
      protocol: openai

OpenAI Chat Completions-compatible endpoints and Anthropic Messages are supported. The Web Settings panel exposes the full provider, runtime, timeout, image-limit, and image-input-variant configuration.

The advanced Default save directory setting can place artifacts, pasted images, and caches below an absolute POSIX shared root such as /tmp/dsh-vision-toolkit; the plugin creates a private mode-0700 child for the current user and workspace. Leaving it blank keeps the existing workspace-local .dsh-vision-toolkit directory. Configured shared roots are currently rejected on Windows because their ownership and access-control lists cannot yet be verified safely.

When the configured save directory changes, the plugin retains earlier validated roots as read-only input locations. Web Profiles persist that history in the plugin-owned vision_toolkit_storage storage-domain sidecar, including when the active Settings provider is read-only, so existing pasted-image paths remain usable after a Profile restart. Custom Profiles should compose @deepseek-ai/dsh-storage-domain when they use configured shared storage.

For a trusted internal endpoint

dsh-vision-toolkit (Anionex/dsh-vision-toolkit)

Searching Database…

What is this?DSH Vision Toolkit is a plugin for DeepSeek Harness (DSH) that gives text-only AI models 'eyes': paste or reference an image and the agent can answer questions about it, OCR long screenshots, rebuild a UI from a mockup, locate elements, crop, vectorize, or diff pixels.
Is this a standalone app or does it plug into something else?It's a plugin plus a bundled Skill that installs into the DeepSeek Harness (DSH) ecosystem — it runs inside DSH Web Profiles, Headless Profiles, or DSH Desktop rather than as its own separate application.
How do I install and start using it?Install it with one command into a DSH Profile (via DSH Terminal, targeting the Desktop profile if you use DSH Desktop), restart the profile, then open Settings → Vision Toolkit to configure a vision provider and run the test to confirm it works.
Do I need to install Python myself first?No — on first use the plugin auto-downloads an isolated, hash-verified standalone Python 3.11+ runtime (about 35MB) if no system Python is found, and fetches Pillow, NumPy, and vtracer from a Tencent Cloud mirror. You do need to supply your own vision-model API key as a DSH Credential.
Any install pitfalls to watch for?Yes — the built-in plugin marketplace in DSH Desktop 2.0.1 has known installation issues, so you should run the install command directly in DSH Terminal until a fixed Desktop release ships.
Who is this toolkit meant for?Anyone running agents inside DeepSeek Harness who wants multimodal-like behavior from a text-only model: pasting a screenshot to ask questions, rebuilding a UI from a mockup, OCRing long chat screenshots, or automating GUI tasks from screenshots.
What tools are included in the toolbox?Ten tools: visionglance (focused description/OCR), visionground (locate coordinates), visiondetect (list UI elements), visioncrop, visiontrace (image-to-SVG), visionpixeldiff, visionlongscreenshotocr, visionextractforeground, visiondominantcolors, and visionhtmlscreenshot (render HTML to PNG).
How is this different from just asking a multimodal model to describe an image?Instead of a generic caption, it passes the agent's actual task or question as a focus hint to the vision model, so the response highlights only what matters for that step — fewer tokens, higher accuracy, and faster replies.
What happens automatically when I paste an image in DSH Web?A text-only model route transparently switches to its (Vision Toolkit) variant, keeping the same model name and session history while giving the model a reusable workspace path, so you don't need to manually swap models or copy file paths.
Where do these vision tools come from?They are a packaged, pinned snapshot of the upstream Anionex/agent-vision-toolkit project, adapted into a native DSH Skill and plugin with its own installation flow, credentials handling, and Web UI integration.
Creator
Anionex
Size
10.7 MB
Stars
896
Age
2mo
Commits · 90 Days