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…

这是什么?DSH Vision Toolkit 是 DeepSeek Harness(DSH)的一个插件,为纯文本 AI 模型装上「眼睛」:粘贴或引用一张图片,智能体就能回答与它相关的问题、OCR 长截图、按设计稿重建 UI、定位元素、裁剪、矢量化或对比像素。
这是一个独立应用,还是插入到其他东西里的插件?它是一个插件加一个内置 Skill,安装到 DeepSeek Harness(DSH)生态中——它运行在 DSH Web Profile、Headless Profile 或 DSH Desktop 内部,而不是作为独立应用运行。
怎么安装并开始使用?用一条命令把它安装到 DSH Profile(通过 DSH Terminal,如果你用 DSH Desktop 则指定 Desktop profile),重启该 profile,然后打开 Settings → Vision Toolkit 配置视觉供应商并运行测试,确认一切正常。
需要我自己先安装 Python 吗?不需要——首次使用时,如果找不到系统 Python,插件会自动下载一个隔离的、经过哈希校验的独立 Python 3.11+ 运行时(约 35MB),并从腾讯云镜像获取 Pillow、NumPy 和 vtracer。不过你需要把自己的视觉模型 API 密钥作为 DSH 凭据提供。
安装上有什么坑需要注意吗?有——DSH Desktop 2.0.1 内置的插件市场存在已知的安装问题,所以在修复版 Desktop 发布之前,建议直接在 DSH Terminal 中运行安装命令。
这个工具包面向哪些人?任何在 DeepSeek Harness 中运行智能体、并希望纯文本模型具备类多模态能力的人:粘贴截图提问、按设计稿重建 UI、对长聊天截图做 OCR,或依据截图自动化 GUI 任务。
工具箱里包含哪些工具?十个工具:visionglance(聚焦描述/OCR)、visionground(定位坐标)、visiondetect(列出 UI 元素)、visioncrop、visiontrace(图片转 SVG)、visionpixeldiff、visionlongscreenshotocr、visionextractforeground、visiondominantcolors,以及 visionhtmlscreenshot(把 HTML 渲染为 PNG)。
这和直接让多模态模型描述一张图有什么区别?它不是生成泛泛的描述,而是把智能体当前的任务或问题作为聚焦提示传给视觉模型,因此回答只突出与该步骤相关的内容——token 更省、准确度更高、回复更快。
在 DSH Web 中粘贴图片时会自动发生什么?纯文本模型路由会透明地切换到它的(Vision Toolkit)变体,保持相同的模型名称和会话历史,同时给模型一个可复用的工作区路径,因此你无需手动切换模型或复制文件路径。
这些视觉工具来自哪里?它们是上游 Anionex/agent-vision-toolkit 项目的一个打包、锁定版本的快照,被改造成原生 DSH Skill 和插件,带有自己的安装流程、凭据处理和 Web UI 集成。
Creator
Anionex
Size
10.7 MB
Stars
896
Age
2mo
Commits · 90 Days