dsh-mmroute:DeepSeek Harness 全程多模態路由插件

前言

在開發基於 DeepSeek Harness(DSH)的智能體時,我們常面臨一個具體問題:項目裏配置了 DeepSeek 或 GLM 等純文本模型,但在處理包含圖片的請求(如截圖分析、圖表讀取)時會遭遇拒圖或報錯。手動切換路由雖然能解決問題,但破壞了 agent 的連續性和習慣。

dsh-mmroute 作爲一個 DSH 插件,其核心價值在於“透明化”地解決這一問題。它不要求改變現有的模型調用習慣,而是作爲中間層介入 llm/stream 流程,對純文本模型發出的請求中的圖片進行攔截、轉述和分發,確保整個 agent 流程能順暢處理視覺任務。

插件定位

  • 名稱:dsh-mmroute
  • 維護者:jmxsxwyzjdwl
  • 類別:模型推理
  • 開源協議:MIT
  • 核心功能:爲 DSH 裏的每一條模型路由做圖片模態調度,貫穿整個 agent 流程。

核心能力

該插件主要處理以下場景和功能:

  1. 圖片模態全程調度
    從用戶上傳、read_image 結果到 MCP 工具產生的渲染圖(如 Figma 截圖),所有圖片都會被統一處理。
  2. 文本模型自動轉述
    對於純文本模型(或未被標記爲多模態的模型),插件會將其請求中的圖片轉述爲詳細的文字描述(含逐字轉錄、圖表數據、佈局與顏色信息)。
  3. 圖片類報錯自愈
    如果純文本模型(或網關)拒圖導致請求失敗,插件會自動將路由切換至理解模型進行重試,直到成功或達到重試上限。
  4. 歷史圖摘要重放
    同一張圖片在會話歷史中再次出現時,會以摘要形式重放(≤1200字符),避免長會話因舊圖全量重放而膨脹。
  5. 結構化轉述與 vision_relook
    轉述內容包含圖型判定、全量文字、圖表數據等結構化信息。文本模型作答時可調用 vision_relook 工具,定點復看圖片細節,形成“指揮與執行”的協作閉環。
  6. 多格式支持
    支持 PNG、JPEG、WebP、GIF 等常見圖片格式。

安裝與啓用

安裝過程非常直接,使用官方提供的命令即可:

dsh plugin --profile web add dsh-mmroute

安裝後,你需要重啓 DSH Web 進程以使插件生效。插件會自動將依賴寫入 profile 的 package.json。

使用方法

啓用插件後,操作流程如下:

  1. 打開 設置 → 多模態路由。
  2. 在 「多模態理解模型」 下拉框中選擇:
    • 自動:使用發現的第一個原生多模態模型。
    • 指定:手動選擇你配置好的多模態模型(可以是免費雲模型或本地模型)。
  3. (可選)在 「模型模態標記」 中,爲個別模型顯式選擇 默認 / 多模態 / 純文本。這會覆蓋自動判定結果。
  4. 在對話中直接粘貼或上傳圖片,或讓 agent 調用 MCP 工具產生圖片,即可看到自動轉述的效果。

注意:v0.6.0 版本起,設置頁已簡化,僅保留理解模型與模態標記。自動路由、報錯自愈、歷史圖摘要等功能默認開啓,後臺持續運行。

配置與機制細節

  • 配置持久化:插件的配置保存在 $DSH_HOME/mmroute 目錄(默認爲 ~/.dsh/mmroute)。
  • 模型標記同步:在設置頁標記模型時,插件會自動同步寫入 ~/.dsh/settings.yaml 中的原生 input 聲明(如 input: [text, image]),支持熱重建路由。
  • 緩存限制:轉述緩存上限爲 300 條,標記上限爲 2000 條,超出後按 FIFO 淘汰。
  • 併發處理:併發請求中如果轉述同一張圖,會合併爲一次調用。
  • 理解模型選擇:理解模型可以是任何聲明圖片輸入能力的 provider,不內置免費端點,也不借用任何外部登錄態。

適用場景與注意

該插件適合需要讓純文本模型(如 DeepSeek、GLM)處理視覺任務的場景。它通過“轉述”而非“直髮”的方式,確保了純文本模型能理解圖片內容。

在使用前,請確保你已正確配置了用於“理解”圖片的多模態模型(例如本地 Ollama 或其他雲服務)。插件以當前 DSH 進程權限運行,安裝前建議檢查源碼與許可證。

總結

dsh-mmroute 解決了 DSH 生態中純文本模型與視覺任務之間的鴻溝。它通過攔截層實現了零習慣改變的接入,並提供了報錯自愈和結構化轉述能力,是目前在多模態路由和 Agent 視覺處理方面較爲專業的解決方案。

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

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

小夜