前言¶
在 DSH 里做图像或屏幕相关的智能体任务时,常见的问题是:模型能“看懂”内容,但给出的位置不够精确;后续要做标注、测量、帧差分或 OCR 时,又缺少可复现的坐标基准。如果再额外引入一套 MCP 服务器,部署和权限边界也会变复杂。
下面介绍 dsh-vision-primitives。它是一个面向 DeepSeek Harness(DSH)的原生视觉推理插件,先把图像或截图变成带编号的网格,再把格子解析成精确坐标,然后做局部放大和确定性验证。需要多模态理解时,可以接入 MiMo V2.5 后端;不需要时,本地视觉原语也可以单独使用。
这是什么¶
dsh-vision-primitives 可以理解为 DSH 插件生态中的一组视觉原语:
- 核心目标是精确像素 grounding:SOM 网格、缩放、标注、测量、差分、颜色查找、OCR。
- 提供 MiMo V2.5 多模态后端,并注册
mimo模型路由,支持流式、函数调用和图像输入。 - 不依赖外部 MCP 服务器。
- 仓库所有者为
zouyuanqing,许可证为 MIT。 - GitHub 地址:
https://github.com/zouyuanqing/dsh-vision-primitives
一句话概括:它把“看图—选位置—放大—验证”拆成一组可调用、可复现的步骤,而不是让模型凭感觉输出坐标。
核心能力¶
像素级定位¶
先做帧,再做网格,最后解析坐标。典型链路是:
vision_capture -> vision_grid -> read_image -> vision_resolve
其中:
vision_capture可以截取屏幕,或读取工作区 PNG,形成会话帧。vision_grid叠加 Set-of-Mark 编号网格,用来降低视觉模型直接输出坐标时的误差。read_image用于读取图像内容。vision_resolve将格子解析为精确像素坐标。
局部无损放大¶
vision_zoom 做局部最近邻放大,并保留到原帧的坐标映射链。经过这一步,模型可以在放大图里继续判断细节,同时坐标仍能回到原始帧。
确定性验证¶
插件提供一组用于验证的工具,适合在“模型判断”之后做像素级确认:
vision_annotate / vision_measure / vision_ocr / vision_find_color
vision_annotate:标注。vision_measure:测量。vision_ocr:OCR。vision_find_color:颜色查找。vision_diff:帧差分,用于检测变化区域。
MiMo V2.5 多模态后端¶
插件支持 MiMo V2.5 多模态后端,并注册 mimo 模型路由。该路由支持流式、函数调用和图像输入。
使用 MiMo 相关工具时需要配置 API key;纯本地视觉原语不需要 key。
聊天图片输入¶
插件提供三种聊天图片输入模式:
- 视觉模型原生图片附件。
- 纯文本模型发送时图片桥接。
- paste-to-path 文本注入。
发送时图片桥接会把图片缓存到 .vispri/incoming-*.png,并注入类似 [Attached image: path] 的文本,供文本模型按路径继续处理。
视觉证据协议(VEP)¶
插件提供 Visual Evidence Protocol(VEP),输出结构化视觉证据,包括:
- caption;
- layout;
- elements;
- normalized boxes 与 pixel boxes;
- SOM cell IDs;
- screen coordinates。
这层结构化结果用于把模糊的视觉感知桥接到后续确定性坐标操作。
最小 OS 边界¶
插件的 OS 边界较小:只通过 host subprocess 调用 Windows PowerShell 系统脚本完成三类操作:
- screenshot;
- OCR;
- binary file persistence。
它不包含桌面鼠标/键盘控制。
密钥处理¶
插件不硬编码密钥。MiMo API key 从 DSH credentials 中惰性读取。
安装与启用¶
先确认环境:Node engine requirement 是 >=18。该包是纯 JS 包,没有 build 脚本,也不需要 pnpm allowBuilds 权限。依赖包括:
@deepseek-ai/dsh-settings@deepseek-ai/dsh-tools@deepseek-ai/schemastery
安装命令如下:
dsh plugin --profile <name> add github:zouyuanqing/dsh-vision-primitives
这里的 <name> 是 profile 占位符;本文未提供具体 profile 名称。安装后启动 DSH,即可在当前会话中使用该插件提供的视觉工具。
如果需要固定版本安装:
dsh plugin --profile <name> add github:zouyuanqing/dsh-vision-primitives#<commit-sha>
如果走 npm 包安装:
dsh plugin add dsh-vision-primitives
如果需要使用 MiMo 后端,配置 API key:
dsh credentials set MIMO_API_KEY <your-key>
配置解析优先级为:
WebUI user settings > row config > defaults
其中 apiKey 的查找顺序是:先查 settings,再查 credentials。
注意安装形态会影响 WebUI 配置卡片可用性:WebUI config card 只在 bundle install form 下可用。动态插件沙箱形态因为 approval policy 是 never,无法激活 Client half;该形态下可以用 CLI 配置 credentials。
典型用法¶
一个交互式视觉推理工作流可以写成:
vision_capture -> vision_grid -> read_image -> vision_resolve -> vision_zoom -> vision_annotate / vision_measure / vision_ocr / vision_find_color -> vision_diff
按步骤理解:
1、vision_capture 先把屏幕或工作区 PNG 变成会话帧。
2、vision_grid 叠加编号网格。
3、read_image 读取图像内容。
4、vision_resolve 把目标格子解析成精确坐标。
5、vision_zoom 对局部区域放大,保留原帧坐标映射。
6、用 vision_annotate、vision_measure、vision_ocr、vision_find_color 做验证。
7、需要检测变化时,再使用 vision_diff。
帧文件会存储在:
sandboxPolicy.workspaceRoot/.vispri
发送时图片桥接产生的 incoming 文件路径形如:
.vispri/incoming-*.png
如果要运行内核测试:
node kernel-test.js
node inflate-diff-test.js
适用场景与注意¶
适合:
- 在 DSH 智能体里处理屏幕截图或图片;
- 需要把视觉结果落到精确像素坐标;
- 需要标注、测量、帧差分、颜色查找、OCR 等确定性验证;
- 希望减少外部 MCP 服务器依赖;
- 可选接入 MiMo V2.5 做多模态理解。
注意:
- 插件以当前
dsh进程权限运行,安装前应检查源码与许可证。 - 屏幕截取和原生 OCR 当前是 Windows 实现,使用 PowerShell
Graphics.CopyFromScreen和 WinRTOcrEngine。 - 插件不包含桌面鼠标/键盘控制。
- MiMo 工具需要 API key;纯本地视觉原语不需要 key。
结尾¶
dsh-vision-primitives 的价值在于把视觉推理从“模型直接猜坐标”变成“网格—解析—放大—验证”的工程化流程,并可选接入 MiMo V2.5 多模态后端。
GitHub:https://github.com/zouyuanqing/dsh-vision-primitives。
本文未采用未经核实的社区目录页 URL;如需目录页,请以当前插件目录实际提供的入口为准。