dsh-effort-slider:将 DSH Web 推理等级选择器替换为带阻尼动效的紧凑滑块

前言

DeepSeek Harness(DSH)的 Web 客户端在模型选择菜单中集成了推理等级控制。默认的档位选择器在界面中占据固定空间,交互方式较为传统。dsh-effort-slider 插件针对这一模块进行了重构,在保留官方菜单结构的前提下,将档位选择替换为紧凑的滑块组件。

核心功能

该插件主要实现了以下交互与视觉改进:

  1. 菜单结构复刻:保持官方模型选择菜单的原有布局,菜单内仍显示“模型”与“推理等级”两行选项。
  2. 折叠式子面板:点击“推理等级”后,展开子面板,内部呈现滑块控件。该面板折叠在主菜单内,不会占用输入框周围的空间。
  3. 阻尼动效:拖动滑块时,彩色填充与滑块头呈现平滑的缓动效果;松手后,滑块会自动吸附到最近的挡位。
  4. 乐观更新:提交选择时采用乐观更新策略,在等待 RPC 响应期间不会出现挡位闪回旧值的情况。
  5. 自适应挡位:滑块支持的挡位数量(如 off/high/max、low/high/xhigh/max 等)由配置决定,支持任意数量。
  6. 视觉反馈:滑块根据挡位位置改变光效与色彩。越靠右色彩越强、光效越亮。最右侧挡位通常进入彩虹动态特效;最左侧挡位整体呈现灰暗无光状态。

安装与启用

使用官方插件命令进行安装:

dsh plugin --profile web add @qqqw114/dsh-effort-slider

安装完成后,重启 dsh web 进程,并在浏览器中执行 Ctrl+F5 强制刷新页面以加载新组件。

实现原理

插件通过覆盖 DSH 的渲染槽位来实现替换效果。

  • 槽位注册:插件注册到 conversation.input.model 单槽,设置 priority: -100。由于 DSH 采用优先级渲染机制(数值越低越优先),此设置确保了插件组件在官方模型选择组件之前渲染,从而接管该区域的输出。
  • 数据流:尽管渲染组件被替换,数据读写仍通过官方的 modelDirectories 服务完成。选择推理等级时,同样调用官方的 selectModel RPC。
  • 菜单结构:插件复刻了官方的两层导航结构(根菜单 → 模型 / 推理等级),仅在“推理等级”的子面板内容上替换为自定义的阻尼滑块。

生态与链接

该插件遵循 MIT 许可证,由用户 QQQW114 维护。

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

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

小夜