DeepSeek Harness 自动模型路由插件介绍

前言

DeepSeek Harness (DSH) 采用“一切皆插件”的架构。在日常使用中,区分“闲聊”和“干活”对模型的要求完全不同:闲聊追求便宜、快速,而干活需要深度推理和强模型。手动在两个档位间频繁切换既麻烦又容易出错,切错了要么浪费 token 要么干不好活。dsh-auto-model-router 插件旨在解决这一问题,它根据会话上下文自动判定应该走 Chat(light)档还是 Work(deep)档,实现流量的自动分流。

插件定位

该插件由开发者 Elysia11451 维护,采用 MIT 许可证。它是一个工作流类插件(v0.8.7.1 预发行版),核心功能是按会话自动切换 Chat / Work 两个档位,让闲聊走便宜的 Chat 档省 token,干活使用免费池的最强模型进行 deep 推理。

核心功能

插件通过以下机制实现自动路由:

  1. 双档路由
    IM 闲聊自动走 Chat 档,当检测到明确干活指令(如“装插件”、“写脚本”、“跑测试”)时,自动切换到 Work 档。

  2. 三层判定
    路由逻辑分为三层:优先使用会话状态机记忆;若状态机失效,则通过关键词兜底判定;若仍未命中,则默认降级为 Chat 档。

  3. 首轮弹窗
    在 DSH 主界面,新会话的第一轮会弹出 Chat/Work 选择窗口。用户的选择会被记录,并在后续轮次中生效。

  4. 方向性冷却
    插件对档位切换做了冷却限制。从 Work 降级回 Chat 时,受 switchCooldownMs(默认 5s)约束,防止模型在短时间内来回横跳;而 Chat 升 Work 则不受此限制。

  5. 手动绝对优先
    在当前会话中,如果用户手动选择过某个模型,路由逻辑会尊重这一选择,不再自动覆盖。

  6. 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 查看更多细节。

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

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

小夜