DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Model Picker Search — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
M

dsh-model-picker-search

Model Picker Search

Adds a search field inside the model picker menu of the composer. Drop-in replacement for the native model seat, sharing the same per-session ModelDirectory so /model popup, the effort selector, and the /model command stay consistent.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:honoriomelo/dsh-model-picker-search#9a18436c76afc2c07d293c2a3611aca2226f348c
READMECompatibilityVersions

Compatibility and provenance

Model Picker Search is published as dsh-model-picker-search and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
8/29/2026

Versions

0.1.0stable
8/29/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
8/29/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in models-usage.

Usage@linxin666/dsh-usageUsage statistics plugin for the dsh web GUI: per-provider balance and coding-plan quota detection plus a live token usage ledger, with a dedicated pet bubble for the current providerWhale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editinUsage Stats@ychris12138/dsh-usage-statsToken usage heatmap, provider balances, and subscription quotas for the dsh web GUICodex Connectdsh-codex-connectChatGPT OAuth and Codex models for DeepSeek Harness.

README

dsh-model-picker-search

DSH Web GUI plugin. Adds a live search field inside the model picker menu of the composer, plus the Effort (reasoning) selector that the native ModelSelect ships with.

When you click the Model button in the composer, the menu now opens already focused on a search box at the top. As you type, the list of models is filtered in real time across every provider — matching against the model id, model name, provider displayName, and provider name (case-insensitive substring). The two-level (Model / Effort) submenu from the native picker is preserved, so switching reasoning effort on a model that supports it still works as before.

The plugin reads and writes the same per-session ModelDirectory the native ModelSelect and /model popup consume, so every entry surface stays consistent: select a model in the composer picker, and the /model command in the chat shows the same selection; change effort here, and the trigger label updates to show it.

No source code of DSH is modified — the plugin composes a new occupant for the conversation.input.model slot, which DSH was designed to allow.

Install

dsh plugin --profile web add link:/path/to/dsh-model-picker-search

Then restart dsh web (or refresh the page so the new bundle is picked up).

How it works

  • Client (lib/client.js): registers a single occupant for the conversation.input.model slot. The component renders:
    • a trigger button matching the native _7KE1Ra_trigger look (label + optional effort caption + chevron that rotates 180° when open);
    • a two-pane menu (Model / Effort) styled with the same theme tokens as the shipped menu;
    • on the Model pane, a <input type="text"> at the top that filters the model list as the user types;
    • on the Effort pane, the list of reasoning effort levels for the current model, plus a "Provider default" option when the model declares no default.
  • Host (lib/index.js): two harness.handle RPCs.
    • model-search/list returns { groups, flat } where each group carries its advertised models. Built from ctx.llm.listProviders() and ctx.llm.listModels(provider). Provider listModels failures are caught so one broken provider doesn't drop the whole list.
    • model-search/select is an acknowledgement only — the actual selection is applied by the client half through the per-session ModelDirectory it shares with the native ModelSelect, so no host-side state is duplicated.

The injected ModelDirectory (ctx.modelDirectories.directoryFor(sessionId)) is the same instance the native seat uses, which is what makes the two entry surfaces share their state.

UX details

  • Auto-focus. The search input is focused as soon as the Model pane opens, so the user can start typing without an extra click. The focus call uses requestAnimationFrame to ensure the input is fully mounted and focus({ preventScroll: true }) to avoid pushing the page.
  • Back button. Each sub-pane has a "‹ Back" button that returns to the root pane, matching the native two-level menu.
  • Outside click. Clicking outside the menu closes it and resets the query. ESC and the chevron toggle behave like the native picker.
  • Effort preservation. When you pick a model, the plugin preserves the current reasoningEffort if it's still valid for the new model (matches the way the native seat handles it).

Compatibility

  • DSH 0.1.0-rc.8 or newer (uses the dsh.client package metadata, ctx.modelDirectories, and the conversation.input.model slot).
  • Themes: all colors and spacing come from DSH theme tokens (--dsw-alias-*, --dsw-specific-menu, --dsw-shadow-lv3, --dsw-alias-scrollbar-bg-l2), so it follows light/dark and the brand overrides.

License

MIT.