dsh-model-collapse:按 provider 分组折叠模型选择器

前言

DSH 中的模型选择器默认展开所有提供商。当可用模型很多时,这会占用大量垂直空间。dsh-model-collapse 通过将列表折叠成按提供商组织的组来解决此问题,配合快捷条和键盘操作,可以快速定位目标模型。

插件介绍

这是一个 DSH web 插件。它将模型选择下拉菜单按 provider 分组折叠,默认全部收起,点击标题展开。顶部常驻一个快捷条,提供展开/收起/聚焦/重置/筛选功能。插件由 GoldenZqqq 维护,使用 MIT 许可证。

核心功能

  1. 分组折叠:模型列表按 provider 分组,默认全部收起。点击分组标题可切换展开/收起状态,标题旁显示模型数量角标。
  2. 顶部快捷条:菜单顶部常驻一个工具条,包含展开、收起、聚焦当前、重置记忆、筛选等功能。
  3. 键盘快捷键:
    - Alt+E:一键展开所有分组。
    - Alt+C:一键收起所有分组。
    - Alt+F:聚焦筛选框并全选已有内容。
  4. 记忆功能:展开状态基于浏览器 localStorage(键名为 dsh-model-collapse:expanded-v1)保存,下次打开菜单或重启 DSH 后保持。
  5. 纯前端增强:仅通过 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           # 手风琴模式:展开某组时自动收起其他组

使用方法

  1. 展开/收起:点击分组标题或使用快捷键 Alt+E / Alt+C。
  2. 聚焦当前:点击快捷条上的「聚焦」或使用 Alt+F(仅展开当前选中模型所在分组)。
  3. 筛选模型:在快捷条筛选框输入关键字。命中的分组自动展开,不命中的整组隐藏,角标显示为 命中/总数。
  4. 重置记忆:点击快捷条上的 ↺ 图标,或执行 localStorage.removeItem('dsh-model-collapse:expanded-v1') 后刷新。

注意事项

  • 仓库归档:本仓库已归档,后续更新请查看集合仓库 GoldenZqqq/dsh-plugins。
  • 技术实现:插件依赖 React 渲染的节点上的 ARIA 语义(section[role="group"]),不修改官方包。
  • 权限范围:插件运行在当前 DSH 进程权限内,仅进行浏览器端 DOM 增强。

结尾

dsh-model-collapse 通过折叠和分组解决了模型选择器过长的问题,适合需要频繁切换不同提供商模型的使用场景。更多详情请参考 GitHub 仓库。

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

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

小夜