Skip to content
dsh.fish
Bundle

dsh-model-picker-search

Model picker with search and provider filters for DeepSeek Harness — replaces the composer model menu with a searchable, provider-filterable list.

Source
imdeniil
License
MIT
Updated
Updated 2 days ago

Readme

# dsh-model-picker-search

Улучшенный выбор модели для [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) и [DSH Desktop](https://github.com/anywhere-labs/deepseek-harness-desktop): в меню выбора модели появляются **поисковая строка** и **фильтры по провайдеру**.

English summary: a model picker upgrade for DeepSeek Harness — adds a search box and provider filter chips to the composer's model menu. If your catalog has hundreds of models (OpenRouter and other multi-model providers), you no longer scroll through them all: type a few letters or click a provider chip.

## Что добавляется

Штатное меню «Модель / Размышления» заменяется расширенной версией:

- **Поиск** — фильтрует модели по названию, ID, описанию и провайдеру (без учёта регистра), поле получает фокус автоматически при открытии; Esc очищает запрос
- **Фильтр по провайдеру** — чипы со списком провайдеров каталога («Все» + по одному на провайдера); чип можно снять повторным кликом
- **Счётчик результатов** — «Моделей: 21 из 278» при активном фильтре, ID модели показывается рядом с названием
- **Адаптивная высота** — меню никогда не выходит за границы экрана: высота ограничивается доступным местом над полем ввода, списки прокручиваются внутри, ряд чипов провайдеров сворачивается в свою прокрутку
- Поведение выбора модели/уровня размышлений полностью сохранено (тот же сервис `modelDirectories`, тот же путь записи)

## Как это работает

Плагин регистрирует свою версию компонента в слот `conversation.input.model` с приоритетом −1: по правилам слотов DSH рендерится запись с наименьшим приоритетом, поэтому расширенное меню перекрывает штатное. Данные и выбор модели идут через тот же официальный per-session каталог моделей. Если компонент упадёт при рендере, слот автоматически «откажется» от него и вернётся штатное меню — сломать интерфейс плагин не может.

Локализация: встроенные словари **ru / en / zh**.

## Установка

```bash
dsh plugin --profile web add github:imdeniil/dsh-model-picker-search
dsh plugin --profile desktop add github:imdeniil/dsh-model-picker-search   # для DSH Desktop
```

После установки перезапустите приложение (или `dsh web`).

## Состав

- `lib/client.js` — клиентский плагин: React-компонент, стили, словари, регистрация в слот
- `lib/index.js` — пустая хост-часть (плагин полностью клиентский, переиспользует официальные сервисы)
- `cordis.patch.yml` — слой композиции

## Лицензия

MIT

Install

dsh plugin --profile web add github:imdeniil/dsh-model-picker-search#6a855feefb7095b1b8e8c1742feea8d45003a40d

Profile: web

Source