前言¶
在 DeepSeek Harness(DSH)里写 Composer,模型选择菜单往往按厂商纵向铺开:来源多、单条名称又长时,找常用模型要反复滚动。社区里已有按厂商折叠的思路,但若样式作用域不严,还可能影响到 /model 命令弹窗等共用组件。
下面介绍维护者 oliblue-evan 在 SkillHub 分类为「客户端」的插件 dsh-liao-models(GitHub):纯客户端增强 Composer 的模型选择面板,按来源折叠、侧边滑出模型列表,并把置顶、最近、搜索、别名与隐藏收进本机偏好,不发起额外网络请求。
这是什么¶
dsh-liao-models 是 DSH 的 Web 客户端插件(dsh.client.platform: web),通过 cordis.patch.yml 注入到模型选择与插件管理相关模块。它不改模型目录接口,而是在宿主已有的 MenuGroup / menuitemradio 结构上增强 UI:主菜单只列厂商,悬浮或点击后在侧边打开该厂商的模型浮框;偏好写入 localStorage,并可通过官方 bundle 设置槽(plugins.bundle.config)管理字号与本地记录。
插件当前包版本为 0.9.1(MIT),engines 要求 DSH >=0.2.1-rc.2 <0.3.0-0;README 中写明曾在 @deepseek-ai/dsh 0.2.0-rc.2 与对应 dsh-client-ui-model-selection 上验证 DOM 钩子。内核若改动菜单结构,插件会静默不生效,且不破坏原生菜单。
核心功能¶
厂商列表与模型浮框¶
主菜单仅显示各来源及其可见模型数量。鼠标划过或点击某一厂商,会在菜单一侧滑出模型浮框;空间不足时自动翻到另一侧。原菜单顶部的搜索框用于筛选厂商名称,不会按模型名展开全表;回车或方向键可进入匹配厂商的浮框。
浮框内默认只搜当前厂商,可切换到全部厂商;查询在切换范围时保留,全局结果按厂商分层,并匹配原名、别名与模型 ID。无查询时可用 Esc、点外部或选中模型关闭;有查询时 Esc 先清空。移开鼠标不会自动收起浮框。
左上角入口可打开常用模型总览(置顶、最近、跨来源浏览)。厂商内可按 DeepSeek、GPT、Claude 等系列分组并折叠,组内支持名称自然序或倍率排序(倍率仅作菜单内排序参考)。插件用属性与 CSS 隐藏原生模型行,保留 React 节点与真实选择按钮。
置顶、最近与搜索¶
- 置顶:列表或整理视图中点星标,最多 12 个,总览顶部展示。
- 最近:每次选中模型会记入最近(去重、置前;总览可配置展示 4/8/12 条,最多保留 24 条记录)。
- 搜索:浮框内默认当前厂商;总览可跨来源。支持别名与子序列模糊匹配(如
dsv4f匹配DeepSeek-V4.1-Flash),排序优先级为完全命中、前缀、子串、子序列。
别名与隐藏¶
在「整理」视图中可置顶、隐藏或恢复模型。点击「改名」才展开别名输入;整理时点模型名用于改名,不会切换当前聊天模型。隐藏项在普通浏览与搜索中不可见,但在整理视图内仍可搜到并恢复。
设置页¶
在 插件管理 → dsh-liao-models 中可配置面板字号(12/13/14)、查看置顶/最近/别名/隐藏数量摘要、清空偏好(可撤销,字号可保留)、以及浏览与搜索说明。0.9.x 起设置页采用紧凑布局,并支持从设置直接打开「整理模型」浮框(读取宿主已缓存目录,不额外请求模型列表;目录未就绪时会提示先打开聊天中的模型菜单)。偏好支持 JSON 导出、导入预览、合并或替换。
与社区折叠方案的差异(设计取向)¶
作者说明本插件自 dsh-model-fold 思路重写,README 中归纳了样式作用域(data-mo-scope、避开 role="listbox")、dispose 时摘净监听、单一版本号与自动化测试、以及置顶/搜索/别名一体化等取向。安装前若关心实现细节,可直接阅读仓库 README 与测试目录。
安装与启用¶
从 GitHub 安装(依赖 bundle 自声明,无需手改 cordis.patch.yml):
dsh plugin --profile <profile> add github:oliblue-evan/dsh-liao-models
或在 DSH 内通过 plugin_manager:
plugin_manager(action: "install_bundle", target: "github:oliblue-evan/dsh-liao-models")
本地开发可将目录路径作为 add 目标(改代码后若 profile 已挂 @deepseek-ai/dsh-client-hmr,保存后刷新页面即可热替换)。新装 bundle 后需重启 DSH 一次,以便宿主在启动时挂载客户端插件图。
卸载示例:
dsh plugin --profile desktop remove dsh-liao-models
典型用法¶
- 重启 DSH 后,在 Composer 打开模型菜单:主列表应为各厂商一行,而非全部模型平铺。
- 悬浮或点击某一厂商,在侧边浮框中选模型;常用模型可在行上点星标置顶。
- 原菜单搜索框输入厂商名片段,用方向键进入对应浮框;在浮框搜索框用别名或子序列找模型。
- 点「整理」进入整理视图:隐藏不用的模型、为长名称设别名;需要时在插件设置页导出/导入 JSON 备份偏好。
- 调整显示与浏览(悬停/点击、延迟、浮框宽度与密度等)可在插件设置页完成,并与已打开的浮框实时同步。
适用场景与注意¶
适合:长期在 DSH Composer 中切换多厂商、多系列模型,希望菜单按来源折叠、侧边浏览,并在本机记住置顶、最近、别名与隐藏的用户。
注意:
- 插件在当前 DSH 进程权限下运行,会读写本机
localStorage;安装前请查看 源码 与 MIT 许可证,确认符合你的环境策略。 - 纯客户端、零网络请求;模型目录仍由宿主提供,插件不拉取远端列表。
- SkillHub 目录页为社区生态站点,与 DeepSeek / 幻方无官方从属关系;星标等元数据以各站点当时展示为准(目录抓取时为 0)。
结尾¶
dsh-liao-models 把 Composer 模型菜单从「长列表滚动」收成「厂商 + 侧边浮框」,并把常用整理能力留在本机。需要安装说明与版本变更时,以 GitHub README 为准。
- 目录页:https://www.skillhub.cn/plugins/oliblue-evan/dsh-liao-models
- 仓库:https://github.com/oliblue-evan/dsh-liao-models