前言¶
DeepSeek Harness (DSH) 的設計理念是「一切皆插件」。在使用 dsh 構建智能體時,一個常見痛點是任務類型的混合:有時需要模型閱讀截圖、執行 OCR 或分析圖片(需要視覺模型),而其他時候則只需要快速聊天或代碼補全(使用默認模型)。如果手動切換,會打斷工作流;如果始終使用視覺模型,成本過高且速度慢。dsh-model-auto-hot-switch 旨在解決這一問題,它允許在同一會話內自動區分任務類型,實現模型的熱切換。
插件定位¶
這是一個由 SHUJILAI 維護的 DSH 插件,專注於模型推理場景下的自動化路由。它不依賴任何官方 @deepseek-ai/* 運行時包,僅通過 DSH 的 agent/request 擴展點工作。
核心功能¶
- 圖像感知自動路由:插件會檢查每個任務步驟中是否包含圖像塊。如果檢測到圖像,任務會自動路由至具備視覺能力的模型(例如
deepseek-v4-flash-vision-exp);對於其他任務,則保持用戶設定的默認模型。 - 零額外 Token 消耗:任務分類邏輯完全在本地代碼中執行(判斷是否存在圖像塊),不調用額外的分類器模型,也不進行提示詞重寫或請求複製。
- 無上下文干擾:僅替換請求配置中的
provider和model字段,不修改消息內容、系統提示詞或會話狀態。 - 一鍵控制:支持在 Web 界面點擊浮動按鈕,或通過配置文件
enabled字段進行開關控制。
安裝與啓用¶
安裝此插件需要 DeepSeek Harness (dsh) 的 Web 配置文件。
# 從 npm 安裝
dsh plugin --profile web add dsh-model-auto-hot-switch
# 或直接從 GitHub 安裝
dsh plugin --profile web add github:SHUJILAI/dsh-model-auto-hot-switch
安裝完成後,重啓 dsh web 服務。在界面右下角會出現一個浮動的 ⚡ 按鈕,點擊即可開啓自動熱切換功能。你也可以通過修改配置文件 config.json,將 enabled 設置爲 true 來控制該功能。
前置條件¶
- DSH 環境:需要使用帶有 Web 配置文件的 dsh。
- 視覺模型:提供商目錄中必須包含一個具備視覺能力的模型(例如
deepseek-v4-flash-vision-exp)。插件通過llm.listModels自動發現此類模型。 - 工具門控:
read_image工具的門控必須能訪問上述視覺模型。
工作原理¶
插件在 agent/pre-step 階段檢查當前步驟是否包含圖像。如果包含,則在後續的 agent/request 階段將配置中的模型字段替換爲視覺模型;如果不包含,則返回原始配置。這種設計確保了每個任務(包括子代理會話)都能獨立進行路由判斷。
適用場景與注意¶
該插件適合需要在同一次會話中同時處理圖文混合任務的 DSH 用戶。需要注意的是,插件以當前 dsh 進程的權限運行,安裝前建議檢查源碼與許可證(MIT)。它支持 Web 和 Headless 兩種配置文件模式,但在 Web 模式下會通過 /plugins/dsh-model-auto-hot-switch/state 路由進行狀態管理。