前言¶
DeepSeek Harness(以下簡稱 dsh)是 DeepSeek 開源的智能體運行時,官方口號是「一切皆插件」:模型適配器、工具、會話、沙箱和界面都掛在 Cordis 內核上,可以按配置替換,而不必改 Harness 源碼。截至本文撰寫時(2026-08-17),它仍處於 Developer Preview,當前常見版本是 0.1.0-rc.6。
這個架構很靈活,也把一個具體缺口暴露出來:默認走官方 DeepSeek 適配器時,主模型往往是純文本。截圖、報錯界面、兩張前後對比圖貼進輸入框後,文本模型看不到像素,只能對着附件名猜測。社區因此出現了一批視覺插件,路線並不相同——有的做成識圖工具箱,有的做成像素級 tool call。本文只介紹其中一條更「接近原生」的路徑:由 oil-oil 維護的 dsh-vision。
社區插件目錄 deepseek-harness-plugin.com 把它歸在「工具與能力」,2026-08-15 收錄。需要先說明:這個目錄是獨立站點,和 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。同名或近名的倉庫還有 dsh-vision-recognizer、dsh-vision-toolkit、dsh-vision-router 等,能力邊界不一樣,安裝時認準 github:oil-oil/dsh-vision。
插件是什麼¶
dsh-vision 是一個 DeepSeek Harness 插件,npm 包名爲 @oil-oil/dsh-vision,當前版本 0.1.0,主要語言 TypeScript,許可證 MIT,要求 Node.js >= 22.19。README 寫明本版本固定兼容 Harness 0.1.0-rc.6;package.json 的 peerDependencies 也釘在同一組 0.1.0-rc.6 包上。GitHub 倉庫在 2026-08-17 顯示 55 star。插件聲明的客戶端平臺是 web。
它解決的問題很具體:讓已經選好的主模型繼續當「大腦」,同時讓圖片以儘量接近原生多模態的方式進入對話。
- 當前主模型本身支持圖片時,原圖直接發給該模型,不壓縮、不預先 OCR。
- 當前主模型是
deepseek-official這類純文本模型時,另選一個視覺模型觀察原圖,把觀察結果作爲非可信附件上下文注入,最終仍由原來的 DeepSeek 模型作答。 - 雲端視覺都不可用時,再降級到 macOS Vision 或 Tesseract,仍然由 DeepSeek 作答。
插件不會改掉右下角選中的主模型。它會替換官方 deepseek-official 適配器,但繼續使用原有模型列表、DeepSeek 設置和憑據。倉庫裏的 cordis.patch.yml 做的就是這件事:先禁用 llm-deepseek,再插入 dsh-vision:
- id: llm-deepseek
disabled: true
- insert:
- id: dsh-vision
name: "@oil-oil/dsh-vision"
雲端路由、多圖聯合分析和本地降級,README 寫明參考了同一作者的 MIT 項目 oil-oil/see-skill。
工作原理¶
README 用一張表把三條路徑寫清楚了:
| 當前主模型 | 圖片處理方式 | 最終回答者 |
|---|---|---|
| 支持圖片 | 原圖直接發送,不壓縮、不預先 OCR | 當前模型 |
deepseek-official 等文本模型 |
外部視覺模型讀取原圖,觀察結果作爲非可信附件上下文注入 | DeepSeek |
| 雲端視覺不可用 | macOS Vision 或 Tesseract 本地降級 | DeepSeek |
有幾點需要單獨看,避免和「先 OCR 再提問」的插件混在一起。
- 原圖優先。 主模型能看圖時,橋接路由根本不會啓用。自定義模型必須在 Harness 裏聲明
image輸入模態,否則仍會被當成文本模型。 - 多圖同一次請求。 多張聊天附件會一起交給視覺模型,適合前後對比和組合證據,而不是每張圖單獨出一份報告。
- 問題原樣轉發。 用戶任務不會被包進固定報告模板,視覺模型看到的是原來的問題。
- 觀察結果不可信。 視覺輸出只作爲當前請求的上下文,不改寫歷史消息;圖片裏的提示詞不會獲得系統權限。
安裝插件¶
社區目錄頁給出的安裝命令是:
dsh plugin add github:oil-oil/dsh-vision
維護者 README 寫的是帶 web profile 的寫法,和官方文檔裏 dsh plugin --profile <name> add github:owner/repo 的形式一致:
npx @deepseek-ai/dsh plugin --profile web add github:oil-oil/dsh-vision
目錄頁同時提示:如需可復現安裝,應固定 commit 哈希:
dsh plugin add github:oil-oil/dsh-vision#<commit>
安裝完成後需要重啓 Harness。之後可以像平時一樣在輸入框粘貼或拖入圖片。設置裏會出現新卡片:設置 → 插件 → 插件配置 → 視覺識別。
倉庫同時包含 src/ 和編譯後的 lib/。package.json 的 files 字段會發布 cordis.patch.yml 和 lib,git 安裝時加載的是已構建產物。即便如此,插件仍以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前應檢查源代碼倉庫和 MIT 許可證;不要把社區目錄上的一鍵命令當成已經過官方審計的保證。
配置視覺識別¶
打開「設置 → 插件 → 插件配置 → 視覺識別」,可以選擇 ZenMux、阿里雲百鍊、TokenDance 或 OpenRouter,然後填寫對應的 API Key。同一張卡片還可以改模型 ID、API 地址和單次圖片上限。
API Key 走的是 Harness 官方憑據服務。README 說明它在瀏覽器裏是單向寫入:界面只能知道 Key 是否存在,不會把 Key 讀回頁面、聊天、普通設置或會話日誌。不要把 Key 寫進下面的 YAML。
大多數情況用界面即可。等價的非敏感字段在 $DSH_HOME/settings.yaml 現有的 llm-deepseek 段落裏,README 給出的示例是:
llm-deepseek:
visionBackend: zenmux
visionBackendModel: qwen/qwen3.7-plus
visionBackendBaseURL: https://zenmux.ai/api/v1
maxImages: 8
改這些字段後無需重啓。路由規則如下:
- 「視覺識別」裏選定的平臺,是文本模型的主視覺路由。
- Harness 裏其他已啓用的視覺模型、已有 see 配置、本地 OCR,只在主路由失敗後嘗試。
- 當前主模型本身支持圖片時,原圖始終直接進入當前模型,不經過這些橋接。
- 選擇「自動選擇」時,不必在插件裏保存雲端 Key。插件會依次嘗試 Harness 中已配置且聲明支持圖片的模型、see 私有配置,最後纔是本地 OCR。
兼容 see-skill 與本地降級¶
如果 Harness 裏沒有可用的視覺模型,插件還會讀 ~/.config/see/config.env,兼容 ZenMux、百鍊、OpenRouter 和 TokenDance。環境變量優先於該文件:
export SEE_PROVIDER=zenmux
export ZENMUX_API_KEY=你的Key
SEE_PROVIDER 指定主平臺;其他已填寫 Key 的平臺只作失敗後的備用。沒有指定時,只配置了哪個平臺就用哪個平臺。
沒有云端 Key,或所有云端路由都失敗時,纔會嘗試本地能力:
- macOS:系統自帶 Vision OCR,無需額外安裝。
- Linux / Windows:Tesseract,需要自行安裝對應語言包。
本地降級以文字識別爲主,不等同於多模態模型的完整語義理解。截圖裏的佈局、圖標含義、前後視覺差異,不能指望這一層補上。
日常怎麼用¶
配置完成後,使用方式和普通多模態對話接近。
- 確認 Harness 已重啓,當前 profile 是 web(插件的
dsh.client.platform爲web)。 - 右下角仍選擇原來的 DeepSeek 模型,不必換成另一個「識圖專用」入口。
- 在輸入框粘貼或拖入一張或多張圖片,直接寫任務,例如對比兩張 UI 截圖、讀報錯彈窗、看錶格截圖裏的數字。
- 若主模型能看圖,原圖會原樣進入該模型;若不能,插件先讓配置好的視覺模型觀察原圖,再把觀察結果交給 DeepSeek。
沒有單獨的 CLI 子命令,也不需要把圖片先轉成文字再粘貼。這就是 README 說的「接近原生」:輸入習慣不變,主模型身份不變,變的是文本模型背後多了一座視覺橋。
適用場景和注意點¶
比較適合下面這類用法:日常已經把 DeepSeek 當作 Harness 裏的主模型,偶爾需要看截圖、報錯、表格或前後對比,又不想換一套識圖專用對話。多圖一起問、問題保持原樣,也更接近「把圖貼進能看圖的模型」而不是「先生成一份固定格式的看圖報告」。
使用前有幾條邊界需要當成事實,而不是可選項。
- 版本釘得很死。 當前發佈面向
0.1.0-rc.6。Harness 還在 Developer Preview,核心插件和 API 會繼續變,升級前應對一下 peerDependencies。 - 它替換的是官方適配器。
cordis.patch.yml會禁用llm-deepseek。如果同一個 profile 裏還裝了其他也替換 DeepSeek 適配器的插件,加載順序和衝突需要自己覈對,README 沒有保證可以疊放。 - 圖片會離開本機。 原圖只發送給用戶配置的視覺服務,但只要走了雲端路由,像素就會到達對應供應商。敏感截圖應使用自己控制的端點,或接受本地 OCR 的能力上限。
- 本地 OCR 不是多模態。 macOS Vision / Tesseract 只能在雲端都失敗時頂一陣,不能當作完整看圖。
- 安全模型是「觀察不可信」。 視覺結果只參與當前請求;圖片中的指令沒有系統權限。這能降低間接提示注入的風險,但不能替代你對供應商和源碼的審查。
- 權限與許可證。 插件以當前 dsh 進程權限運行,安裝時可能執行代碼。安裝前閱讀 oil-oil/dsh-vision 源碼和 MIT 許可證;需要可復現環境時固定 commit。
- 目錄不是官方商店。 dsh-vision 目錄頁 便於檢索分類和安裝命令,權威信息以倉庫 README、
package.json和許可證爲準。
小結¶
dsh-vision 把「DeepSeek 繼續回答、圖片按能力走原生或橋接」做成了一個可安裝的 web 插件。主模型能看圖就走原圖;不能看圖就調用 ZenMux / 百鍊 / TokenDance / OpenRouter(或 see-skill / 本地 OCR)做觀察,再把非可信上下文交給原來的 DeepSeek。安裝和配置都掛在 Harness 現有的插件與憑據機制上,不另起一套對話入口。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-vision/
GitHub:https://github.com/oil-oil/dsh-vision