Bundle
dsh-model-search
Adds a search box to the DSH Web GUI model switcher (the composer model seat), filtering the provider-grouped model list by model name / id / provider while preserving the official selection behavior and reasoning-effort picker.
- Source
- HeathHe
- License
- MIT
- Updated
- Updated 2 days ago
Readme
# 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](https://github.com/deepseek-ai/deepseek-harness) Web 界面的「模型切换」下拉(输入框右侧的模型座位)增加一个搜索框:在 provider 分组之上,按 **模型名 / 模型 id / provider 名** 即时过滤模型列表,其余官方交互全部保留。 Adds a search box to the [DeepSeek Harness](https://github.com/deepseek-ai/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 ```sh 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: ```sh dsh plugin --profile web add dsh-model-search@latest ``` ### 升级 / Upgrade ```sh dsh plugin --profile web add dsh-model-search@<新版本> # 然后重启 dsh web ``` ### 源码开发 / Development ```sh dsh plugin --profile web add link:/绝对路径/到/dsh-model-search ``` ### 重新构建 / Rebuild `lib/client.js` 由 `lib/build.mjs` 从官方 `@deepseek-ai/dsh-client-ui-model-selection` 浏览器产物打补丁生成: ```sh 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`。
Install
dsh plugin --profile web add github:HeathHe/dsh-model-search
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-model-search from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.