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 使用。