dsh-model-router:DeepSeek Harness 任务感知型模型路由

前言

DeepSeek Harness (DSH) 的理念是「一切皆插件」。在构建智能体时,手动为每个任务指定模型既繁琐又难以维护。dsh-model-router 插件解决了这个问题,它根据任务类型分类请求,并将其重新调度到最合适的模型,优先保证研究任务的正确性,或优先使用免费模型处理闲聊。

插件介绍

这是 chillBnetley 维护的一个插件,属于「模型推理」类别。它通过钩子接管 DSH 的 llm/stream 水流,在请求进入模型之前,基于任务类型、模型能力评分、价格和当前状态(如速率限制)决定路由目标。核心功能包括任务感知路由、辅助调用过滤、速率限制冷却机制以及对子代理和代理团队的支持。

核心功能

  1. 任务感知路由:根据任务类型(如 coding、math_reasoning、daily_chat)选择策略。研究类任务优先考虑质量评分;闲聊类任务优先考虑免费模型。
  2. Grok 限制:Grok 被禁止在执行任务的回合中接收工具 schema,仅允许用于闲聊。
  3. 辅助调用过滤:会话标题和压缩请求等辅助调用不会被路由,保持原有模型不变。
  4. 速率限制处理:速率受限的路径会进入冷却状态,而不是每次请求都重试。
  5. 闲聊语调:提供专用的系统提示片段,仅在闲聊回合渲染,不影响其他任务。
  6. 子代理支持:支持子代理和代理团队,路由会替换流式响应的模型,不影响其他交互逻辑。

安装与启用

插件以纯文本文件形式分发。安装步骤如下:

git clone https://github.com/chillBnetley/dsh-model-router.git
cp -r dsh-model-router ~/.dsh/plugins/

安装完成后,在 DSH 的配置文件 dsh.profile.bundles 中列出该插件。插件会在 cordis.patch.yml 中贡献自己的 config: 配置块。

使用方法

  1. 观察路由决策:首次使用时,建议在配置中启用 dryRun: true。此时路由器仅记录决策日志而不改变实际请求,方便你验证策略是否符合预期。
  2. 查看决策详情:使用 /route 命令查看最后一次路由决策的详细信息,包括任务类型、置信度、工具需求、当前模式以及选中的模型。
  3. 切换会话模式:使用 /mode work(默认,按质量优先)或 /mode chat(闲聊模式,优先使用免费模型如 Space Bunny Free)切换会话模式。

配置说明

所有配置位于 cordis.patch.yml 的插件 config: 块下。关键配置项包括:

  • dryRun: true:仅日志记录,不实际改变请求。
  • respectModels: ["provider/model"]:允许将指定的固定模型豁免,不参与路由选择。
  • chitchatMaxTokens:限制闲聊模式输出长度的上限。

工作机制

路由器不会修改原始请求。它会创建一个全新的请求信封并返回。请求的内容是会话日志的纯函数,确保了状态的可预测性。

注意事项

  • Unknown 不做猜测:如果模型没有能力记录,或在工具执行回合中工具支持未知,该请求会被排除。如果没有配置 fallback,请求将保持原样(不被路由)。
  • 辅助调用始终直通:无论配置如何,辅助调用请求(带有 purpose 的请求)都不会被路由。
  • 缓存与语调:由于系统提示前缀的切换,chitchatStyle.enabled 设为 false 可以在语调优先级较低时提高缓存命中率。

总结

dsh-model-router 提供了一套从静态配置到动态路由的完整方案,帮助开发者根据任务类型自动优化模型选择。更多细节可查看插件目录或源码仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜