wld12314/dsh-subagent-switch ↗★ 0
@local/subagent-switch
DSH desktop plugin: routes every subagent to the best available local model — free-first, quota-aware, capability-matched — and adds a control panel next to the session model bar.
같은 패키지 이름의 다른 저장소
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:wld12314/dsh-subagent-switch配置
配置有两个入口,都认:
/cordis.patch.yml里给本插件那行写config:(扁平键值)- 或改插件的
config.example.json(嵌套在"subagent-switch"下)
两种形状都会被剥壳合并,最终交给路由器的永远是扁平对象。数组是替换不是追加 —— 写 [] 就是清空,想收窄不会被撑宽。
关键项
| 键 | 默认 | 说明 |
|---|---|---|
enabled | true | 总开关 |
modelTiers | ["free","free_quota","paid"] | 分层顺序 |
cheapBand | ["free","free_quota"] | 合并成一个档带按能力排;[] 退回逐档走 |
escalateOnMiss | true | 便宜档无匹配时是否允许升付费档 |
escalateMinScore | 1 | 升级要求的最低分(10 = 只认 required 域强匹配) |
pricing | {freeMultiplierMax:0, quotaMultiplierMax:0.15} | 价格倍率 → 档位阈值 |
tierMap | {} | 把某个模型 id 显式钉到某档(最高优先级) |
tags | {} | 手写能力标签,键支持 provider/model / 裸 id / 显示名 |
blacklist | [] | 移出候选池 |
excludedProviders | 内置 ["cline"] | 整 provider 排除,在发起 adapter 请求之前就跳过 |
requireQuotaAware | true | 路由门禁总开关 |
routableOverrides | [] | 门禁的逐模型例外 |
autoRouteSubagents | true | 是否拦截 startActivation 自动改模型 |
forceOverride | false | 为 true 时连调用方显式指定的模型也改写 |
overridesPath | "" | 手动优先级文件位置,空 = ~/.dsh/subagent-switch-overrides.json |
手动优先级文件
{
"priority": { "workbuddy/glm-5.3": 2 },
"routable": { "our-free-model/big-pickle": true }
}
- 原子写(tmp + rename),写失败不影响运行时,只是重启后会丢(面板红字提示)。
- 只用正向声明:
0和false都删键,文件里只看得到你真正做过的决定。 - 删掉这个文件就全部回到自动。 插件绝不碰 DSH profile 的
cordis.patch.yml。