前言¶
DeepSeek Harness(DSH)允许开发者通过插件扩展功能。在模型选择菜单中,Effort(推理强度)通常以离散行呈现。本插件将这一行替换为一个连续的、落点吸附的 Codex 风格滑块:拖动时跟随指针,松开后在 80ms 内吸附到最近级别;支持方向键、Home/End 快捷键;最高等级显示星空与紫光晕。它只扩展 Effort 行,不侵入模型选择器的其他区域。
是什么¶
- 名称:dsh-reasoning-effort-slider
- 维护者:sleepinggggggggggg
- 分类:客户端
- 定位:将 DSH 模型菜单的 Effort 行替换为 Codex 风格推理强度滑块
- 解决的问题:用连续滑块替代原生离散行,提升调整推理强度的操作体验,同时保持与原生菜单的兼容性
核心功能¶
视觉与交互¶
- 连续轨道与白色圆点滑块(高度 28px,中心偏置 14px),始终保持圆形
- 按级别位置驱动颜色:首级为蓝色(#4d93f8),中间为蓝色→紫色渐变(#9333ea),最高级为深紫(#4c1d95),文字颜色同步变化(最高级为紫色 #8b5cf6)
- 最高等级时在填充区域右侧出现 26 个错位星点 + 紫光晕层,且光晕与星空被剪裁到已填充部分
- 交互方式:
- 按下轨道:跳转到按下格子
- 拖动:滑块与填充轨道跟随指针,级别名称、刻度与写操作使用最近级别;松开时在 80ms 内吸附,无回弹
- 松开或指针静止约 160ms:立即提交
- 方向键:每按一次一个级别,立即提交
- Home/End:最低/最高级别
- 悬停:显示当前级别与「右侧级别消耗更多 token」提示
写操作与错误处理¶
- 写操作去重与合并:拖动过程中最多写入少数几次;若选中的级别已生效则不写入
- 失败时在轨道下方显示原因,4 秒后清除
兼容与不破坏原生菜单¶
- 仅添加 data-dres-row 属性到原生 Effort 行(该行已被插件撑高并换行)
- 原生类名、文本与右箭头保持不变
- 采用 fail-open 策略:若未检测到预期语义结构(缺少 aria-haspopup / aria-expanded / aria-controls 或非模型/effort 对),则不注入,原生菜单继续工作
- 行高增长触发原生菜单的 ResizeObserver,自动调整面板位置
- 关闭或卸载页面时移除容器、属性,并恢复所有文字的原生颜色
数据路径¶
插件通过 DSH 的公共会话接口读写推理强度:
- 读取级别列表:
session.modelCatalog()→groups[].models[].reasoning.efforts - 读取当前值:
modelSelectionsession projection(降级使用 catalog 默认值) - 写入级别:
session.selectModel({ sessionId, provider, model, reasoningEffort })(与原生菜单相同的入口)
安装与启用¶
从 GitHub 安装:
dsh plugin --profile <profile> add github:sleepinggggggggggg/dsh-reasoning-effort-slider
从本地目录安装:
dsh plugin --profile <profile> add <绝对路径>
在桌面端:使用「设置 → 插件 → 添加插件」,填入与上述相同的值,然后刷新页面或重启应用。
兼容范围¶
插件在 package.json 中声明 engines.dsh: >=0.2.0-rc.2 <0.3.0-0,已验证与 DSH 0.2.1-rc.2 兼容。DSH 在加载插件前会检查版本范围,超出范围时拒绝加载并给出明确提示。
已知限制¶
- 依赖原生菜单的语义结构(aria-haspopup / aria-expanded / aria-controls / role=”menuitem”)。若 DSH 更改这些结构,插件将静默不生效(不破坏菜单),需后续更新。
- 必须在模型菜单打开时才能切换级别;工具栏折叠态仅保留 Effort 文字的原生样式。
- 单级别模型(例如禁用推理)不渲染控件,原生行高度恢复为原始值。
- 模型目录在页面生命周期内被缓存,仅重连时会重新获取;在设置中新增的 Provider 或模型需要刷新页面才能生效。
- 级别选择仅对下一条请求生效;正在运行的步骤保持其初始级别(与原生菜单一致)。
适用场景与注意¶
适合希望用更直观的滑块替代原生 Effort 行的开发者。插件以客户端方式运行,安装前建议查看源码与许可证(MIT)。
短结尾¶
本插件将 DSH 模型菜单的 Effort 行改造为 Codex 风格滑块,提供连续拖动、落点吸附与星空视觉反馈,同时保持对原生菜单的兼容性。详细信息与反馈请访问:
- 插件目录页:https://www.skillhub.cn/plugins/sleepinggggggggggg/dsh-reasoning-effort-slider
- GitHub 仓库:https://github.com/sleepinggggggggggg/dsh-reasoning-effort-slider