Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Yts1919/dsh-vision-complete --skill vision-multimodalgit clone --depth 1 https://github.com/Yts1919/dsh-vision-completeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/yts1919/dsh-vision-complete/vision-multimodal)<a href="https://agentmods.dev/skills/yts1919/dsh-vision-complete/vision-multimodal"><img src="https://agentmods.dev/badge/skills/yts1919/dsh-vision-complete/vision-multimodal/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/yts1919/dsh-vision-complete/vision-multimodal"><img src="https://agentmods.dev/badge/skills/yts1919/dsh-vision-complete/vision-multimodal.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00112 | $0.02279 |
| Opus 5.5 | $0.00045 | $0.00912 |
| Sonnet 5.5 | $0.00022 | $0.00456 |
| Haiku 4.5 | $0.00011 | $0.00228 |
Grade A, and why
vision-multimodal scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 98 lines — stays where its author put it; the contents beside it link to each section on GitHub.
完整视觉能力(Vision-Multimodal Complete)
DeepSeek 本身是纯文本模型,看不到图、听不到声。这个 skill 给它补上完整的多模态能力,按环境自动选择两种实现:
方式 A:MCP 工具(默认,通义千问 Qwen)
若工具列表里有 mcp__qwen-mm-plugins-*,直接使用(已注册、无需额外安装,只需 DASHSCOPE_API_KEY):
qwen-mm-plugins-core:本地读图 / 读视频 / 裁剪 / 画框 / 可视化任意文件 / 看媒体元信息。qwen-mm-plugins-api:调用 Qwen 多模态模型(理解、OCR、检测、视频+音频融合、语音转写、音乐分析、图像分割)。qwen-mm-plugins-video-memory:30 分钟以上长视频的语义记忆与检索。
方式 B:通用方式 —— 用本目录的 vision.py(接任意供应商)
环境里没有 MCP 工具、或想接别的模型(OpenAI / 智谱 GLM / Kimi / 通义千问 / 硅基流动 / 本地 Ollama …)时,用命令行调用 vision.py(零依赖,Python 3.7+):
python vision.py chat --image 图.png --prompt "描述这张图"
python vision.py ocr --image 图.png --lang zh
python vision.py grounding --image 图.png --prompt "所有猫"
python vision.py compare --image 图.png --prompt "描述这张图" --models qwen,glm,kimi
python vision.py providers
供应商切换:把 config.example.json 复制为 config.json,改 provider 一行即可;API Key 用环境变量设置。详见 references/providers.md。
截图直读(配合 screenshot-tool)
若用户装了截图自动保存工具(~/.dsh/tools/screenshot-tool),截图后剪贴板会自动变成文件路径(形如 ...\Pictures\DeepSeek-Shots\shot_xxx.png)。用户粘贴出来的是路径文字,直接把它当图片的绝对路径,走下面的工作流即可,无需额外处理。
快速决策:任务 → 工具
| 我想做什么 | 方式 A(MCP) | 方式 B(vision.py) |
|---|---|---|
| 描述一张图片 / 回答关于图的问题 | vision_chat |
python vision.py chat |
| 从图片/截图/票据里提取文字 | ocr |
python vision.py ocr |
| 找出物体在哪儿(画框定位) | grounding |
python vision.py grounding |
| 把框画到图上给用户看 | core draw_bbox 或 grounding(return_img=true) |
core draw_bbox(0–1000 坐标) |
| 裁剪图片某块区域 | core crop |
core crop |
| 低成本先瞄一眼图 | core read_image |
— |
| 同一张图对比多个模型 | 手动多次调用 | python vision.py compare |
| 理解一段视频(画面+声音) | omni_av_caption 等 |
core media_info → 抽帧 → vision.py chat |
| 视频/音频转文字 | transcribe_audio 或 omni_asr* |
接任意 ASR 服务 |
| 多说话人分别转写 | omni_multi_speaker_asr |
接任意 ASR 服务 |
| 分析一首音乐 | omni_music_caption |
— |
| 把物体从图里抠出来(分割掩码) | segmentation |
— |
| 看 PDF / Office / CSV / 代码 / 3D | core visualize / save_view |
— |
| 30 分钟以上长视频问答 | qwen-mm-plugins-video-memory 系列 |
— |
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 98 lines · 112 tokens per session scan A 176573cccc67
vision-multimodal is a skill published in the GitHub repository Yts1919/dsh-vision-complete (52 stars, last pushed 2mo ago), licensed MIT. It adds 112 tokens to every session and 2,279 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
glmv-resume-screen
Screen and evaluate resumes against criteria using ZhiPu GLM-V multimodal model. Reads multiple resume files (PDF/DOCX/TXT), compares against user-defined screening criteria, and outputs a Markdown table with pass/fail analysis. Use when the user wants to filter resumes, compare candidates, or batch-evaluate job…
paddleocr-text-recognition
An optical character recognition tool configuration for extracting text from images, photos, scans, screenshots, and scanned PDFs. OCR means converting text visible in an image into machine-readable text.
ade
Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI. A local job-item store makes every run idempotent, resumable, and citable — repeat runs are free, interrupted runs resume, and every answer can cite element ids with visual evidence.
configuring-vision
The user wants to connect an LLM or vision provider, already has an API key, asks "can I use OpenAI/Anthropic/Gemini/OpenRouter", wants local Ollama, or needs different cheap and strong models. Use this to configure provider-neutral visual understanding without tying Watch Skill to one agent or model vendor.
sharing-results
The user wants to share or hand off what was found in a video — "send this analysis to my team", "make a page I can share", "export the findings", "give me something I can attach to the ticket". Use this to render a self-contained offline HTML viewer page with the frames, transcript, and every cached answer with its…
vision
Call vision models (Doubao, Qwen, DeepSeek, OpenAI) to analyze images. Use when you need to understand screenshots, UI layouts, diagrams, or any image content. Supports png/jpg/webp/gif.