When using DeepSeek Harness (DSH) with multiple providers, the native model selector often makes it difficult to quickly locate the target model. The dsh-model-picker-plus plugin replaces the native component and provides a more efficient model selection experience.

Features

  • Provider Grouping: Groups models by provider, collapsed by default, and only expands the group containing the current model.
  • Search Support: Supports searching by provider, model name, model ID, and description.
  • Favorites and History: Supports favoriting models and viewing recently used models.
  • Native Compatibility: Preserves DSH’s native thinking strength (reasoning effort) selection.
  • Capability Tags: Displays capability tags for Free / Vision / Omni / Reasoning / Tools.
  • Filtering: Supports filtering by capability (All / Free / Vision / Reasoning / Tools).
  • Layout Compatibility: The container footprint matches the native selector (block container, min-width: 0), so it does not squeeze other plugins to the right of the chat input area.

Installation

Recommended to install from npm:

dsh plugin --profile desktop add dsh-model-picker-plus

Rollback

After disabling or uninstalling this plugin, DSH’s native model selector is restored:

dsh plugin --profile desktop remove dsh-model-picker-plus

Development and Architecture

This plugin is a pure client-side plugin with no build step. client.js is registered through __ModuleLoader__.load, and cordis.patch.yml declares the slot injection point.

The plugin is completely independent and does not read any data from other plugins (such as dsh-model-hub); it relies only on DSH’s own directory and session services. It reuses DSH’s modelDirectories and sessions.selectModel, and does not modify any Provider plugin.

License

MIT License

Repository URL: https://github.com/objectyan/dsh-model-picker-plus