dsh-thinking-slider:Composer 里的模型与推理强度选择器

前言

DeepSeek Harness(DSH)的 Composer 默认用一行模型选择器切换模型。若你同时需要调节「推理强度」(reasoning effort),官方控件往往与模型选择分开,或依赖配置里是否声明了 reasoningEfforts。对经常在同一模型上切换 Off / Low / High / Max 的开发者来说,希望在输入区附近用一次交互完成「选模型 + 选强度」,且界面能反映当前档位。

下面介绍社区插件 dsh-thinking-slider(维护者 MuFeng262,分类:模型推理)。它把 Composer 里的模型选择器替换为「模型名 · 等级」的紧凑展示,点开是一张带渐变与粒子(或能量充能)轨道的强度滑块;等级数据来自 DSH 上报的 model.reasoning.efforts,不写死在插件内。

这是什么

dsh-thinking-slider 是面向 DSH Composer 的客户端插件:一句话定位是 Codex-style reasoning-effort slider for the DeepSeek Harness composer —— 先选模型,再在一条视觉化的轨道上拖动推理强度。

  • 仓库:MuFeng262/dsh-thinking-slider
  • 社区目录:skillhub 插件页
  • 当前 package 版本:0.3.3(以仓库 package.json 为准)
  • 许可:MIT
  • 依赖:无第三方 npm 依赖,仅使用 DSH 自带的 react / react/jsx-runtime / react-dom

插件以当前 DSH 进程权限运行;安装前建议自行查看源码与许可证。DSH 社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

关闭态与展开卡片

  • 关闭态:一行文字,例如 deepseek-flash · Max,不占额外空间。
  • 点开:卡片内大字显示当前等级;模型名 › 可切换模型;下方为厚滑块。
  • 拖滑块:即时切换推理强度,视觉随等级变化(取决于所选显示模式)。
  • 键盘:← / →、Home / End 切换档位,Esc 关闭卡片。
  • 降级:模型没有推理等级时只显示模型名,不出现滑块(避免无效控件)。

等级不写死在插件里:读取 DSH 上报的 model.reasoning.efforts。任何在配置里声明了 reasoningEfforts 的供应商路由都会自动出现在滑块上。

三种显示模式

在 设置 → 通用 → 推理滑块 中切换。模式保存在浏览器 localStorage,切换即时生效,无需重启。

模式 效果
官方 插件不注册 UI 座位,交还 DSH 官方模型选择器
粒子 轨道渐变 + 内部漂浮粒子,等级越高越密
能量充能 深色轨道上的点阵充能场,前沿从左扫入旋钮,最高档持续燃烧

设置项与座位注册独立:即使选了「官方」,也可随时切回粒子或能量模式。

能量模式使用 canvas 2D 逐格衰减模拟(非 WebGL,无额外依赖)。中间档落定后会停掉渲染循环以降低 CPU;配色跟随 data-ds-dark-theme 在浅色 / 深色间实时切换。

为缺省等级的模型补映射

DSH「设置 → 模型」页面不提供 reasoningEfforts 字段。通过 GUI 添加的代理商模型若未在 profile 中声明映射,DSH 不会报告等级;若强行选择未映射的等级,会报错 UNSUPPORTED_REASONING_EFFORT(非静默忽略)。

插件在 设置 → 通用 → 模型推理等级 中列出「有模型但未声明等级」的代理商,可逐个点 补四档:

  • 写入 llm-pi-ai 的真实配置(与「设置 → 模型」同一份),等级会真正随请求生效。
  • 适配器每请求重读配置,不需要重启 DSH。
  • 只补未声明的模型;已声明的原样保留。
  • 逐代理商确认,非全自动:若网关不接受 reasoning_effort,该代理商请求可能全部失败。README 注明 none / low / high / max 为实测可用拼写,换网关建议先对一个模型试跑。

自定义模型若需档位,须在 profile 的 cordis.patch.yml 中为每个模型手写 reasoningEfforts(Models 设置页刻意不提供该字段)。键名(如 off / low / high / max)决定滑块档位数;右侧值为发给网关的原始拼写,填错可能导致 400。reasoningEfforts: false 可显式标记非推理模型。

环境与要求

  • DSH Desktop 或 dsh web,内核 0.2.x(README 开发验证于 0.2.0-rc.1 / 0.2.0-rc.2)。
  • 插件未声明 peerDependencies,不会被 DSH 版本门禁整包跳过;升级 DSH 后若 UI 槽位变化,插件可能需跟进适配。

安装与启用

profile 名为 desktop 时,在终端执行:

dsh plugin --profile desktop add github:MuFeng262/dsh-thinking-slider

若 profile 名不是 desktop,将 --profile desktop 换成实际名称。也可在插件管理器中添加同一条 github:MuFeng262/dsh-thinking-slider。

安装完成后完全退出 DSH Desktop 再打开(客户端插件在启动时组合加载)。

典型用法

  1. 安装并重启 DSH Desktop 后,打开 Composer,在模型区域应看到 模型名 · 等级 一行;点击展开卡片。
  2. 拖动滑块或按方向键切换推理强度;通过 模型名 › 切换模型。
  3. 在 设置 → 通用 → 推理滑块 选择「粒子」「能量充能」或「官方」。
  4. 若某代理商模型无等级:打开 设置 → 通用 → 模型推理等级,对对应代理商使用「补四档」(换网关前先单模型验证)。
  5. 高级:在 cordis.patch.yml 的 llm-pi-ai 提供商下为模型配置 reasoningEfforts,例如:
- id: llm-pi-ai
  name: "@deepseek-ai/dsh-llm-pi-ai"
  config:
    providers:
      your-gateway:
        displayName: 你的中转商
        apiKeyEnv: YOUR_API_KEY
        api: openai-completions
        baseURL: https://your-gateway.example/v1
        models:
          - id: some-model
            name: some-model
            reasoningEfforts:
              off: none
              low: low
              high: high
              max: max

卸载

dsh plugin --profile desktop remove dsh-thinking-slider

手动安装时需同时删除 node_modules 中的包、package.json 的 dependencies 条目,以及 dsh.profile.bundles 中的同名项;仅删 dependencies 仍会在启动时加载 bundle。

适用场景与注意

适合:经常在 Composer 里同一模型上切换推理强度;希望模型选择与强度选择在同一控件完成;愿意在设置里补全或手写 reasoningEfforts 映射的 DSH 用户。

注意:

  • 插件不创造网关能力;等级必须配置正确映射,否则 DSH 会拒绝请求。
  • 补四档与 YAML 中的值是网关侧拼写,不同中转商可能不同。
  • 安装即信任维护者代码与 MIT 许可下的使用方式;无 star 数据不代表质量,请以自测为准(仓库 README 提供 node test/smoke.mjs 供开发者本地跑 66 项行为测试)。

结尾

dsh-thinking-slider 把 DSH Composer 的模型选择器扩展为「模型 + 推理强度」一体控件,并通过设置页弥补 GUI 无法编辑 reasoningEfforts 的配置缺口。需要进一步了解或提 issue,可访问 GitHub 仓库 与 skillhub 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜