Preface¶
DeepSeek Harness (dsh for short) treats models, tools, skills, sessions, sandboxes, storage, loops, scheduling and UI as replaceable plugins, officially described as “everything is a plugin”. After installing Node.js, you can launch the web interface with this command:
npx @deepseek-ai/dsh web
Harness solves the problem of “how intelligent agents can work continuously in the real environment”. However, many daily tasks are not purely textual: error pop-ups, design drafts, long web page screenshots, hand-drawn wireframes all require visual inspection first. Pure text models like DeepSeek cannot directly accept images, and pasting screenshots will be rejected; even if a general-purpose vision interface is connected, what you often get is a general description—where the button is, what the error message says, how the implementation differs from the reference image—you still cannot start working directly.
The community catalog categorizes such capabilities under “Interface Enhancement”. The approach of dsh-vision-toolkit is not to replace the main multimodal model, but to attach a set of vision tools and Skills to the current text Agent: it looks at images with the intent of the current question, locates and returns the original image pixel coordinates, supports chunked OCR for long screenshots, and allows UI restoration with pixel differences for the next round of corrections. This article is collated after cross-checking with the community catalog details page, GitHub repository README / Chinese description / package.json / CHANGELOG.md / MIT license, npm package page, and the DeepSeek Harness official repository.
First, it is necessary to clarify the source: the community plugin directory deepseek-harness-plugin.com is an independent site and has no official affiliation with DeepSeek / HyperMind, do not treat it as an official app store. As of 2026-08-17, the GitHub repository Anionex/dsh-vision-toolkit has 539 stars; the catalog page marks 386 stars, categorizes it as “Interface Enhancement”, and labels it as a featured plugin. The npm package @anionex/dsh-vision-toolkit is currently at version 0.1.20, with the MIT license.
What is this¶
In one sentence: it is the native integration of agent-vision-toolkit for DeepSeek Harness, adding image question answering, positioning, OCR, cropping, tracing and pixel-level verification to the pure text models in Web and Headless Profile.
The maintainer is Anionex. The primary language of the repository is TypeScript. The vision capabilities come from a packaged and pinned upstream toolkit snapshot; the plugin is responsible for installation, session-level tool exposure, Credential, path verification, timeout cancellation, result files and web display; it will not pull the upstream main branch in the background during runtime. The upstream snapshot recorded in package.json is v0.1.0+snapshot.bc9803d.
It is divided into two layers:
1. Vision tools and vision-tools Skill: Let the Agent judge when to look at images, locate, perform OCR, crop, trace or do pixel comparison.
2. DSH native integration: Integrate these capabilities into Profile, sessions, Settings, Artifacts and the web interface, and provide a free out-of-the-box vision service after installation.
For models explicitly marked as pure text by the host, the plugin will register a variant named <model name> (Vision Toolkit). By default, pasting an image in DSH Web will switch to this variant, and pass the workspace path and the visual description around the current question to the text model.
Core Features¶
The repository README lists 10 tools that can be called individually or strung together into a workflow. Coordinates uniformly use the original image pixel format x1,y1,x2,y2, and the positioning results can be directly passed to cropping, tracing or subsequent automation.
- Look at images with intent.
vision_glancedoes not write a full image description, but extracts evidence around questions like “where is the error” or “what color is the submit button”. Multi-image comparison also uses this tool. - Locate and count interface elements.
vision_groundanswers “where is the thing I’m looking for”, returns pixel boxes, with optional boxed previews.vision_detectcounts elements such as buttons and icons, providing a numbered list and coordinates. - Extract reusable materials from screenshots.
vision_cropcuts out PNG or JPEG;vision_traceconverts graphics into editable SVG;vision_extract_foregroundextracts the main subject to get a transparent PNG;vision_dominant_colorsprovides a main color palette or sorted candidate colors. The README clearly states: cropping, pixel comparison, color analysis, foreground extraction, SVG tracing and HTML screenshots are completed locally, without consuming vision API requests. - Long screenshot OCR.
vision_long_screenshot_ocrreads in chunks, retains Markdown, chunked images, lists and audit results, and can continue after failure, used to handle long web page screenshots that are prone to missing lines or duplicates. - UI restoration closed loop.
vision_html_screenshotrenders local pages according to the specified viewport; for long documents, passfullPage=trueto generate a full-page PNG and returnpageHeightin CSS pixels.vision_pixel_diffcompares the reference image and the implementation screenshot, providing difference ratio, key areas, heat map and JSON. The repository has a reproducible UI restoration example built-in: first render the reference image and the implementation, then use the difference results to guide the next round of corrections. - Web-side paste-and-use. Preserve native thumbnails, session records and workspace paths after pasting; the web can preview the products, and Headless can continue to use the same structured results.
Installation and Activation¶
The installation command given on the catalog page is:
dsh plugin add github:Anionex/dsh-vision-toolkit
For reproducible installations, the catalog page recommends pinning the commit hash:
dsh plugin add github:Anionex/dsh-vision-toolkit#commit
Replace #commit with the actual commit hash. The repository README also provides the npm package installation method, and requires specifying the Profile. The current version is more aligned with this path:
dsh plugin --profile web add @anionex/dsh-vision-toolkit
Headless Profile can be installed separately:
dsh plugin --profile headless add @anionex/dsh-vision-toolkit
Upgrade and uninstall commands:
dsh plugin --profile web update @anionex/dsh-vision-toolkit
dsh plugin --profile web remove @anionex/dsh-vision-toolkit
If migrating from the discontinued @dsh-external/dsh-vision-toolkit, the README requires removing the old package first before installing @anionex/dsh-vision-toolkit.
After installation, you need to restart the running Web Profile, then open Settings → Vision Toolkit. The default free service is already configured, and you can directly click Test Vision Model. This test will send a real vision request, not just test the /models endpoint. The first startup will prepare an isolated Python runtime, so you need access to the Python package cache or the internet; a regular installation does not require cloning agent-vision-toolkit again, nor do you need to fill in local paths.
The runtime requirements are subject to the README and package.json:
- DeepSeek Harness Web or Headless Profile; peer dependency declared as @deepseek-ai/dsh-agent ^0.1.0-rc.6 and compatible packages.
- Node.js ^22.19.0 or >=24.0.0.
- Python 3.11+; the plugin automatically creates an isolated environment by default. CHANGELOG mentions that Microsoft Store Python on Windows is supported starting from version 0.1.13.
- Only vision_html_screenshot requires Chrome, Chromium or Edge.
- Images must be in PNG, JPEG, GIF or WebP format, and located in the session workspace or an explicitly allowed directory.
Typical Usage¶
After restarting and confirming that the settings page is connected, paste a screenshot in the session or put the image into the session workspace, then call /vision-tools. The examples given in the README include:
Look at this screenshot and tell me the cause of the error and the most important thing to fix first.
Find the login button in the top right corner, return the original image pixel coordinates and generate a boxed preview.
Cut out this icon and convert it to SVG.
Restore the page according to reference.png, take a screenshot after each round and do pixel comparison until the main differences disappear.
Common tasks can combine tools according to the recommended workflow in the repository:
| Task | Recommended Workflow |
|---|---|
| Image QA / screenshot troubleshooting | Look at image → answer around current question → continue positioning if necessary |
| Find buttons, icons or text areas | Locate target → return pixel box → generate annotated preview |
| Extract icons from screenshots | Locate → crop → trace to SVG |
| Read long web page screenshots | Auto chunk → OCR → merge Markdown → check boundaries |
| Replicate web pages or components | Reference image → implementation → HTML screenshot → pixel comparison → continue correction |
| Extract brand visuals | Crop area → dominant color analysis → foreground extraction → export transparent PNG |
If you are still prompted that the model does not support images after pasting, the troubleshooting steps in the README are: restart the Web Profile and refresh the page, confirm that the current model has switched to the variant with the (Vision Toolkit) suffix; you can also first put the image into the session workspace before calling /vision-tools.
Configuration, Limitations and Notes¶
The default free vision service endpoint is:
Base URL: https://vision.anionex.me/v1
Model: qwen/qwen3.6-27b
This is a shared endpoint, not an unlimited private endpoint. The CHANGELOG notes that the default backend switched to Groq Qwen3.6 starting from version 0.1.14. The request protection rules recorded in the README are: maximum 5 images per request, single image no larger than 4 MiB, single image decoded pixels no more than 20,000,000, maximum 4,096 tokens per output. When the shared capacity is exhausted, it will return a 429 with Retry-After instead of a vague model failure.
For higher quotas, private endpoints or other models, go to Settings → Vision Toolkit to change the provider, and store the API Key as a DSH Credential. The Settings only save the Credential reference and will not display the key back in the browser. You can also write it in the Profile patch:
- id: vision-toolkit
config:
provider:
baseUrl: https://api.example.com/v1
credential: MY_VISION_KEY
model: your-vision-model
protocol: openai
It supports OpenAI Chat Completions compatible endpoints and Anthropic Messages. You can temporarily disable it by setting disabled: true in the same place. After re-enabling or upgrading the Web plugin, you need to restart the Web Profile and refresh the page.
The current version’s capability boundaries are also written in the README: it focuses on screenshot understanding, visual positioning, OCR, material extraction, UI restoration and pixel-level verification; it is not a video, audio or camera input system, and will not automatically click the GUI. Interactive box selection editing, remote service clusters, model voting and cross-session visual caching are not in the current scope.
There is a separate security note on the catalog page: the plugin runs with the permissions of the current dsh process, and may execute code during installation. You should check the source code repository and license before installing; pin the commit in production or reproducible environments. If Chrome cannot be found, only HTML screenshots will be unavailable, and other tools will not be affected. If the image is too large, crop or resize it first, and the error will indicate whether it is a byte limit or pixel limit.
Summary¶
What pure text models lack is often not “another paragraph of image description”, but a toolchain that can locate, crop, read long images, and use pixel differences to verify restoration results. dsh-vision-toolkit connects this workflow to DeepSeek Harness’s Web / Headless Profile, switches to the (Vision Toolkit) variant after pasting an image, and local image processing and remote vision requests can be linked in the same Agent workflow.
Catalog page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-vision-toolkit/
GitHub: https://github.com/Anionex/dsh-vision-toolkit
Upstream toolkit: https://github.com/Anionex/agent-vision-toolkit
Project site: https://agent-vision.anionex.me