dsh-better-model-selector:拆分模型选择与思考强度控件

前言

在 DSH web profile 中,原生的模型选择器与思考强度选择器被集成在一个二级菜单里。这种集成方式在模型数量增多时查找不便,且调节思考强度不够直观。dsh-better-model-selector 插件将这两个控件拆分为两个独立的组件,并引入了更合理的交互方式。

插件简介

该插件由 Khellendros97 维护,旨在优化 DSH web 界面的模型管理体验。它不改变底层数据结构,而是通过覆盖 UI slot 来调整显示和交互逻辑。

核心功能

  1. 模型选择器
    保持下拉选单的形式,但增加了搜索功能,方便在模型列表中快速定位。同时支持标记喜爱(收藏)功能,方便快速访问常用模型。

  2. 思考强度选择器
    将原有的选择控件改为滑动条样式,操作更加直观,调节范围更清晰。

  3. 快捷键
    - Ctrl/Cmd + P:快速切换模型,在收藏模型列表中轮换。
    - Ctrl/Cmd + T:轮换当前模型的思考强度。

安装与启用

插件依赖 DSH 的 next 通道,peerDependencies 指向 @deepseek-ai/* ^0.1.0-rc.6。请确保你的 DSH 环境满足依赖要求(Node.js ≥ 20,且 dsh web 能正常运行)。

  1. 使用官方 CLI 安装插件:
dsh plugin --profile web add dsh-better-model-selector

该命令会自动处理依赖登记和挂载。安装完成后,重启 DSH 并在浏览器执行硬刷新(Cmd/Ctrl + Shift + R)即可生效。

机制与持久化

  • 状态同步:插件通过覆盖内置的 conversation.input.model slot,并读写会话级 ModelDirectory(由 @deepseek-ai/dsh-client-ui-model-selection 提供),因此它与 /model 命令弹窗共享同一份状态。
  • 收藏存储:收藏列表持久化到主机级 cookie(dms_favs,路径 /,约 1 年有效期),仅本地保存。相比 localStorage,cookie 按主机隔离,能避免因 DSH web 每次重启端口变化导致旧端口数据丢失的问题。首次读取会自动迁移旧版 cookie(dmt_favs)和 localStorage(dsh-model-toolbox:favorites:v1)中的收藏。

限制与注意事项

  • 显示条件:思考强度滑动条仅在当前模型公布了推理强度元数据时才会显示。
  • 子代理会话:在已寻址的子代理(subagent)会话中,不提供模型选择功能,控件隐藏且快捷键失效。
  • 快捷键行为:Ctrl+P / Ctrl+T 仅当存在当前会话时接管按键;若当前没有会话,则不会拦截浏览器的默认行为(例如 Ctrl+T 会新建标签页)。

结尾

通过将模型选择与思考强度调节解耦,并引入快捷键支持,该插件提升了在多模型场景下的操作效率。插件目录与源码地址见下方。

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

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

小夜