Introduction

In the DeepSeek Harness (DSH) Web interface, the “model seat” on the right side of the input box displays a list of models grouped by provider when opened. For intelligent agent developers, when there are many selectable models, scrolling through multiple provider groups to find one is not very direct. dsh-model-search is a plugin for DSH Web that adds a search box at the top of the model switching component. It filters the list by model name / model ID / provider name while preserving official selection behavior and reasoning level selection.

What is this

  • Plugin Name: dsh-model-search
  • Repository: HeathHe/dsh-model-search
  • Maintainer: HeathHe
  • License: MIT
  • Purpose: Adds a search box to the model switching component of the DSH Web GUI to filter the model list within provider groups, without changing the official selection interaction.

GitHub address:

https://github.com/HeathHe/dsh-model-search

Core Features

  • A search box appears at the top after opening the model seat.
  • Search is tokenized by space and is case-insensitive.
  • Matches model name, model ID, and provider name simultaneously.
  • Provider groups with no matches are automatically hidden.
  • Displays “No matching models” when there are no matches.
  • Displays “No available models” when there are truly no models.
  • Pressing / inside the search box jumps directly to the first/last item of the filtered results.
  • Automatically clears the search term after selecting a model.
  • Preserves official reasoning level selection, current item checkmark, loading/error states, and toast interactions.

Installation and Enablement

First, install the plugin:

dsh plugin --profile web add dsh-model-search

After installation, restart dsh web to make the plugin effective:

dsh web

After the steps above, opening the model seat on the right side of the input box will reveal the search box at the top.

If you need to install the @latest version:

dsh plugin --profile web add dsh-model-search@latest

If you want to update to a new version, replace <new version> with the actual version number, then restart dsh web:

dsh plugin --profile web add dsh-model-search@<new version>

If you want to debug using local source code, use link: to point to the local repository path:

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

Typical Usage

  1. Open the model seat on the right side of the input box.
  2. Enter the model name, model ID, or provider name in the search box at the top.
  3. Input is tokenized by space and is case-insensitive.
  4. View the filtered provider groups; provider groups with no matches will be hidden.
  5. If there are no matching models, the interface will display “No matching models”.
  6. Use / in the search box to jump to the first or last item of the filtered results.
  7. After selecting the target model, the search term will be automatically cleared.

Local Rebuild

If the upstream component changes and you need to rebuild the plugin client files, execute:

npm run build

This command actually executes:

node lib/build.mjs

The build generates lib/client.js based on the official model selection component @deepseek-ai/dsh-client-ui-model-selection. After an upstream upgrade, if the patch anchor drifts, the build or adaptation process may require manual adjustment.

Suitable Scenarios and Notes

Suitable for:

  • Quickly locating a specific model in the DSH Web model seat.
  • Narrowing down the candidate list by provider name.
  • Reducing manual scrolling when there are many provider groups.

Notes:

  • This plugin replaces the official model selection component @deepseek-ai/dsh-client-ui-model-selection via cordis.patch.yml, not overlaying enhancements on top of it.
  • If the official component changes after a DeepSeek Harness upgrade, the plugin may become ineffective; at that point, you need to rebuild and update the plugin.
  • lib/client.js is generated by patching from a specific version of @deepseek-ai/dsh-client-ui-model-selection; after an upstream upgrade, the anchor may drift and requires manual adaptation.
  • / in the search box will jump to the first/last item of the filtered results, potentially overriding some of the official original keyboard behaviors.
  • When the model name or provider name contains spaces, searching with space tokenization may produce unintended matches.
  • The license is MIT; lib/client.js is derived from @deepseek-ai/dsh-client-ui-model-selection, see NOTICE / LICENSE for details.
  • The plugin will run with the permissions of the current dsh process. It is recommended to check the source code, dependencies, and license before installation to ensure they meet your usage requirements.

Summary

dsh-model-search solves the search problem in the DSH Web model switching list: after opening the model seat, use the search box at the top to filter by model name / model ID / provider name, while keeping the official selection interaction unchanged.

GitHub:

https://github.com/HeathHe/dsh-model-search

The page URL is not provided in the verified materials. Before installation, you can first verify the repository source code, license, and the dsh plugin --profile web add dsh-model-search command above.