polan-prologue/dsh-reasoning-plus ↗★ 0
dsh-reasoning-plus
为自定义提供方补齐生效的推理等级 适合使用自定义大模型 API、且需要调整推理等级菜单的用户。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:polan-prologue/dsh-reasoning-plus說明文件
閱讀完整 README ↗使用
- 打开插件卡片,它会列出所有可接管的路由(API 地址非官方的自定义提供方)。
- 打开页面时,插件会自动确保该有的实测结论已经存在:
- 已有结论、且提供方配置没有改动 → 直接沿用,一个请求都不发;
- 没有结论、或配置改过(端点/密钥引用/模型表/compat/输出上限等)→ 自动发起一轮实测。
每条路由都有一条常驻状态行(
实测通过/实测进行中/提供方配置已变更…/尚未实测), 不需要点任何按钮就能看到结果。
- 结论会给出哪些档位可区分。开了
autoApply时自动接管;否则点「接管」把这些档位写进 profile。 - 模型选择器里的推理等级菜单随即与官方同形。
- 随时可点「交还」,把写入的声明移除(用
unset移除,不会写回一个假的默认值)。 - 「实测」/「实测此模型」是强制路径:点了就一定重新打网关(即使配置没改)—— 自动路径才受"配置没改就不重测"约束。
实测结论怎么判断"还能不能用"
判据是配置指纹(内容),不是"什么时候测的"、更不是提供方的 ID / 显示名:
- 指纹由
baseURL、api、apiKeyEnv、models[].id(按序)、compat(不含本插件自己 写进去的键)、probeMaxTokens、recommendWhenInconclusive算出; - 指纹一致 → 结论有效,跨重启也照样复用(结论落在
/storages/reasoning-plus/probe-memo.json); - 指纹不一致 → 结论标记为已失效(不是"从未实测"),界面如实说明并自动重测。
- 想让结论定期过期,把
probeReuseMs设成正数即可(0= 不设期限,默认)。
配置项
| 字段 | 含义 |
|---|---|
enabled | 总开关 |
autoApply | 是否在插件加载时自动完成一轮接管(默认 false,生效时机见下) |
officialHosts | 视为官方的域名(不接管这些) |
only / skip | 白名单 / 黑名单路由 |
defaultEffort | 菜单的默认档位 |
manageDeclared | 已显式声明 reasoningEfforts 的模型是否也接管(交还时还原原值) |
recommendWhenInconclusive | 测不出可区分档位时,是否仍按官方同形给出完整阶梯 |
probeEnabled | 是否允许发起真实探测请求 |
probeTimeoutMs | 单次探测超时(默认 90000:实测单次 6–48 秒) |
probeMaxTokens | 探测请求的 max_tokens(撞顶判定基于它,默认 8192) |
probeDeadlineMs | 整轮探测的总预算(默认 300000):超预算即停止发请求、用已有数据出结论 |
probeConcurrency | 并发度(默认 4):轮次各臂与关闭档候选共用这一个上限 |
probeReuseMs | 结论的复用期限。0(默认)= 只要配置指纹一致就一直复用 |
probeCacheMs已被probeReuseMs取代(旧字段不再生效,配置里留着它会得到一条告警)。 改名的理由:旧字段的0是"每次都重测",新语义的0是"不设期限"——同一个名字下把0反过来解释,会让老配置静默变成相反的行为。
关于 autoApply 的生效时机
autoApply 的语义是在插件加载时自动完成一轮接管,而不是常驻监听配置变化:
- 打开
autoApply并重启 DSH 后,插件在加载时会自动筛出可接管的路由、按需实测、并把实测得出的档位写入 profile; - 之后想立即接管,仍可随时手动点「接管」——手动路径始终可用。
之所以不做成常驻监听:监听 volatile 配置变化需要额外的订阅与去重,还要处理"自动接管与手动接管互相打架"的情形,会引入新的失败面。当前实现让契约里"宿主逻辑在没有 webServer 时同样能自动接管"这一条真正成立(已在无 webServer 的组合下实测通过)。
注意:开启后每次 DSH 启动都会检查一遍,但只有"没有有效结论 / 配置改过"时才真的发探测请求
(结论持久化在备忘文件里)。不想产生任何探测流量可关闭 probeEnabled。