Bundle
dsh-smart-scenario-router
Persistent DeepSeek Harness scenario router with settings-driven model dropdowns, fallback routing, and Web UI settings.
- Source
- xobexo
- License
- MIT
- Updated
- Updated 2 days ago
Readme
# dsh-smart-scenario-router 为 DeepSeek Harness(dsh)提供基于对话场景的模型路由。插件会根据用户消息选择合适的模型,并在请求失败时按候选链自动回退。 ## 功能 - 根据消息内容识别以下场景: - 项目拆解 / 架构设计 - 插件查找 / 工具推荐 - 代码审查 - 代码变更对比 - 代码编写 / 调试 - 复杂推理 / 科研 / Agent - 日常对话 / 快速问答 - 极速高并发 / 批量抽取 - 多模态(图文输入) - 长文本 / 数据分析 - 优先使用国产模型,配置的 GPT 模型作为兜底。 - 请求失败时自动尝试当前场景的下一个模型。 - 低置信度的消息会使用 `deepseek-v4-flash-0731` 进行场景判断。 - 在 dsh Web 设置页显示模型池、场景映射和当前路由状态。 - 模型池配置会通过 dsh settings 持久化保存。 ## 安装 要求: - DeepSeek Harness `>= 0.1.1-rc.1` - Node.js 和 pnpm - 已在 dsh 中配置至少一个可用的模型 Provider 直接从 GitHub 安装: ```powershell npx -y @deepseek-ai/dsh plugin --profile web add github:xobexo/dsh-smart-scenario-router ``` 也可以使用完整仓库地址: ```powershell npx -y @deepseek-ai/dsh plugin --profile web add https://github.com/xobexo/dsh-smart-scenario-router.git ``` 安装后重启 Web profile: ```powershell npx -y @deepseek-ai/dsh web ``` 检查插件是否已安装: ```powershell npx -y @deepseek-ai/dsh plugin --profile web list ``` ## 更新 更新已经安装的插件: ```powershell npx -y @deepseek-ai/dsh plugin --profile web update dsh-smart-scenario-router ``` 如果是从 GitHub 安装的旧版本,也可以再次执行安装命令: ```powershell npx -y @deepseek-ai/dsh plugin --profile web add github:xobexo/dsh-smart-scenario-router ``` ## 卸载 ```powershell npx -y @deepseek-ai/dsh plugin --profile web remove dsh-smart-scenario-router ``` 卸载后重启 dsh。 ## 配置 打开 dsh Web 界面的设置页,找到“智能场景路由”。这里可以: - 启用或停用模型池中的模型。 - 所有模型都通过下拉框从 dsh「设置 → 模型」中已配置的模型中选择,不需要手输模型名称。 - 为模型填写明确的 Provider(留空时自动解析)。 - 查看每个模型对应的场景和优先级。 - 编辑每个场景的候选链(模型下拉框 + 追加 / 移除候选,顺序即回退顺序)。 - 选择裁判模型(留空为自动,优先挑选可用的 Flash 模型)。 首次使用时,插件会把最开始的规则内容(默认模型池 + 每个场景的候选链)自动写入配置,不需要手动添加:默认模型在 dsh「设置 → 模型」里不存在时,会自动替换为同系列(deepseek / glm / qwen / gpt)的真实配置模型并填入自动解析的 Provider;连同系列都没有时才保留原名称(设置页标注“未配置”,路由时自动跳过)。模型名称按 Harness 已配置的原值传递;如果模型未注册、Provider 不可用或模型无法解析,插件会继续尝试候选链中的下一个模型。 插件不会保存 API Key。Provider 的认证信息仍由 dsh 自己管理。 ## 502 上游错误排查 如果直接选择 GLM-5.2 可以正常调用,但启用本插件后出现 `502 upstream service unavailable`,请打开“智能场景路由”设置,确认 GLM-5.2 的 Provider 与 dsh「设置 → 模型」中实际可用的 Provider 完全一致。插件会校验 provider/model 组合后再注入请求;显式填写 Provider 时不会静默切换到同名模型的其他 Provider。修改配置后重启 Web profile,使已安装的插件包重新加载。 该错误通常发生在模型已配置但 Provider 路由不匹配、Provider 上游暂时不可用,或安装的插件包不是当前源码版本;502 是上游调用失败,不是 Go POST 接口返回的 HTTP 状态。 ## 默认路由 | 场景 | 候选模型顺序 | 设计理由 | | --- | --- | --- | | `project_planning` | `glm-5.2` → `deepseek-v4-pro-0813` → `gpt-5.6-sol` | 中文架构 / 方案表达与结构化规划最佳 | | `plugin_discovery` | `deepseek-v4-flash-0731` → `glm-5.2` → `gpt-5.6-luna` | 检索推荐类轻量任务,快优先 | | `code_review` | `deepseek-v4-pro-0813` → `glm-5.2` → `gpt-5.6-sol` | 需要深层次逻辑与安全漏洞洞察 | | `code_diff` | `glm-5.2` → `deepseek-v4-flash-0731` → `gpt-5.6-luna` | 变更解释要求准确清晰,快模型兜底提速 | | `coding` | `glm-5.2` → `deepseek-v4-pro-0813` → `gpt-5.6-sol` | 编写 / 调试代码首选,中文交互好 | | `reasoning` | `deepseek-v4-pro-0813` → `qwen3.8-max` → `gpt-5.6-sol` | 深度推理主用,数学 / 科研由 qwen 兜底 | | `daily` | `deepseek-v4-flash-0731` → `glm-5.2` → `gpt-5.6-luna` | 简单问答快速省,GLM 提升回答质量 | | `fast` | `deepseek-v4-flash-0731` → `gpt-5.6-luna` | 极速抽取 / 批量任务,快优先 | | `multimodal` | `qwen3.8-max` → `qwen3.7-max` → `gpt-5.6-sol` | qwen 系视觉理解能力最强 | | `long_context` | `qwen3.8-max` → `deepseek-v4-pro-0813` → `gpt-5.6-sol` | 长上下文 + 数据处理,deepseek 兜底 | ### 场景 → 模型设计原则 - **深度编写 / 审查 / 架构** → `glm-5.2`(中文代码能力最强、表达清晰)与 `deepseek-v4-pro`(深度推理)交替主用。 - **轻量问答 / 抽取 / 分类 / 推荐** → `deepseek-v4-flash`(快、省 token)。 - **复杂推理 / 科研 / 数学 / Agent** → `deepseek-v4-pro` + `qwen3.8-max`(数学推理强)。 - **视觉 / 图片** → qwen 系(多模态支持)。 - **长文本 / 数据分析** → `qwen3.8-max`(长上下文 + 数据处理),deepseek-pro 兜底。 - **GPT 只作最后兜底**:`sol`(强)兜深度任务,`luna`(轻)兜轻量任务。 这些名称是默认候选值,不代表插件会自动提供模型或 Provider。首次使用时,插件会把上表中的规则内容自动写入:dsh「设置 → 模型」中存在的模型原样保留并自动解析 Provider,不存在的默认模型自动替换为同系列的真实配置模型(找不到时保留原名称并在路由时跳过),无需手动添加;也可以在设置页用下拉框调整。 > **升级注意**:0.3.0 起引入了规则表版本(schemaVersion)。旧版安装升级后,持久化的默认规则会被自动替换为新的默认映射(这是升级默认路由的必要代价);你在设置页手动定制过的候选链 / 模型池会保留,仅规则表版本号会被更新。 ## 工作方式 1. 插件读取当前会话中的用户消息。 2. 如果包含图片,或消息明确涉及图片内容,路由到 `multimodal`。 3. 如果文本很长,路由到 `long_context`。 4. 其他消息先按高优先级意图匹配:插件查找 / 工具推荐进入 `plugin_discovery`,Git diff / 当前修改进入 `code_diff`,代码质量、漏洞和潜在问题分析进入 `code_review`,架构 / 方案 / 规划类请求进入 `project_planning`;编写、调试或修复代码,以及「开发 / 实现 / 搭建 / 构建系统、应用、接口等」请求进入 `coding`(首位候选为 GLM-5.2)。剩余消息再根据双语关键词表(含中英文、常见编程词)匹配场景;置信度低于阈值时,调用裁判模型(默认 Flash,可在设置页更换)按带示例的规则再次判断。 5. 插件检查候选模型是否可用,并选择第一个可用模型。 6. 请求失败时,继续尝试当前场景候选链中的下一个模型。 如果用户在 dsh 中手动选择了非默认模型,插件会保留这次手动选择,不强制替换。 ## 本地开发安装 克隆仓库后,可以直接从本地目录安装: ```powershell git clone https://github.com/xobexo/dsh-smart-scenario-router.git npx -y @deepseek-ai/dsh plugin --profile web add C:\path\to\dsh-smart-scenario-router ``` 或者使用本地 tarball: ```powershell cd C:\path\to\dsh-smart-scenario-router pnpm install pnpm pack npx -y @deepseek-ai/dsh plugin --profile web add C:\path\to\dsh-smart-scenario-router\dsh-smart-scenario-router-0.2.0.tgz ``` 打包内容由 `package.json` 的 `files` 字段控制,不需要提交 `node_modules`。 ## 许可证 MIT
Install
dsh plugin --profile web add github:xobexo/dsh-smart-scenario-router#33689ccb49cd888201c00c3a50861d8dae5cd3aa
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-smart-scenario-router from the hub