前言¶
在 DeepSeek Harness(DSH)裏做智能體時,每一輪用戶問題對算力和推理深度的要求差很多:寒暄、查資料、多步排錯、大重構不該用同一套 model 和 reasoningEffort。手動在 Composer 裏來回切模型,既慢又容易忘;全程鎖在最強檔則成本和延遲都偏高。社區插件 dsh-auto-router(維護者 dakouchiya,分類:模型推理)按每一輪用戶請求的實際內容自動選檔,並在同一次回覆過程中根據工具報錯與進展再做升檔或降檔,同時在輸入框旁和回覆尾部展示當前檔位與開銷。
這是什麼¶
dsh-auto-router 是 DSH 的 Cordis 插件:在每輪開頭用小模型做任務分類(默認不依賴單純關鍵詞匹配),從五檔映射到 provider / model / reasoningEffort;通過 agent/pre-step 完成分類、通過 agent/request 以 waterfall 方式替換本次 LLM 調用的 LlmCallConfig。插件只讀判定,不向會話寫入額外內容,決策追加到 <DSH_HOME>/auto-router/decisions.jsonl。
五檔與落點模型¶
分類器在每輪開始時讀取本輪問題(可帶最近兩輪用戶消息作上下文),判斷需要多少「思考與驗證」,再在五檔中選一檔並說明原因。用戶可在消息開頭使用 #lite / #輕量 / #ultra / #極深 等指令直接指定檔位,不再調用分類器。
| 檔位 | 顯示名 | 典型場景 | 默認落點 |
|---|---|---|---|
lite |
輕量 | 寒暄、確認、簡單事實、簡單換算 | deepseek-flash / off |
standard |
中量 | 常規問答、信息查詢、簡單改寫/總結、小改動 | deepseek-flash / high |
deep |
重量 | 多步推理、調試排錯、方案設計、代碼實現 | deepseek-flash / max |
max |
較深 | 高難度、高可靠需求、大重構/遷移 | deepseek-v4-pro / high |
ultra |
極深 | 明確要求「極限/不惜成本」或極端難題 | deepseek-v4-pro / max |
注入上下文(如 runtime-context、skill-catalog、子代理說明等)會在分類前過濾,避免長系統文案把每輪都頂到 deep。分類器超時(默認 6s)、報錯或輸出無法解析時,退回結構規則兜底,並在日誌中標明 reason。
升到 Pro 前的確認¶
當目標模型匹配 Pro(默認 modelPattern: pro)且當前基準不是 Pro 時,會先彈出確認(默認 15 秒窗口)。不點、超時或點「不切換」則保持原模型;點「切換」則本輪及後續步驟使用新配置。同輪只問一次;帶圖片/附件的回合跳過切模型確認。可在配置的 approval 塊調整 enabled、windowMs、modelPattern、skipWhenPinned。
一輪之內的改檔¶
首判只是起點。同一回覆裏,插件在兩個時機把「當前任務 + 剛發生的事 + 當前檔位」交給同一個便宴模型,輸出 up / down / hold 並附原因,據此最多升/降一檔:
- 工具報錯時:把錯誤原文交給監督模型,由它判斷是檔位不夠還是任務本身問題(例如文件不存在類錯誤不會誤觸發升檔)。
- 每
rejudgeEverySteps步(默認 5):看進展是否順暢,卡頓則up,明顯偏高則down。
沒有「報錯 2 次必升」這類固定閾值;拿不準則 hold。同輪內有限流(3 秒冷卻、maxRejudgesPerTurn 上限)。一輪中途若用戶又發新消息,會對新內容重新判定並按新檔執行。
安裝與啓用¶
當前發佈包通過 GitHub Release 安裝(資料中的命令針對 v1.1.1;倉庫 package.json 版本爲 1.1.2,以你實際下載的 tgz 爲準)。尚未發佈到 npm;發佈後可直接 dsh plugin --profile <profile> add dsh-auto-router。
dsh plugin --profile <profile> add https://github.com/dakouchiya/dsh-auto-router/releases/download/v1.1.1/dsh-auto-router-1.1.1.tgz
也可下載同一 tgz,在插件管理裏從本地包安裝。裝完後在 設置 → 插件 可見常用開關(enabled / dryRun / mode / logDecisions);完整配置寫在 profile 的 cordis.patch.yml(用戶層,升級不丟)。隨包默認使用 DeepSeek 內置模型名;若使用其他 provider,把 provider 與各檔 model 改成宿主裏真實存在的 id 即可;解析不到的模型保持當前配置不變,不會發出非法請求。
環境要求(來自 package.json):Node >=20,DSH >=0.2.1-rc.1 <0.2.2-0 || >=0.2.2-0 <0.3.0-0。許可證 MIT。插件以當前 dsh 進程權限運行,安裝前宜自行查看源碼與許可證。
配置示例¶
在 profile 的 cordis.patch.yml 中增加或合併:
- id: auto-router
config:
enabled: true
dryRun: false # true = 只記錄決策,不改模型(演練模式)
mode: balanced # economy | balanced | quality,寫入分類器傾向
provider: deepseek-account
tiers:
lite: { model: deepseek-flash, effort: 'off' }
standard: { model: deepseek-flash, effort: high }
deep: { model: deepseek-flash, effort: max }
max: { model: deepseek-v4-pro, effort: high }
ultra: { model: deepseek-v4-pro, effort: max }
classifier:
enabled: true
model: deepseek-flash
effort: 'off'
timeoutMs: 6000
maxInputChars: 3000
approval:
enabled: true
windowMs: 15000
modelPattern: pro
skipWhenPinned: false
history:
maxBytes: 2097152
logDecisions: true
effort 僅接受 off / low / high / max(由當前模型能力決定)。若目標模型不支持某檔位,會按 off→low→high→max 階梯就近收斂。
/route 命令¶
| 命令 | 作用 |
|---|---|
/route |
查看開關、模式、五檔映射、本會話最近一次判定 |
/route lite / standard / deep / max / ultra |
本會話臨時固定檔位(中文檔名如輕量/中量亦認) |
/route auto |
恢復自動 |
/route catalog |
列出當前 provider 下模型及各推理等級 |
/route history [n] |
讀歸檔路由記錄(默認最近 10 條) |
界面與本地記錄¶
輸入框左側徽章(conversation.input.left)顯示實際生效的檔位與模型;Pro 被拒或超時時顯示實際檔位並在懸停中註明目標。檔位變化時會短暫閃爍並用 ↑/↓ 標方向,數據來自只讀 API api/auto-router.state(約 1.5s 輪詢)。
每條完成回覆下方有可展開的回合標籤(conversation.chat.turnTail):五檔落點、本輪檔位與模型、首判來源、從初判到結束的 token/花費及改檔明細。裝完或更新客戶端代碼後需強制刷新頁面(如 Ctrl+F5)以加載新客戶端模塊。
持久化目錄爲 <DSH_HOME>/auto-router/:turns.jsonl 記錄活躍回合(單文件上限由 history.maxBytes 控制,默認 2MB,超限輪轉並歸檔);decisions.jsonl 記錄每次決策/改檔。側邊欄「路由歷史」入口僅在打開面板時讀取完整歷史;要看歸檔用 /route history [n]。
延遲與行爲邊界¶
每輪至少一次小模型調用(首判,默認 deepseek-flash / off),資料中估算約 0.0003–0.0006 元/次量級;中途報錯或檢查點會再加同類調用。升 Pro 的確認本身不調用模型。
本條消息帶圖片或文件時不切模型,只記錄決策。判定只讀本輪用戶批次;工具續步沿用本輪檔位。模型切換後,本輪後續步驟的基準配置會更新爲新配置。
卸載與測試¶
dsh plugin --profile <profile> remove dsh-auto-router
或在插件管理中移除對應 bundle。開發者可在插件目錄執行 node --test 跑自帶測試。
結尾¶
若你希望 DSH 在「模型推理」類任務裏自動平衡成本與深度,而不是每輪手工選模型,dsh-auto-router 提供了從分類、請求改寫、Pro 確認到一輪內改檔的完整鏈路,並配合 Composer 徽章與回合標籤把決策透明化。插件目錄頁:https://www.skillhub.cn/plugins/dakouchiya/dsh-auto-router;源碼與說明:https://github.com/dakouchiya/dsh-auto-router。SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。