dsh-vision:讓文本模型在 DSH 中處理帶圖請求

前言

在 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 中仍然顯示原始圖片。

視覺模型選擇策略

插件有兩種模式:

  1. Auto 模式
    按 provider 註冊順序遍歷已添加且聲明 image 輸入的模型,使用第一個成功的模型;如果不可用,則回退系統 OCR。

  2. 指定模型模式
    只使用 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 安裝。
  • dsh CLI 在 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

典型用法

下面是一個可復現的基本流程:

  1. 確認已經添加至少一個在 inputModalities 中聲明 image 的模型,或者確認當前平臺可走系統 OCR。
  2. 在插件目錄中運行:
   dsh plugin --profile web add .
  1. 重啓 dsh web。
  2. 打開 Settings → 視覺識別,選擇 Auto 或 指定識圖模型。
  3. 在包含圖片的會話中使用文本模型。當請求需要發給 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/stream pass 中被描述。
  • 插件以當前 dsh 進程權限運行。安裝前應檢查源碼、依賴與許可證。本插件許可證爲 MIT。

鏈接

  • GitHub:https://github.com/yepyeel/dsh-vision
  • 插件目錄頁:https://www.skillhub.cn/plugins/yepyeel/dsh-vision
羽毛球分组比赛记分
小程序二维码

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

小夜