peterwangze/dsh-reasoning-level2

dsh-reasoning-level

DeepSeek Harness 统一推理等级插件:一个 llm-reasoning 设置项动态配置 DSH 所有模型的默认推理等级(思考等级)——自动为手写声明的模型补齐推理能力、按路由设置默认等级(仅当全部模型支持)、同步 DeepSeek 官方路由,改设置即生效。

AI 分析

该插件暂无 AI 分析内容。

包名
dsh-reasoning-level
版本
0.7.7
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:peterwangze/dsh-reasoning-level

方式二:离线一键脚本(解压发行包后使用)

Windows(PowerShell 5.1+)

.\install.ps1              # 安装本目录(file: 快照)
.\install.ps1 -Link        # 开发模式(link: 直连源码,改代码重启即生效;脚本前置自检 node_modules,缺失即拒绝)
.\install.ps1 -Uninstall   # 卸载

macOS / Linux / Git Bash

./install.sh               # 安装本目录
./install.sh --link        # 开发模式(link: 直连源码,改代码重启即生效;脚本前置自检 node_modules,缺失即拒绝)
./install.sh --uninstall   # 卸载

脚本做三件事:①安全清除旧版(v0.2–v0.5)junction 残留(只删链接本体,绝不递归删真实目录);②安装前自检依赖策略(dependencies 必须为空);③调用官方 dsh plugin --profile add 通道完成安装。参数:-Profile/--profile(默认 web)、DSH_HOME 环境变量。

v0.6.0 起不再支持绝不应该用任何手段把插件直接链接进 profiles/node_modules 或手改 cordis.patch.yml——旧脚本的 junction 方案 曾造成 DSH 无法启动与消息发送失败级事故,详见 VERIFICATION.md

使用指导

1. 打开设置页

重启 DSH 后:设置 → 统一推理等级。页面分四块:

区块作用
全局开关 + 默认等级总开关(enabled)与全局默认等级(level
模型级默认provider/model 覆盖全局默认;下拉只列该模型实测支持的等级,模型名旁标注支持列表,每行有删除按钮
实时调用统计每次调用的实际等级/思考 tokens/输出/结束原因 + 按模型聚合(等级分布);顶部一键探测全部模型并固化配置——逐模型实测全部候选等级(1-token),可用等级写回能力声明、拒绝等级在结果中标注
状态行已应用路由/模型数、DeepSeek 官方默认

2. 推荐上手路径

  1. 安装并重启后保持默认(high)——所有支持等级的模型立即获得默认;
  2. 模型选择器里抽查:任意模型应显示 模型名 · 高(之前无等级选项的模型也会出现);
  3. 想让某个模型深度思考:模型级默认里添加该模型 → 选它支持的最高档(如智谱 GLM-5.3 的 max);
  4. 打开统计面板发一条消息——2 秒内出现新记录,推理等级 列即该次请求实际使用的等级。

切换模型与「默认」的物化语义:在模型选择器切换模型时,宿主会把该路由的默认等级(本插件按全局等级维护的 llm-pi-ai.providers..reasoning物化为会话的显式推理等级,输入区控件随即显示它——这是宿主的既定行为,切换后的请求以它为显式选择。显式选择(含切换时物化的默认)永远优先于全局默认,这是设计承诺,插件不会覆盖你的显式选择;全局默认的作用对象是「无显式等级的调用与各路由默认本身」。因此修改全局等级后:新切换的模型立即拿到新等级;已物化的会话选择保持不变,需要跟随时请在控件重新选择一次。统计面板中 (默认→高) 这类标注即对应此机制——入口未显式指定等级的调用,实际请求携带的是所在路由的默认等级。

3. 等级档位

等级含义
off不发送推理参数(与不设置等价)
minimal / low / medium / highreasoning_effort 标准档
xhigh无标准线值:不向手写模型声明(目录模型按其目录能力)
max原样发送 reasoning_effort: max(智谱等实测支持;不支持的模型自动跳过)

4. 配置参考($DSH_HOME/settings.yaml,一般无需手改)

llm-reasoning:
  enabled: true       # false = 撤销本插件写入的全部默认(能力声明与路由默认一并还原)
  level: high         # 全局默认
  models:             # 模型级默认(键 "provider/model")
    "zai-coding-cn/GLM-5.3": max
  purposes:           # 辅助调用独立等级(可选)
    compaction: off
    session-title: off
  syncDefaultAgent: false  # true = 全局等级变化同步 agent-default-model.reasoningEffort
  statsPublic: false       # true = 统计端点允许 LAN 访问(默认仅回环)
  # 以下两项由「一键探测」自动维护(probeBlacklist 为 v0.7.1 前版本遗留,兼容保留不再使用):
  probeBlacklist: {}       # 兼容保留:不再写入/读取(黑名单仅当前会话内存态)
  probeEfforts: {}         # provider/model -> 实测能力声明(不被生成表升级覆盖)

⚠️ 安全警示(v0.7.0)statsPublic: true 时统计端点允许 LAN 访问,新增的 /reasoning-level-stats/probe/reasoning-level-stats/probe/apply 端点随之开放——LAN 内任何设备无需认证即可触发 1-token 实测请求(产生 LLM 成本),并可写入模型能力声明与 probeEfforts 配置。默认请保持回环(statsPublic: false);确需 LAN 暴露时请先在可信网络中评估风险。

插件运行时自动维护:llm-pi-ai.providers..models[].reasoningEfforts(能力声明,含旧版自动升级)、llm-pi-ai.providers..reasoning(路由默认)、llm-deepseek.reasoningEffort

5. 验证生效(观测方法)

  • 请求层(最硬):会话日志归档每次请求的最终配置—— zstd -dc ~/.dsh/sessions//session.jsonl.zstd | grep '"type":"request/header"',其中 reasoningEffort 即实际携带等级;
  • 效果层:同日志 usage.reasoningTokens 为真实思考 token 数(模型回报时);
  • 实时:设置页统计面板,或直接 curl http://127.0.0.1:3080/reasoning-level-stats
  • A/B:切 offmax 问同一问题,对比思考时长与 reasoningTokens。

4. 配置参考($DSH_HOME/settings.yaml,一般无需手改)

llm-reasoning:
  enabled: true       # false = 撤销本插件写入的全部默认(能力声明与路由默认一并还原)
  level: high         # 全局默认
  models:             # 模型级默认(键 "provider/model")
    "zai-coding-cn/GLM-5.3": max
  purposes:           # 辅助调用独立等级(可选)
    compaction: off
    session-title: off
  syncDefaultAgent: false  # true = 全局等级变化同步 agent-default-model.reasoningEffort
  statsPublic: false       # true = 统计端点允许 LAN 访问(默认仅回环)
  # 以下两项由「一键探测」自动维护(probeBlacklist 为 v0.7.1 前版本遗留,兼容保留不再使用):
  probeBlacklist: {}       # 兼容保留:不再写入/读取(黑名单仅当前会话内存态)
  probeEfforts: {}         # provider/model -> 实测能力声明(不被生成表升级覆盖)

⚠️ 安全警示(v0.7.0)statsPublic: true 时统计端点允许 LAN 访问,新增的 /reasoning-level-stats/probe/reasoning-level-stats/probe/apply 端点随之开放——LAN 内任何设备无需认证即可触发 1-token 实测请求(产生 LLM 成本),并可写入模型能力声明与 probeEfforts 配置。默认请保持回环(statsPublic: false);确需 LAN 暴露时请先在可信网络中评估风险。

插件运行时自动维护:llm-pi-ai.providers..models[].reasoningEfforts(能力声明,含旧版自动升级)、llm-pi-ai.providers..reasoning(路由默认)、llm-deepseek.reasoningEffort