dsh-model-search
<p align="center"> <a href="https://www.npmjs.com/package/dsh-model-search"><img alt="npm version" src="https://img.shields.io/npm/v/dsh-model-search?label=npm&color=blue"></a> <a href="https://www.npmjs.com/package/dsh-model-search"><img alt="monthly downloads" src="https://img.shields.io/npm/dm/dsh-model-search?label=%E6%9C%88%E4%B8%8B%E8%BD%BD&color=brightgreen"></a> <a href="https://github.com/HeathHe/dsh-model-search"><img alt="stars" src="https://img.shields.io/github/stars/HeathHe/dsh-model-search?style=social"></a> <a href="https://github.com/HeathHe/dsh-model-search/blob/main/LICENSE"><img alt="license" src="https://img.shields.io/github/license/HeathHe/dsh-model-search?color=orange"></a> <img alt="platform" src="https://img.shields.io/badge/platform-DeepSeek%20Harness%20Web-8A2BE2"> </p>
为 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。