前言¶
在 DSH 的 Web 會話或智能體流程裏,如果當前選中的是 DeepSeek V4 Flash、DeepSeek V4 Pro 這類文本模型,但請求中帶有圖片,模型本身無法直接識別這些圖片。dsh-vision 解決的就是這個問題:當請求包含圖片、而目標模型不能識圖時,它先描述圖片,再把 provider 調用中的圖片塊替換爲文本描述。會話日誌和 UI 仍然保留原始圖片。
這是什麼¶
yepyeel/dsh-vision 是一個 DSH 插件,用於爲文本模型提供可用的視覺識別能力。它的核心行爲是:
- 當請求包含圖片且目標模型不能識圖時,描述圖片。
- 僅將 provider 調用中的圖片塊替換爲文本描述。
- Session log 和 UI 保留原始圖片。
- 許可證爲 MIT。
核心功能¶
圖片描述與替換¶
當請求包含圖片、且目標模型不能識圖時,插件會描述圖片,並將 provider 調用中的圖片塊替換爲文本描述。
替換隻發生在發給 provider 的調用層。Session log 和 UI 中仍然顯示原始圖片。
視覺模型選擇策略¶
插件有兩種模式:
-
Auto 模式
按 provider 註冊順序遍歷已添加且聲明image輸入的模型,使用第一個成功的模型;如果不可用,則回退系統 OCR。 -
指定模型模式
只使用 Settings 中選擇的一個已添加視覺模型。失敗不會重試,也不會回退到其他模型或系統 OCR。
系統 OCR 回退¶
系統 OCR 回退按平臺使用:
- macOS:Vision framework
- Windows:Windows.Media.Ocr
- 其他平臺:可安裝 Tesseract,並在 PATH 中使用
注意:系統 OCR 是文本提取,不是場景描述。
描述結果緩存¶
插件會按“附件 + 模型”或“附件 + OCR”緩存描述結果,緩存持續到進程結束。也就是說,同一進程內後續輪次不會重複發起相同的視覺模型調用或 OCR 調用。
能力聲明與請求改寫¶
插件在啓動時包裝 ctx.llm.resolveModelInfo,爲文本模型聲明 image 輸入能力,使 image-admission 門控和 read_image 工具可用。
隨後,插件在 llm/stream waterfall 中改寫請求:將圖片替換爲描述,並調用視覺模型。
安裝與啓用¶
安裝前要求¶
安裝前需要滿足以下條件:
- 已有 DeepSeek Harness 安裝。
dshCLI 在 PATH 中。- 如果使用視覺模型描述:至少一個已添加模型在
inputModalities中聲明image。 - 如果使用 OCR fallback:
- macOS 使用 Vision framework,無需額外安裝。
- Windows 使用 Windows.Media.Ocr,無需額外安裝。
- 其他平臺需要 Tesseract 安裝在 PATH 中。
安裝¶
先進入插件目錄,然後運行:
dsh plugin --profile web add .
安裝後重啓 dsh web,使新 bundle layer 和客戶端設置頁加載。
移除¶
如需移除插件,運行:
dsh plugin --profile web remove dsh-vision
典型用法¶
下面是一個可復現的基本流程:
- 確認已經添加至少一個在
inputModalities中聲明image的模型,或者確認當前平臺可走系統 OCR。 - 在插件目錄中運行:
dsh plugin --profile web add .
- 重啓
dsh web。 - 打開
Settings → 視覺識別,選擇Auto或指定識圖模型。 - 在包含圖片的會話中使用文本模型。當請求需要發給 provider 時,插件會把圖片塊替換爲描述後的文本;Session log 和 UI 仍保留原始圖片。
相同的配置值保存在:
$DSH_HOME/settings.yaml
其中位於:
dsh-vision:
適用場景與注意¶
適合的場景:
- 你使用 DeepSeek V4 Flash、DeepSeek V4 Pro 等文本模型。
- 會話中會出現圖片附件。
- 你希望文本模型繼續處理上下文,同時由其他視覺模型或系統 OCR 提供圖片描述。
- 你已經添加了聲明
image輸入的視覺模型,或當前平臺支持系統 OCR。
使用前需要注意:
- 只會在
inputModalities中聲明image的模型中選擇。 - 能識圖但未聲明的 gateway 模型不會被選擇。
- 指定模型模式是 fail-closed:缺失、文本模型或出錯模型不會被替換。
- 系統 OCR 是文本提取,不是場景描述。
- Settings RPCs 僅 loopback。
- 由於
image能力被聲明,已包含圖片的會話可以切迴文本模型;歷史圖片會在下一次llm/streampass 中被描述。 - 插件以當前
dsh進程權限運行。安裝前應檢查源碼、依賴與許可證。本插件許可證爲 MIT。
鏈接¶
- GitHub:https://github.com/yepyeel/dsh-vision
- 插件目錄頁:https://www.skillhub.cn/plugins/yepyeel/dsh-vision