dsh-model-search
为 DeepSeek Harness Web 界面的「模型切换」下拉(输入框右侧的模型座位)增加一个搜索框:在 provider 分组之上,按 模型名 / 模型 id / provider 名 即时过滤模型列表,其余官方交互全部保留。
Adds a search box to the DeepSeek Harness Web GUI model switcher (the composer model seat): filters the provider-grouped model list by model name / id / provider while preserving every official interaction.
使用 / Usage
安装 / Install
dsh plugin --profile web add dsh-model-search
装完重启 dsh web,输入框右侧的模型座位打开后顶部即出现搜索框。/ Restart dsh web afterwards; the search box appears at the top of the model panel.
安装指定版本 / Install a specific version:
dsh plugin --profile web add dsh-model-search@latest
升级 / Upgrade
dsh plugin --profile web add dsh-model-search@<新版本>
# 然后重启 dsh web
源码开发 / Development
dsh plugin --profile web add link:/绝对路径/到/dsh-model-search
重新构建 / Rebuild
lib/client.js 由 lib/build.mjs 从官方 @deepseek-ai/dsh-client-ui-model-selection 浏览器产物打补丁生成:
npm run build # 即 node lib/build.mjs
打补丁锚点全部做了「唯一性 + 恰好出现一次」校验,官方包升级导致锚点漂移时构建会报错而不是静默失效。
功能 / Features
- 顶部搜索框 — 打开模型面板即出现,按空格分词、大小写不敏感,同时匹配模型名 / 模型 id / provider 名
- 分组收起 — 没有命中的 provider 分组自动隐藏
- 空结果区分 — 无匹配显示「没有匹配的模型」,真正无模型时才显示「没有可用的模型」
- 键盘导航 — 搜索框内 ↑↓ 直接跳到过滤结果首/末项;选择后自动清空搜索词
- 交互保留 — 推理等级选择、当前项勾选、加载/错误状态、toast 全部沿用官方实现
⚠️ 重要说明:本插件通过
cordis.patch.yml替换官方模型选择组件(@deepseek-ai/dsh-client-ui-model-selection),而非叠加增强。DeepSeek Harness 升级后若官方组件发生变化,可能导致本插件失效——届时需重新构建(npm run build)并更新插件。
已知局限 / Known Limitations
- 依赖上游版本:
lib/client.js从@deepseek-ai/dsh-client-ui-model-selection的特定版本打补丁生成。上游升级后,构建脚本的锚点可能漂移,需人工适配。 - 键盘覆盖:搜索框内的
↑/↓跳转到过滤结果首/末项,可能覆盖官方原有的某些键盘行为。 - 空格分词:模型名或 provider 名中若含空格,以空格分词搜索时可能产生意外匹配。
许可 / License
MIT · lib/client.js 衍生自 @deepseek-ai/dsh-client-ui-model-selection,详见 NOTICE / LICENSE。
No comments yet. Be the first to write one.