dsh-search-model
Manifest validSearch-enabled composer model seat for DeepSeek Harness (sticky fuzzy search)
@lovstudio/dsh-search-model
Search-enabled composer model seat for the DeepSeek Harness web GUI.
The built-in composer model seat (conversation.input.model) only lists
provider-grouped models. This plugin takes over that single seat cell with a
ModelSelect that adds a pinned search field and fuzzy matching while
keeping the built-in package running underneath — the /model popup and the
shared per-session model directory still come from
@deepseek-ai/dsh-client-ui-model-selection.
What the takeover adds:
- Sticky search — the field is pinned above the scrolling option list, so typing filters while rows scroll and the field never leaves the viewport.
- Fuzzy matching — each whitespace-separated term matches as a plain
substring, a separator-free spelling (
v4profindsdeepseek-v4-pro), or an ordered subsequence within one provider/model name or id (v4pstill findsdeepseek-v4-pro); order is preserved, never permuted. Descriptions are intentionally not searchable (this surface never shows them), and a query with no hits shows a distinct "no matching models" message instead of the catalog-empty copy. - Keyboard + ARIA — entering the pane focuses the search; ArrowUp/Down
enter the visible rows at the correct edge; Escape is staged (clear query →
back to the Model/Effort root → close). The model list owns its own
role="menu"region so the textbox never sits inside a menu.
How it takes over the seat
conversation.input.model is a single slot; occupants coexist at distinct
priorities and the lowest live entry renders. The built-in registers at the
default priority 0; this plugin registers the same seat at priority -100,
so its ModelSelect renders while the built-in package keeps providing the
modelDirectories service and the /model command. No data logic is copied:
the seat's injected directory/load/select face is built over the shared
ctx.modelDirectories service, so the takeover shares one catalog and one
session projection with the /model popup.
Removing the plugin restores the built-in seat exactly.
Install
Install the prebuilt GitHub package into the DSH web profile:
npx @deepseek-ai/dsh plugin --profile web add -w github:lovstudio/dsh-search-model
Then restart the web profile so the new client bundle is served:
npx @deepseek-ai/dsh web
For a pinned release, use github:lovstudio/dsh-search-model#v0.2.1.
The repository includes its built entry points, so installation does not run
a prepare script or require build approvals.
Version 0.2.1 fixes a missing remote.session service dependency that could
crash the composer model seat when opening an uncached session.
Load gate
After installing, open the web GUI, click the composer model seat (e.g.
DeepSeek-V4-Flash · High), drill into the model list and confirm the search
field with the placeholder Search by name or ID appears above the groups.
Typing v4p should narrow to DeepSeek-V4-Pro rows while other models stay
hidden — that proves the takeover bundle, not the built-in seat, is rendering.
Similar plugins
by ardli-firman
Searchable model selector for DeepSeek Harness — search models by name instead of scrolling
★ 0
JavaScript
Aug 22, 2026
dsh plugin --profile web add @ardli-firman/dsh-model-searchby Mr-remon219
The plunge for dsh to boost model's search ability.
★ 14
↓ 85/wk
MIT
JavaScript
Aug 18, 2026
dsh plugin --profile web add dsh-search-boostby honoriomelo
DSH Web GUI plugin: adds a live search field inside the model picker menu of the composer, plus the Effort (reasoning) selector. Drop-in replacement for the native model seat, sharing the same per-ses
★ 0
MIT
JavaScript
Aug 29, 2026
dsh plugin --profile web add dsh-model-picker-searchby zjl88858
DeepSeek Harness的滑动变祖器插件
★ 6
MIT-0
JavaScript
Aug 13, 2026
dsh plugin --profile web add dsh-huadong-bianzuqiby bitterSmilezzz
DeepSeek Harness (DSH) 的增强模型选择器:单层菜单(搜索 + 分组)+ 底部内联推理强度(Effort)滑杆。
★ 0
MIT
TypeScript
Sep 14, 2026
dsh plugin --profile web add dsh-model-selectorby a1073097082
Adds searchable filtering to the model selector by provider, model name, and model ID; spaces act as wildcards.
★ 5
↓ 135/wk
MIT
JavaScript
Aug 15, 2026
dsh plugin --profile web add dsh-model-search