前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在多模型并存的开发环境中,手动为每一条对话选择合适的模型(例如代码编写用 DeepSeek,日常问答用 GLM)效率较低。dsh-smart-scenario-router 插件解决了这一问题,它通过分析用户消息内容,自动将请求路由到最合适的模型,并在请求失败时自动尝试下一个模型,从而降低运维成本。
是什么¶
这是一个由 xobexo 维护的模型推理插件,为 DeepSeek Harness 提供基于对话场景的模型路由能力。它不会保存 API Key,Provider 的认证信息仍由 dsh 自行管理。
核心功能¶
- 场景识别:根据消息内容自动识别场景,包括项目拆解、插件查找、代码审查、代码变更对比、代码编写调试、复杂推理、日常对话、极速高并发、多模态处理及长文本分析等。
- 模型优先级:默认优先使用国产模型(DeepSeek、GLM、Qwen),配置的 GPT 模型作为兜底。
- 自动回退:当请求失败时,自动尝试当前场景候选链中的下一个模型。
- 可视化配置:在 dsh Web 设置页显示模型池、场景映射和当前路由状态,支持持久化保存配置。
安装与启用¶
安装前请确保满足以下环境要求:
- DeepSeek Harness 版本 >= 0.1.1-rc.1
- 已安装 Node.js 和 pnpm
- 在 dsh 中已配置至少一个可用的模型 Provider
执行以下命令安装:
npx -y @deepseek-ai/dsh plugin --profile web add github:xobexo/dsh-smart-scenario-router
安装完成后,重启 Web profile 以使插件生效:
npx -y @deepseek-ai/dsh web
配置¶
安装后,打开 dsh Web 界面的设置页,找到“智能场景路由”模块。这里可以进行以下操作:
- 管理模型池:启用或停用模型池中的模型。所有模型均通过下拉框从 dsh「设置 → 模型」中选择,无需手动输入名称。
- 编辑候选链:为每个场景配置候选模型顺序。顺序即回退顺序,插件会依次尝试直到成功。
- 查看状态:查看当前的路由状态和模型映射关系。
插件首次使用时会自动写入默认规则。如果 dsh「设置 → 模型」中不存在默认模型,插件会尝试替换为同系列(deepseek / glm / qwen / gpt)的真实配置模型。如果模型未注册或 Provider 不可用,路由时会自动跳过该模型并尝试下一个。
工作方式¶
插件的工作流程如下:
- 读取当前会话中的用户消息。
- 如果消息包含图片或明确涉及图片内容,路由至
multimodal场景。 - 如果文本较长,路由至
long_context场景。 - 按高优先级意图匹配:涉及工具推荐进入
plugin_discovery,Git diff 进入code_diff,代码质量分析进入code_review,架构规划进入project_planning,开发实现请求进入coding。 - 剩余消息根据双语关键词表匹配场景。置信度低于阈值时,调用裁判模型(默认 Flash)再次判断。
- 检查候选模型是否可用,选择第一个可用模型发送请求。
- 如果请求失败,继续尝试候选链中的下一个模型。
- 如果用户手动选择了非默认模型,插件会保留该选择,不强制覆盖。
升级与故障排查¶
升级注意:0.3.0 起引入了规则表版本(schemaVersion)。旧版升级后,持久化的默认规则会被自动替换为新的默认映射;手动定制过的候选链和模型池会保留。
502 上游错误排查:如果直接选择模型可调用,但启用插件后出现 502 upstream service unavailable,请打开“智能场景路由”设置,确认该模型在 dsh「设置 → 模型」中的 Provider 与实际可用的 Provider 完全一致。插件会校验 provider/model 组合后再注入请求。修改配置后需重启 Web profile。
总结¶
该插件通过自动化场景识别和模型回退机制,帮助开发者减少手动切换模型的操作。配置简单,且完全兼容 DSH 的现有认证体系。更多细节可参考GitHub 仓库。