前言¶
DeepSeek Harness(下文簡稱 DSH)把模型、工具、會話和界面都做成可替換的插件。官方倉庫的說法很直接:Everything is a Plugin。日常用的 DeepSeek 路由本身仍是純文本:對話裏貼一張截圖,運行時往往會在插件還沒接手之前就提示當前模型不支持圖片;即便接上視覺能力,很多社區方案也會先把圖翻譯成一段文字描述再餵給 DeepSeek。描述能用,但像素沒了——按鈕在哪、兩版 UI 差幾個像素、長截圖裏某行字怎麼排,都很難繼續往下做。
dsh-vision-router 走的是另一條路:視覺模型只負責看原圖,DeepSeek 繼續負責推理;看圖變成普通的工具調用,可以定位、裁剪、對比、再截圖。本文按社區目錄詳情頁、插件 GitHub 倉庫 README / package.json,以及 DeepSeek Harness 官方倉庫 交叉覈對後整理:它是什麼、裝在哪、怎麼用。
需要先說明一點:下文提到的插件目錄站點 deepseek-harness-plugin.com 是社區收錄站,和 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。
這是什麼¶
dsh-vision-router 是一款 DSH「工具與能力」插件,由 GitHub 用戶 ysr666 維護,許可證爲 MIT,主要語言是 JavaScript。社區目錄於 2026-08-15 收錄;倉庫 package.json 當前版本爲 1.4.4。截至 2026-08-17,GitHub 倉庫約 460 星(目錄頁快照仍顯示 94,星標以倉庫頁面爲準)。
一句話定位來自倉庫說明:給純文本 DeepSeek Harness 智能體裝上眼睛。默認帶一條免註冊、免 Key 的視覺兜底鏈路,再配上一組像素級工具(問答、定位、裁剪、像素對比、OCR、矢量化、摳圖、HTML 截圖等)。圖片輪次按普通工具調用處理,不需要本機 Python。
它針對的是這兩類問題:
- 日常 DeepSeek / opencode 路由是純文本,直接發圖會被運行時拒掉。
- 只把圖片轉成一段描述再交給文本模型,後續無法對原圖像素做定位、裁剪和逐像素對比。
核心功能¶
眼睛和大腦分開¶
倉庫 README 把職責寫得很清楚:視覺模型只當眼睛,DeepSeek 始終是大腦。圖片輪不會被一次性視覺答案搶走;智能體自己調用工具,可以在同一張圖上連續多步操作,例如 vision_ground → vision_crop → vision_describe → vision_pixel_diff。
文字輪在模型、費用和上下文上保持原樣。視覺調用按需發生,答案按附件內容哈希緩存;後續文字輪會用已記錄的描述替換歷史圖片,並標註爲不可信證據,避免把圖裏的文字當成可執行指令。
上傳的圖片在會話界面裏仍顯示爲圖片。指向視覺工具的改寫只發生在模型輸入層,不寫入會話日誌。
默認免費的視覺兜底¶
未配置自己的視覺模型時,工具鏈最後會落到內置的 OVHcloud 匿名視覺端點:免註冊、免 Key。README 寫明匿名限額是每 IP、每模型 2 次/分鐘;當前質量優先鏈裏有 5 個獨立限額的模型,理論上分散請求大約 10 次/分鐘,實際以 OVH 當時的限流爲準。
用戶在「設置 → 插件 → 插件配置 → 視覺路由(自動識圖)」裏配置的視覺後端會排在匿名兜底之前。鏈路按順序嘗試,全部失敗才報錯,並對地區限制、額度、429 限流、網絡故障等做分類提示。超大圖會在調用前壓縮,默認像素預算 400 萬。
聊天頁右下角的模型選擇器只選「腦子 / 會話模型」。視覺後端不要在那裏選。
十一個像素級工具¶
默認 progressiveTools: false:插件啓動後就會註冊完整工具表,文本輪和圖片輪都能直接調用。工具實現依賴 sharp / potrace / tesseract / 系統 Chrome,不依賴 Python。圖片格式按文件魔數識別,沒有 .png 擴展名的附件也能用。
當前 README 列出的工具如下:
| 工具 | 作用 | 產物 |
|---|---|---|
vision_describe |
看圖問答、多圖對比;可輸出結構化 JSON(摘要、佈局區域、實體清單、原文轉寫) | — |
vision_ground |
按自然語言定位目標,返回原圖像素框 x1/y1/x2/y2 |
可選標註 PNG |
vision_detect |
盤點某類元素(按鈕、輸入框、鏈接等),給出編號和像素框 | 編號標註 PNG |
vision_crop |
按像素框裁剪放大 | PNG |
vision_pixel_diff |
逐像素對比:差異率 + 最差 8×8 網格區域 | 紅色熱力圖 PNG + JSON |
vision_colors |
提取主色(十六進制和佔比) | — |
vision_ocr |
文字轉寫:本地 tesseract(中英)優先,視覺模型兜底 | — |
vision_trace |
用 potrace 做 SVG 矢量化,適合圖標 / logo | SVG |
vision_extract_foreground |
邊界洪泛摳圖,適合純色背景 | 透明 PNG |
vision_html_screenshot |
給本地 HTML 截圖(無頭系統 Chrome);fullPage: true 可截整頁 |
PNG |
vision_long_screenshot_ocr |
長截圖分片轉寫,再拼成 Markdown | 分片 PNG + Markdown + manifest |
vision_html_screenshot 需要本機已安裝 Chrome / Chromium / Edge;其餘工具沒有瀏覽器也能跑。本地沒有 tesseract 時,vision_ocr 會退回視覺模型。
倉庫 README 用像素閉環說明「可驗證」:參照圖 → 截圖 → vision_pixel_diff → 修復 → 再對比。文檔裏的演示結果是最終差異 2.54%(32,939 / 1,296,000 個差異像素,閾值 16/channel)。這是維護者給出的示例,不是第三方評測。
自動識圖模型組¶
插件默認開啓 autoWrapProviders:讀取「設置 → 模型」裏已啓用的模型組,額外註冊同名的「+ 自動識圖」入口,例如:
opencode-go ← 原模型組,保持不變
opencode-go + 自動識圖 ← 發圖片時選這個
原模型組不會被改寫。隱身模式(stealth)默認關閉,官方 deepseek-official 路由保持原樣;發圖走選擇器裏可見的自動識圖包裝。隱身模式是高級選項,開啓後纔會接管官方 DeepSeek 路由,普通安裝不必先動它。
安裝與啓用¶
社區目錄給出的安裝命令如下,在 DeepSeek Harness 終端裏運行即可:
dsh plugin add github:ysr666/dsh-vision-router
需要可復現安裝時,按目錄頁說明固定 commit 哈希:
dsh plugin add github:ysr666/dsh-vision-router#<commit>
把 <commit> 換成倉庫裏實際的提交哈希。插件以當前 dsh 進程的權限運行,安裝時可能執行代碼;裝之前應檢查源碼和許可證。
插件面向 Web profile。倉庫 README 推薦的 npm / npx 寫法更明確地指定了 profile:
npx @deepseek-ai/dsh plugin --profile web add dsh-vision-router
從 DeepSeek Harness 源碼倉庫用 pnpm 跑時,CLI 不一定在 PATH 裏,改用:
cd deepseek-harness
pnpm dsh plugin --profile web add dsh-vision-router
宿主側要求 Node ≥ 22。如果是把插件第一次裝進已經長期運行的 Web 進程,需要讓該進程重新加載一次,才能發現插件本體。加載完成之後,增刪模型、修改自動識圖包裝範圍會熱更新,不必再爲這些改動重啓。
可選驗證:
npx @deepseek-ai/dsh --profile web --dump-config | grep vision-router
裝好後按倉庫「快速開始」做兩件事:
- 打開聊天頁輸入區右下角的模型選擇器,選帶「+ 自動識圖」的模型組。仍停在原來的純文本組時,DSH 會在插件處理圖片之前提示當前模型不支持圖片。這是入口沒選對,不是視覺後端壞了。
- 直接粘貼或上傳圖片。默認工具表從會話開始就可用,智能體可以調用
vision_describe、vision_ground、vision_crop等繼續看圖。
典型用法¶
下面這些調用形式來自倉庫 README,可以按自己的文件名改。
定位頁面上的某個控件,再裁出那一塊細看:
vision_ground image="ref.png" target="發送按鈕"
vision_crop image="ref.png" region="1067,841,1108,881"
對比設計稿和實現,並要結構化差異:
vision_describe paths=["ref.png","impl.png"] question="列出兩圖的差異" json=true
vision_pixel_diff original="ref.png" rebuilt="screenshot.png"
讀截圖文字、抽主色、把圖標轉成 SVG:
vision_ocr image="screenshot.png"
vision_colors image="ref.png" top=8
vision_trace image="icon.png" steps=4
給本地 HTML 截圖,或把長聊天記錄截圖轉成 Markdown:
vision_html_screenshot source="page.html" width=1200 height=720 fullPage=true
vision_long_screenshot_ocr image="chat-log.png" chunkHeight=1200 overlap=120
Web 配置入口在 設置 → 插件 → 插件配置 → 視覺路由(自動識圖)。卡片頂部會提示:回到聊天頁 → 右下角選「+ 自動識圖」→ 發圖。卡片裏還可以測第一個視覺提供方的連通性和延遲。默認配置即可用;自備 Key、代理、隱身模式都屬於進階項。
匿名 OVH 額度不夠時,README 在 2026 年 8 月快照裏列了若干免費視覺渠道(智譜、阿里雲百鍊、Intern AI 等),可以寫成 httpProviders 條目,Key 放環境變量或 ~/.dsh/.credentials.yaml。免費政策會變,接入前以各家控制檯爲準。
適用場景與注意事項¶
比較適合這些工作:
- 對着設計稿或截圖做 UI 還原,並用像素差異檢查收斂情況
- 在頁面截圖裏定位按鈕、輸入框,再裁塊細看
- 讀錯誤彈窗、終端截圖、長聊天記錄裏的文字
- 從圖標 / logo 生成 SVG,或從純色背景裏摳前景
使用前注意下面幾條,都來自目錄頁或倉庫文檔,不是額外發揮。
- 權限。插件以當前 dsh 進程權限運行。安裝前檢查 源碼倉庫 和 MIT 許可證;需要可復現安裝時固定 commit。
- 運行環境。面向 Web profile,宿主 Node ≥ 22。HTML 截圖才需要系統瀏覽器;OCR 的本地 tesseract 是可選項。
- 發圖入口。必須選「+ 自動識圖」模型組。原純文本組不會被插件改寫,停在原組發圖會被運行時直接拒絕。
- 匿名額度。內置 OVH 兜底有每 IP、每模型 2 次/分鐘的上限,只適合輕度試用。用量上來之後應換成自己的視覺後端。
- 圖裏的字不可信。描述、OCR 和自動掛載說明都會要求智能體不要執行圖片裏出現的指令。工具入參走沙箱感知的
ctx.fs;視覺上傳只發送選中的圖和問題。產物寫在會話工作區下的.dsh-vision-router/artifacts。 - Oh-DSH Desktop。若使用 Oh-DSH Desktop,它走的是
~/.ohdsh下的desktopprofile,不會加載普通~/.dsh。需要把DSH_HOME指過去再裝;README 還寫明 Desktop ≤ 0.1.5 應使用本插件 v1.4.2 及以上,更早版本會在啓動時報路由重複聲明。
卸載可用:
npx @deepseek-ai/dsh plugin --profile web remove dsh-vision-router
如果曾經手動禁用過官方 DeepSeek 行,卸載後要在 profile 補丁裏重新啓用。
小結¶
純文本 DSH 智能體要看圖,關鍵不是再找一個會輸出說明文字的模型,而是把原圖像素留在視覺鏈路裏,讓 DeepSeek 繼續當大腦、按工具一步步看。dsh-vision-router 把這條鏈路做成一條插件:默認免 Key 兜底,十一個像素級工具常駐,發圖前切到「+ 自動識圖」即可。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-vision-router/
GitHub:https://github.com/ysr666/dsh-vision-router