In the DeepSeek Harness (DSH) Web interface, when the model list is long, manually locating a target model requires scanning row by row, which is inefficient. This plugin replaces the native ModelSelect component to introduce a real-time search field in the model selector while preserving the Effort (reasoning intensity) selector.

Maintained by honoriomelo, the plugin aims to improve the usability of the DSH Web GUI while remaining compatible with native functionality.

Core Features

  1. Real-time search filtering
    The plugin adds an <input type="text"> field at the top of the Model panel. After the menu is opened, the input field automatically receives focus. The list is filtered in real time based on the entered text. Matching rules include model ID, model name, and provider name, and are case-insensitive.

  2. Preserved Effort selector
    The plugin preserves the native ModelSelect two-level submenu structure (Model / Effort). After selecting an Effort-capable model, you can still enter the second-level menu to adjust reasoning intensity. After selecting an Effort option, the trigger label updates to display the current intensity setting.

  3. State consistency
    The plugin reads from and writes to the per-session ModelDirectory shared by the native ModelSelect. This means that when a model is selected in the Composer plugin, the same model is displayed in the /model command dialog; when Effort is changed in the plugin, the change is also synchronized in the /model command.

  4. Interaction details

    • Auto-focus: The search field automatically receives focus when the Model panel is opened, allowing users to start typing immediately.
    • Navigation controls: A “Back” button returns to the root menu, clicking outside closes the menu, and the ESC key and expansion arrows toggle the menu state.

Installation and Activation

Install the plugin using the official CLI:

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

After installation is complete, restart the dsh web service or refresh the browser page, and the new component will take effect.

Typical Usage

  1. Click the Model button in Composer.
  2. After the menu opens, enter a keyword directly in the top input field (for example, part of a model name or a provider name).
  3. The list updates in real time as you type, helping you locate the target model.
  4. After clicking a model, if you need to adjust reasoning intensity, click the arrow next to the model name to enter the second-level menu and make a selection.

Notes

  • Version requirement: This plugin requires DSH 0.1.0-rc.8 or a newer version to run.
  • No source modification: The plugin does not modify DSH source code; instead, it injects components that reuse DSH’s ModelDirectory mechanism and theme tokens.
  • Compatibility: All colors and spacing are derived from DSH theme tokens, so they automatically adapt to Light/Dark themes and brand overrides.

By injecting new components into the plugin-level Composer input slot, this plugin solves the problem of searching through long model lists without breaking the existing architecture. For more details, see its GitHub repository or community catalog.