前言¶
在 DeepSeek Harness 的日常使用中,根据任务复杂度切换模型通常需要手动操作。随着不同模型在定价和能力上的差异,手动选择效率低下。dsh-smart-router 插件通过引入一个虚拟模型,根据请求内容(文本难度或视觉需求)自动路由到已配置的模型,无需额外设置。
安装与启用¶
使用官方命令安装插件:
dsh plugin --profile web add dsh-smart-router
安装完成后,重启 dsh web 服务。重启后,在会话模型选择器中会出现 Smart Router(自动路由) 选项。
核心功能¶
难度分级路由¶
插件根据请求复杂度自动路由到三个档位:
- 困难:架构设计、复杂重构、疑难调试。
- 一般:常规对话、中等复杂度任务。
- 简单:文件操作、格式化、闲聊。
视觉路由¶
消息中包含图片时,自动切换到视觉模型处理。视觉模型会返回结构化证据(摘要、OCR、布局分析),并将其替换回文本流中继续处理。支持两种模式:
- replace(默认):结构化替换,图片块被证据文本替代,后续难度分类继续生效。
- route:整段请求直接路由给视觉模型。
分类器模式¶
- 启发式(默认):基于关键词、代码量、文件引用数评分,零成本零延迟。
- LLM:调用模型进行分类,更准确,支持缓存。
缓存友好¶
插件建议三档路由选择同一供应商的同一系列模型(例如同一家的 Pro/Flash 版),以提高前缀缓存命中率。
配置与用法¶
- 打开 设置 → 智能路由:为困难、一般、简单和视觉各配置一个模型(下拉列表中即为“设置 → 模型”里已配置的模型)。
- 在会话中,打开模型选择器,选择 Smart Router(自动路由)。
- 插件会自动分类请求并路由到相应档位。
如果未配置路由档位,请求会回退到默认模型。
配置示例¶
在 ~/.dsh/profiles/web/settings.yaml 中配置:
smart-router:
enabled: true
classifier: heuristic # heuristic | llm
hardProvider: deepseek-official
hardModel: deepseek-v4-pro
normalProvider: deepseek-official
normalModel: deepseek-chat
easyProvider: deepseek-official
easyModel: deepseek-flash
visionProvider: zhipu-vision # 需在设置→模型填入 GLM_API_KEY
visionModel: glm-4v-flash
visionMode: replace # replace | route
visionCacheTtl: 3600
注意事项¶
- Fail-open 行为:如果未配置路由档位,请求会回退到当前会话的默认模型。
- 思考强度:对话框模型选择器上的思考强度(Off/High)作为全局开关,决定是否开启 extended thinking。
- 视觉处理:默认内置免费匿名视觉模型(OVHcloud Qwen2.5-VL-72B-Instruct),也可更换为自配模型。
- 生态兼容:插件只在会话模型选择“Smart Router”时生效,不接管现有 provider 路由,可与其他视觉插件共存。