dsh-vision-primitives:給 DSH 智能體加一組像素級視覺推理原語

前言

在 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。

聊天圖片輸入

插件提供三種聊天圖片輸入模式:

  1. 視覺模型原生圖片附件。
  2. 純文本模型發送時圖片橋接。
  3. 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 和 WinRT OcrEngine。
  • 插件不包含桌面鼠標/鍵盤控制。
  • MiMo 工具需要 API key;純本地視覺原語不需要 key。

結尾

dsh-vision-primitives 的價值在於把視覺推理從“模型直接猜座標”變成“網格—解析—放大—驗證”的工程化流程,並可選接入 MiMo V2.5 多模態後端。

GitHub:https://github.com/zouyuanqing/dsh-vision-primitives。
本文未採用未經覈實的社區目錄頁 URL;如需目錄頁,請以當前插件目錄實際提供的入口爲準。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜