dsh-model-tier 使用指南
为 DSH 提供模型分档路由:按会话把辅助请求与子任务分流到轻量模型,主对话与复杂任务走强档,跨 provider 生效。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-model-tier
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add dsh-model-tier
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- id: model-tier
- HOST 平面:挂在 profile bundle(
cordis.patch.yml),非 agent preset;所有会话与子代理统一生效。 - 安全护栏:tiers 未配置 → 惰性 no-op;目标 provider 未注册 → 不路由;轻档失败自动回退原路由(辅助功能不挂)。
- 验证:
node packages/dsh-model-tier/test/model-tier.test.mjs(路由决策矩阵单测,零依赖)+bash packages/dsh-model-tier/scripts/test-model-tier.sh(E2E:轻档指向本地 mock LLM,断言标题请求真的被路由)。 - 主机 Details 文档:
remote_host_notes维护每台主机的备注(环境激活方式、分区/账号、约定),模型提交作业前会参考。
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
这个插件和 Claude Code 的 Opus/Sonnet/Haiku 策略是什么关系?
它是同一思路的 DSH 落地版:在同一会话内自动把辅助请求(标题/压缩)和子任务分流到轻量档,主对话走主力档,复杂任务按规则升级到强档,对应到 Claude Code 的 smallModel/--model-small 与任务复杂度判断。
安装后所有会话都会被自动分档吗?
不会。插件只在会话模型选择器里注册一个虚拟 provider「智能分档」,需要在每个会话里手动选中「智能分档 / 某方案」才会启用,未选中的会话完全不受影响(按会话 opt-in,无全局路由)。
配置文件存在哪里?改了需要重启吗?
写入 $DSH_HOME/model-tier.json(默认 ~/.dsh/model-tier.json)。路由引擎按文件 mtime 缓存,改动即热生效,无需重启 profile 或重开会话。
LLM 前置分类器 (routing.classify) 是必须的吗?
不是。它是可选增强项:开启后,每次用户提问或子任务派发前会用一个小模型把任务判为 light/default/strong,覆盖结构档位。缺省用轻档模型分类,失败/超时/乱答自动回落到结构档位(不会阻塞主请求)。
分类器目标能用 thinking 模型吗?
不建议。thinking 模型的推理内容同样消耗 maxTokens 额度(默认 512,可用 maxTokens 调大),实测曾出现 thinking 占满额度、输出空字符串拿不到分类词的情况,README 明确建议选非 thinking 模型。
和 dsh-science 是什么关系?
dsh-model-tier 是 dsh-science 的配套包。安装 dsh-science 会自动带上 dsh-model-tier 作为依赖;但它本身完全独立,可在任何 profile 单独 dsh plugin add dsh-model-tier 使用。
— 源: plugin_wiki.faq_json
兼容性
- DSH: 未声明
- Node: >=18
- Platforms: 跨平台
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则