前言¶
DeepSeek Harness (DSH) 採用“一切皆插件”的架構。在日常使用中,區分“閒聊”和“幹活”對模型的要求完全不同:閒聊追求便宜、快速,而幹活需要深度推理和強模型。手動在兩個檔位間頻繁切換既麻煩又容易出錯,切錯了要麼浪費 token 要麼幹不好活。dsh-auto-model-router 插件旨在解決這一問題,它根據會話上下文自動判定應該走 Chat(light)檔還是 Work(deep)檔,實現流量的自動分流。
插件定位¶
該插件由開發者 Elysia11451 維護,採用 MIT 許可證。它是一個工作流類插件(v0.8.7.1 預發行版),核心功能是按會話自動切換 Chat / Work 兩個檔位,讓閒聊走便宜的 Chat 檔省 token,幹活使用免費池的最強模型進行 deep 推理。
核心功能¶
插件通過以下機制實現自動路由:
-
雙檔路由
IM 閒聊自動走 Chat 檔,當檢測到明確幹活指令(如“裝插件”、“寫腳本”、“跑測試”)時,自動切換到 Work 檔。 -
三層判定
路由邏輯分爲三層:優先使用會話狀態機記憶;若狀態機失效,則通過關鍵詞兜底判定;若仍未命中,則默認降級爲 Chat 檔。 -
首輪彈窗
在 DSH 主界面,新會話的第一輪會彈出 Chat/Work 選擇窗口。用戶的選擇會被記錄,並在後續輪次中生效。 -
方向性冷卻
插件對檔位切換做了冷卻限制。從 Work 降級回 Chat 時,受switchCooldownMs(默認 5s)約束,防止模型在短時間內來回橫跳;而 Chat 升 Work 則不受此限制。 -
手動絕對優先
在當前會話中,如果用戶手動選擇過某個模型,路由邏輯會尊重這一選擇,不再自動覆蓋。 -
Chat 檔幹活只問一次
當 Chat 檔會話調用到生產型工具(寫文件、跑命令等)時,會彈窗詢問一次是否切換到 Work 檔。如果用戶拒絕或超時,該會話後續不再詢問,保持 Chat 檔狀態。
安裝與啓用¶
安裝後重進 DSH(或冷啓動一次)即可生效。
dsh plugin --profile web add github:Elysia11451/dsh-auto-model-router
使用示例¶
在 DSH 主界面或 IM 中使用即可。日常使用無需額外配置,插件會自動識別上下文。
# 執行自檢以驗證插件狀態
dsh plugin --profile web exec auto-model-router.selftest
適用場景與注意¶
插件適合需要同時兼顧成本和推理能力的場景。安裝前應確認源碼與許可證,確保符合使用規範。
該插件依賴社區插件 dsh-our-free-model(提供免費模型池)和 dsh-im(橋接 IM 通道)。
已知限制(v0.8.7.1 預發行版)¶
使用前需留意以下限制:
- IM 首輪彈窗未觸發:QQ/微信等 IM 渠道的新會話首輪無法彈出 Chat/Work 選擇窗,會靜默走 Chat 檔,次輪依靠關鍵詞糾正。
- 首輪選 Chat 不立即切換:此前版本中,新會話選 Chat 後,第一輪模型可能仍繼承 Work 檔模型(v0.8.7.1 已修復此問題)。
- 首輪承諾無獨立測試用例:首輪選擇 Chat 後“永不自動升 Work”的承諾機制目前沒有獨立的斷言覆蓋,僅靠集成測試驗證。
- 極端情況下首輪消息可能丟失:當
@deepseek-ai/dsh-llm動態加載失敗時,插件可能僅切換模型但不重發留存消息,導致消息丟失。極端情況下需手動重發上一條消息。 - 移動端驗證:移動端未做真機窄屏專項驗證,設置頁 UI 以桌面爲準。
總結¶
dsh-auto-model-router 通過狀態機、關鍵詞和手動干預的結合,實現了對 DSH 模型檔位的自動化管理。它解決了手動切換模型繁瑣的問題,同時通過冷卻機制和手動優先策略保證了穩定性。開發者可參考目錄頁或 GitHub 查看更多細節。