polan-prologue/dsh-reasoning-plus ↗★ 0

dsh-reasoning-plus

为自定义提供方补齐生效的推理等级 适合使用自定义大模型 API、且需要调整推理等级菜单的用户。

包名
dsh-reasoning-plus
兼容性
待验证
版本
0.2.0
许可证
MIT
最近更新
2026年10月13日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:polan-prologue/dsh-reasoning-plus

使用

  1. 打开插件卡片,它会列出所有可接管的路由(API 地址非官方的自定义提供方)。
  2. 打开页面时,插件会自动确保该有的实测结论已经存在:
    • 已有结论、且提供方配置没有改动 → 直接沿用,一个请求都不发;
    • 没有结论、或配置改过(端点/密钥引用/模型表/compat/输出上限等)→ 自动发起一轮实测。 每条路由都有一条常驻状态行(实测通过 / 实测进行中 / 提供方配置已变更… / 尚未实测), 不需要点任何按钮就能看到结果。
  3. 结论会给出哪些档位可区分。开了 autoApply 时自动接管;否则点「接管」把这些档位写进 profile。
  4. 模型选择器里的推理等级菜单随即与官方同形。
  5. 随时可点「交还」,把写入的声明移除(用 unset 移除,不会写回一个假的默认值)。
  6. 「实测」/「实测此模型」是强制路径:点了就一定重新打网关(即使配置没改)—— 自动路径才受"配置没改就不重测"约束。

实测结论怎么判断"还能不能用"

判据是配置指纹(内容),不是"什么时候测的"、更不是提供方的 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。