dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH plugin that uses the JEV model to score task complexity and switch to the appropriate model for each dispatch request.
@asi-ai/dsh-jev-router 是一个面向 DeepSeek Harness (dsh) 的按回合模型路由插件。它使用 TypeSafe Jev 分析当前用户请求,在已配置的候选模型中选择更合适的执行路线,例如为日常任务使用经济档模型,为复杂推理、工具调用或长任务使用能力档模型。
插件不会替换 dsh 的会话历史或执行循环:Jev 只接收用于分类的有限材料,实际执行模型仍接收 dsh 的完整会话上下文。
Auto 和 Fixed 两种会话模式。Fixed 模式保持当前模型,Auto 模式交由 Jev 选择。插件发布在 npm:@asi-ai/dsh-jev-router。在需要使用插件的 dsh Web profile 中执行:
pnpm dsh plugin --profile web add @asi-ai/dsh-jev-router
安装完成后重启 dsh Web,使 Host 和 Web 客户端插件都加载新版本。若 dsh 使用的 profile 名称不是 web,将命令中的 web 替换为实际 profile 名称。
先在 dsh 的“模型”设置中配置至少两个可用模型,并确认它们可以正常调用。插件设置中的候选模型必须来自这里的模型目录;如果候选模型已被删除或改名,插件会提示重新选择。
打开 dsh Web 的插件设置,找到 Jev 自动路由,然后:
候选模型的名称、档位和说明会发送给 Jev 作为路由选项;完整的 dsh 会话历史不会因此交给分类服务。
设置页示例:
在会话输入框附近的模式控件中选择 自动模型(Auto)。也可以在会话中执行以下命令:
/jev-auto
需要暂时固定当前模型时,选择 固定模型(Fixed),或执行:
/jev-fixed
手动选择模型也会使当前会话进入固定模式。再次执行 /jev-auto 或点击模式控件,才会恢复逐回合自动路由。
会话中的模型切换与路由结果示例:
每个由用户输入开始的回合最多调用一次 Jev。插件会将当前输入、必要的短期上下文、候选模型及路由约束编码为分类材料;工具调用、工具结果和执行请求仍由 dsh 按完整会话上下文处理。
默认情况下,完整请求输入规模达到 32,768 个估算 token 后,插件不会随意降级模型;超限时只允许必要的能力档升级。切换模型后默认保持该路线 2 个已完成用户回合,以减少频繁抖动。输入规模阈值和保持回合数都可以在设置中调整,也可以关闭阈值或将保持回合数设为 0。
如果 Jev 请求失败或超时,插件会沿用当前路线;当前路线不存在时使用默认回退模型。分类服务的异常不会阻塞当前会话。
| 设置 | 作用 | 默认值 |
|---|---|---|
| 自动路由 | 是否允许插件为用户回合选择模型 | 关闭 |
| TypeSafe Jev API Key | 调用 TypeSafe System One 的凭据 | 空 |
| 候选模型 | Jev 可以选择的 provider/model 列表、档位和说明 | 内置初始候选 |
| 默认回退模型 | 无法分类且没有当前路线时使用的模型 | 当前 dsh 默认模型 |
| 自由切换输入上限 | 估算请求规模达到该值后应用超限策略 | 32768 token |
| 超限行为 | 保持当前模型 或 仅允许必要升级 | 仅允许必要升级 |
| 缓存感知 | 使用供应商报告的缓存证据作为路由偏好 | 开启 |
| 切换后保持回合数 | 实际切换后保持新路线的已完成用户回合数 | 2 |
| 路由思考档位 | 目标适配器支持时让 Jev 同时选择思考档位 | 开启 |
| Jev 超时 | 一次分类请求允许的最长等待时间 | 2000 ms |
| 分类材料上限 | 发给 Jev 的分类材料最大长度 | 6000 Unicode 字符 |
| 在会话中展示路由决定 | 在回合尾部显示建议与实际路线等信息 | 开启 |
| 记录结构化路由指标 | 写入不含提示词、工具原文和凭据的路由记录 | 开启 |
“自由切换输入上限”覆盖完整请求并且是估算值;供应商未报告的缓存字段会显示为“未知”,不会被当成零命中。
插件向 TypeSafe 发送有限的路由分类材料,以便选择模型;完整会话历史、工具执行和最终生成仍由 dsh 的执行模型处理。路由指标只包含路线、规则、耗时和已报告的 token/cache 用量,不记录用户提示词、工具原文、凭据或费用。请按照部署环境的安全策略保护 API Key 及 dsh 的设置存储和同步链路。
先到 dsh 的“模型”设置中添加并验证模型提供方,然后返回 Jev Router 设置页重试。候选模型必须与当前模型目录中的 provider 和 model 完全匹配。
确认两点:全局“自动路由”已开启,并且当前会话处于 Auto 模式。若 Jev API Key 缺失、请求超时或候选选择无效,插件会按设计回退到当前路线或默认模型。
保持“在会话中展示路由决定”开启。每个完成的用户回合尾部会显示建议模型、实际模型、路由原因、输入规模以及可用的 Jev/执行用量信息。
MIT License(以 npm 包发布的许可证声明为准)。
借着 Jev 模型发布的机会,我一直在思考:能不能把 Model Router 做得更加智能,例如根据任务复杂度切换模型、根据数据敏感程度选择本地或云端模型,或者在交给模型处理前先完成脱敏等等。
不过,这类智能 Model Router 在实际落地时仍然面临不少工程问题:
这些问题目前还没有一套足够理想、普适的解决方案。因此,这个插件更像是一个引子:它先从按用户回合选择模型开始,探索智能模型路由在真实会话中的工程落地方式。我相信,未来一定会出现更加成熟、可靠的实践,在任务质量、成本、隐私和上下文连续性之间取得更好的平衡。