前言¶
在 DSH(DeepSeek Harness)里切换模型和推理强度,靠的是会话输入区的原生模型选择器。实际用下来有两个不顺手的地方:一是不同供应商对档位的命名不统一,off、med、extreme、ultracode 这类名字要自己记映射;二是自定义路由(比如 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-00…frame-30)组成,拖动时连续跟手,松手后吸附到该档位首帧。标签和触发芯片会带上Max 梁祖这类后缀。开关状态持久化在localStorage。 - Big Fat Fish 拇指:把滑块拇指换成 8 帧奔跑的 Q 版鱼精灵,空闲时以
720ms循环,拖动时加速到420ms。在 DSH Settings → General → Big Fat Fish slider 中开启,立即生效、无需重启,设置同样持久化在localStorage。
动画细节¶
High和Extra档位显示稀疏的蓝/紫点阵场,带随机闪烁和以拇指为中心的径向水波纹。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