DSH 的子代理調用默認繼承父會話的模型(如 Pro)。當子代理執行搜索、總結等輕量任務時,繼續使用 Pro 模型會產生不必要的成本。dsh-delegate-router 插件解決了這個問題:它在子代理調用發生時,根據任務特徵自動將輕量級任務路由至 Flash 模型,將繁重任務保留在 Pro 模型,且不依賴模型的配合,決策結果可記錄。
定位¶
- 名稱: dsh-delegate-router
- 維護者: penguin-oo
- 類別: 模型推理
- 許可證: MIT
- 核心價值: 自動化子代理任務的路由策略,降低推理成本。
核心功能¶
- 自動分流: 將輕量級子代理任務路由至 Flash 模型,繁重任務保留在 Pro 模型。
- 自定義規則: 支持通過關鍵詞列表、預算上限、短任務閾值等配置路由策略。
- 手動覆蓋: 支持
/delegate命令手動調整當前會話的路由策略。 - 決策記錄: 提供分派記錄面板,查看當前會話的路由決策。
- 生態兼容: 與
dsh-routing-suite兼容。
安裝¶
使用官方安裝命令添加插件:
dsh plugin --profile web add dsh-delegate-router
配置與用法¶
運行時命令¶
插件提供了 /delegate 命令來控制當前會話的路由行爲:
/delegate auto: 啓用自動路由。/delegate off: 禁用路由(恢復默認行爲)。/delegate flash-all: 強制所有子代理使用 Flash 模型。/delegate status: 查看當前生效的路由規則。
配置文件¶
所有可配置項位於 ~/.dsh/dsh-delegate-router.json。配置修改在下次分派時生效,無需重啓 DSH。
{
"flashProvider": "opencode-go",
"flashModel": "deepseek-v4.1-flash",
"proProvider": "opencode-go",
"proModel": "deepseek-v4-pro",
"mode": "auto",
"lightKeywords": ["search", "搜索", "查找", "總結", "summarize", "list", "列出"],
"heavyKeywords": ["refactor", "重構", "implement", "實現", "debug", "調試"],
"shortTaskMaxChars": 120,
"peakDemoteUnknown": true,
"unknownToFlash": false,
"peakHours": [[9, 12], [14, 18]],
"budgetCapTokens": 0
}
配置說明:
* shortTaskMaxChars: 0 可禁用短任務規則。
* peakDemoteUnknown: false 可禁用早晚高峯降級規則。
* unknownToFlash: true 爲激進模式,會將所有未匹配任務路由至 Flash(請謹慎開啓)。
* budgetCapTokens: 0 可禁用預算上限。
注意事項¶
- 生效時機: 配置文件修改後,會在下一次子代理分派時立即生效,無需重啓 DSH 進程。
- 價格差異: Flash 模型價格固定爲 Pro 的 1/3。
- 默認行爲: 如果未匹配到任何規則,且未開啓
unknownToFlash: true,任務默認不走 Flash,而是繼承父模型。
總結¶
該插件通過自動化模型路由,幫助用戶在 DSH 中以更低成本運行子代理任務。對於需要頻繁調用子代理且對成本敏感的場景,建議結合 dsh-routing-suite 使用。