前言¶
DSH 中的模型选择器默认展开所有提供商。当可用模型很多时,这会占用大量垂直空间。dsh-model-collapse 通过将列表折叠成按提供商组织的组来解决此问题,配合快捷条和键盘操作,可以快速定位目标模型。
插件介绍¶
这是一个 DSH web 插件。它将模型选择下拉菜单按 provider 分组折叠,默认全部收起,点击标题展开。顶部常驻一个快捷条,提供展开/收起/聚焦/重置/筛选功能。插件由 GoldenZqqq 维护,使用 MIT 许可证。
核心功能¶
- 分组折叠:模型列表按 provider 分组,默认全部收起。点击分组标题可切换展开/收起状态,标题旁显示模型数量角标。
- 顶部快捷条:菜单顶部常驻一个工具条,包含展开、收起、聚焦当前、重置记忆、筛选等功能。
- 键盘快捷键:
-Alt+E:一键展开所有分组。
-Alt+C:一键收起所有分组。
-Alt+F:聚焦筛选框并全选已有内容。 - 记忆功能:展开状态基于浏览器
localStorage(键名为dsh-model-collapse:expanded-v1)保存,下次打开菜单或重启 DSH 后保持。 - 纯前端增强:仅通过
data-*属性和<style>规则实现 DOM 折叠,不修改 DSH 官方包,不 fork 源码。
安装与启用¶
使用官方安装命令添加插件:
dsh plugin --profile web add GoldenZqqq/dsh-model-collapse
安装后重启 DSH web 并刷新页面即可生效。
配置¶
在 cordis.patch.yml 文件中找到对应行修改 config:
- insert:
- id: model-collapse
name: dsh-model-collapse
config:
enabled: true # 总开关,false 即停用
expandSelectedGroup: true # 首次打开时是否默认展开"当前选中模型"所在分组
quickBar: true # 是否显示顶部快捷条
accordion: false # 手风琴模式:展开某组时自动收起其他组
使用方法¶
- 展开/收起:点击分组标题或使用快捷键
Alt+E/Alt+C。 - 聚焦当前:点击快捷条上的「聚焦」或使用
Alt+F(仅展开当前选中模型所在分组)。 - 筛选模型:在快捷条筛选框输入关键字。命中的分组自动展开,不命中的整组隐藏,角标显示为
命中/总数。 - 重置记忆:点击快捷条上的 ↺ 图标,或执行
localStorage.removeItem('dsh-model-collapse:expanded-v1')后刷新。
注意事项¶
- 仓库归档:本仓库已归档,后续更新请查看集合仓库 GoldenZqqq/dsh-plugins。
- 技术实现:插件依赖 React 渲染的节点上的 ARIA 语义(
section[role="group"]),不修改官方包。 - 权限范围:插件运行在当前 DSH 进程权限内,仅进行浏览器端 DOM 增强。
结尾¶
dsh-model-collapse 通过折叠和分组解决了模型选择器过长的问题,适合需要频繁切换不同提供商模型的使用场景。更多详情请参考 GitHub 仓库。