DSH Claude Style Reasoning Slider: Give DSH a New Animated Reasoning Level Slider and Model Selector

前言

在 DSH(DeepSeek Harness)里切换模型和推理强度,靠的是会话输入区的原生模型选择器。实际用下来有两个不顺手的地方:一是不同供应商对档位的命名不统一,offmedextremeultracode 这类名字要自己记映射;二是自定义路由(比如 OpenRouter)经常没有配齐 reasoningEfforts,想调整等级时界面直接不给入口。

DSH 的理念是「一切皆插件」,会话输入的模型槽位同样可以由插件接管。本文介绍的 DSH Claude Style Reasoning Slider 做的就是这件事:用 Claude 风格的动画滑块替换原生模型选择器,把推理等级规范成固定六档。

需要说明:文中引用的社区目录(skillhub.cn)是独立站点,与 DeepSeek、幻方没有官方从属关系。

这是什么

DSH Claude Style Reasoning Slider 是面向 DeepSeek Harness 的客户端 UI 插件,作者 MEMZ-JZY,MIT 许可证。npm 包名 dsh-client-ui-effort-slider,版本 0.7.0,package.json 中 client 平台为 web,注入 @deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-cordis-client-runner 三个运行时模块。

一句话定位:即插即用的模型选择器,只替换 conversation.input.model 这一个槽位,聊天输入的其余部分保持不变,把推理等级面板换成一个动画滑块。

核心功能

规范化的六档滑块

滑块始终显示 Off | Low | Medium | High | Extra | Max 六档,不受供应商命名影响。名称匹配做了宽容处理:off/none/disabled 映射到 Off,ultracode 映射到 Max,med 映射到 Medium,extreme 映射到 Extra,类似显示名也会归一到规范档位。

降级与 Default 行为

  • 当前模型不支持的档位会置灰,但仍可点击:滑块停在所选位置,实际应用其下方最近的支持档位,并用 toast 说明发生了降级。
  • 切换模型时尽量保留当前推理等级;保留不了就自动降到下方最近支持档位,同样带 toast。
  • Default 以滑块下方的胶囊形式提供,提交时不带 reasoningEffort,由供应商默认行为决定。无法映射到滑块的供应商专属强度也会显示为可选胶囊。
  • 模型缺少 reasoning/efforts 元数据时,Effort 菜单仍然显示,内容是「无等级」提示加一个安全的 Default 胶囊,而不是把思维强度控件整个藏起来。

两级菜单与触发芯片

点击会话输入中的模型/推理等级触发芯片,弹出两级菜单:模型列表按供应商分组,旁边是推理等级面板,包含加载、出错、重试状态。触发芯片上显示当前模型、等级标签和六根随等级填充的上升信号条。

可选彩蛋:Liang Calibrator 与 Big Fat Fish

两个可选项,默认都是关闭的:

  • Liang Calibrator(滑动变祖器):轨道下方的开关,开启后把六档绑定为 Off → 小难梁Low → 牢梁Medium → 梁子High → 梁圣Extra → 梁神Max → 梁祖。轨道上方出现一个 224px 的方形画像,由 31 帧 WebP(frame-00frame-30)组成,拖动时连续跟手,松手后吸附到该档位首帧。标签和触发芯片会带上 Max 梁祖 这类后缀。开关状态持久化在 localStorage
  • Big Fat Fish 拇指:把滑块拇指换成 8 帧奔跑的 Q 版鱼精灵,空闲时以 720ms 循环,拖动时加速到 420ms。在 DSH Settings → General → Big Fat Fish slider 中开启,立即生效、无需重启,设置同样持久化在 localStorage

动画细节

  • HighExtra 档位显示稀疏的蓝/紫点阵场,带随机闪烁和以拇指为中心的径向水波纹。
  • Max/Ultracode 档位把滑块变成动画紫色像素场,Max 标签变为流动的多色渐变文字。
  • 轨道采用玻璃质感:内凹阴影加轻微分形噪点,光斑和玻璃边缘高光跟随指针移动,越近越亮;Max 档位下光效被抑制,保持像素场干净。
  • 档位刻度平时若隐若现,悬停附近高亮,当前档位始终可见。

本地化与无障碍

内置英文和简体中文词典,跟随 DSH 的明/暗设计令牌。滑块可用键盘操作(方向键、Home/End、PageUp/PageDown),带 ARIA 标签和焦点管理。所有动效使用 CSS 过渡/动画或轻量事件处理,并尊重 prefers-reduced-motion

安装与启用

从 Git 仓库安装 bundle,然后启动 web profile:

dsh plugin --profile web add github:MEMZ-JZY/DSH-Claude-Style-Reasoning-Slider
dsh --profile web

也可以使用本地检出的方式安装:

dsh plugin --profile web add ./dsh-client-ui-effort-slider

注意:安装或移除 bundle 之后,都需要重启 web profile 才会生效。

典型用法

1、点击会话输入中的模型/推理等级触发芯片,弹出两级菜单。

2、菜单里选 Model 切换模型,或选 Effort 调整当前模型的推理等级。

3、在 Effort 面板中拖动或点击滑块选择六档之一。点到不支持的位置时,拇指停在点击处,实际应用下方最近的支持档位,toast 会说明情况。

4、点击 Default 移除 reasoningEffort,交由供应商默认行为决定;点击其他胶囊可应用无法映射到滑块的供应商专属强度。

5、想启用 Liang Calibrator,点击轨道下方的「滑动变祖器」开关,画像和阶段名后缀立即生效,并跨会话记忆。

6、想启用 Big Fat Fish 拇指,到 DSH Settings → General 打开 Big Fat Fish slider,立即生效、无需重启。

另外一个常见场景:供应商支持 effort 但没配置 reasoningEfforts(自定义 OpenRouter 路由里很常见),此时在 DSH 的 llm-pi-ai 设置中补充等级,就能恢复完整滑块。

适用场景与注意

适合的人群:日常在 DSH web 端工作、经常切换多个供应商模型或使用自定义路由、希望推理等级直观可见且可快速调整的用户。如果你只固定用一个模型和一个等级,这个插件的收益相对有限。

几点注意:

1、Liang Calibrator 和 Big Fat Fish 拇指默认关闭,相关设置存在 localStorage,不喜欢这类内容可以完全不开启。

2、插件以当前 dsh 进程的权限运行,安装前建议先阅读源码确认行为符合预期。许可证为 MIT,仓库地址在下文。

3、README 中的 Development 章节在抓取时被截断,demo 页等后续内容本文未覆盖,需要的话直接看仓库。

结尾

这个插件解决的问题很具体:把分散在各个供应商命名体系里的推理档位,规范成一个始终可见、可拖动、可降级兜底的六档滑块,同时不碰聊天输入的其余部分。彩蛋功能全部默认关闭,属于可关可开的附加项。

项目目录页:https://www.skillhub.cn/plugins/MEMZ-JZY/DSH-Claude-Style-Reasoning-Slider

GitHub 仓库:https://github.com/MEMZ-JZY/DSH-Claude-Style-Reasoning-Slider

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

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

Xiaoye