前言¶
在 DeepSeek Harness(DSH)的代理循環中,當代理向一個不支持圖像的模型發送包含圖像的請求時,需要有一個機制將這類請求路由到支持圖像的模型上。dsh-ds-vision-auto-route 插件通過代理循環的 agent/request 瀑布流處理這一過程,確保圖像承載的請求能夠被正確分發。
插件定位¶
名稱:dsh-ds-vision-auto-route
維護者:litianshuo110
核心價值:將圖像承載的請求路由到 DeepSeek Harness 中可配置的圖像模型。
核心功能¶
該插件在代理循環內部工作,通過 llm-vision-route 服務判斷是否需要路由。它主要處理以下事項:
- 智能路由:僅當請求中包含圖像且當前選定的模型不支持圖像輸入時,纔會將請求替換爲圖像模型。選定的模型本身不會改變,只有僅文本請求會被替換。
- 日誌記錄:將替換操作記錄在請求頭中,並追加
llm-vision-route/route記錄,包含回合、步驟、策略和路由信息。 - 策略支持:提供
routePolicy配置項,支持turn-image(僅當前回合有圖像時路由)、any-image(只要日誌中有圖像就路由)和off(關閉路由)三種模式。 - 參數清理:在路由請求時會丟棄
reasoningEffort參數(因爲後端模型可能不支持),採樣值保持不變。
安裝與配置¶
安裝插件需要使用 DSH 的插件管理命令。
安裝¶
dsh plugin --profile web add github:litianshuo110/dsh-ds-vision-auto-route
配置¶
插件通過 YAML 配置文件啓用,主要包含三個可選鍵:
visionProvider:指定圖像模型的提供商路由。visionModel:指定具體的圖像模型名稱。routePolicy:指定路由策略,默認爲turn-image。
配置示例:
- name: 'dsh-ds-vision-auto-route'
config:
visionProvider: deepseek-official
visionModel: deepseek-v4-flash-vision-exp
routePolicy: turn-image
狀態與兼容性¶
重要提示:該插件已標記爲棄用(Deprecated)。自 2026 年 9 月 10 日發佈的 DeepSeek V4.1 Flash 起,該模型已原生支持多模態(inputModalities: ['text', 'image'])。DeepSeek Harness 0.1.5-rc.2 及更高版本已內置此功能,不再需要此插件。該 GitHub 倉庫已被歸檔。
在兼容性方面,插件的生效行爲取決於運行環境:
- 源碼 Harness:直接運行
pnpm dsh web時,圖像准入步驟會諮詢該插件的llm-vision-route服務,從而自動路由圖像請求。 - 發佈版 Harness:使用全局安裝的
@deepseek-ai/dsh(dsh web) 時,主機層面的圖像准入可能會在插件介入之前拒絕純文本模型的圖像提示。因此,在發佈版環境中,僅安裝此插件可能不足以自動路由圖像,可能仍需手動切換模型。
已知限制¶
- 模型選擇不改變:無論是否發生路由,Web 界面的模型選擇器始終顯示用戶最初選擇的模型。
- 歷史圖像投影:在
turn-image策略下,圖像承載的回合之後,後續的純文本回合會使用佔位符文本替代歷史圖像,直到圖像再次被附加。 - 無提供商故障轉移:配置的後備路由必須是一個已註冊的、且支持圖像的路由。如果配置錯誤,請求會直接報錯
INVALID_REQUEST,而不是靜默丟棄圖像。 - 目錄元數據決定能力:模型是否路由取決於其目錄元數據(
inputModalities)。未聲明圖像輸入能力的模型會被視爲僅文本模型而被路由。
總結¶
dsh-ds-vision-auto-route 提供了在 DeepSeek Harness 中處理多模態請求的早期方案,通過日誌記錄和路由策略支持靈活的圖像處理邏輯。但由於 DeepSeek V4.1 Flash 的原生多模態支持,該插件已不再需要。在舊版本或特定源碼開發環境中,它仍可作爲路由中間件使用。