前言¶
在 DSH web profile 中,原生的模型选择器与思考强度选择器被集成在一个二级菜单里。这种集成方式在模型数量增多时查找不便,且调节思考强度不够直观。dsh-better-model-selector 插件将这两个控件拆分为两个独立的组件,并引入了更合理的交互方式。
插件简介¶
该插件由 Khellendros97 维护,旨在优化 DSH web 界面的模型管理体验。它不改变底层数据结构,而是通过覆盖 UI slot 来调整显示和交互逻辑。
核心功能¶
-
模型选择器
保持下拉选单的形式,但增加了搜索功能,方便在模型列表中快速定位。同时支持标记喜爱(收藏)功能,方便快速访问常用模型。 -
思考强度选择器
将原有的选择控件改为滑动条样式,操作更加直观,调节范围更清晰。 -
快捷键
-Ctrl/Cmd + P:快速切换模型,在收藏模型列表中轮换。
-Ctrl/Cmd + T:轮换当前模型的思考强度。
安装与启用¶
插件依赖 DSH 的 next 通道,peerDependencies 指向 @deepseek-ai/* ^0.1.0-rc.6。请确保你的 DSH 环境满足依赖要求(Node.js ≥ 20,且 dsh web 能正常运行)。
- 使用官方 CLI 安装插件:
dsh plugin --profile web add dsh-better-model-selector
该命令会自动处理依赖登记和挂载。安装完成后,重启 DSH 并在浏览器执行硬刷新(Cmd/Ctrl + Shift + R)即可生效。
机制与持久化¶
- 状态同步:插件通过覆盖内置的
conversation.input.modelslot,并读写会话级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会新建标签页)。
结尾¶
通过将模型选择与思考强度调节解耦,并引入快捷键支持,该插件提升了在多模型场景下的操作效率。插件目录与源码地址见下方。