dsh-effort-menu
IdentifiedReplaces the composer model menu with a recent-models list, an all-providers flyout and a draggable reasoning-effort slider; a Manage models row at the bottom of the flyout opens the Models settings d
dsh-effort-menu
A replacement model menu for the DeepSeek Harness composer: pick a model and set its reasoning effort in the same popup.
English | 简体中文
In the shipped menu, effort lives in a submenu: after switching models, the "Effort" row opens a second list with Default, Low, High and Max. Following zcode's approach, this plugin puts the levels on a slider at the bottom of the menu instead. The slider has one node per level the current model supports, so the effort can be dragged right after picking a model.
The three most recent models sit at the top, and hovering the provider row opens every model in a flyout. Reads and writes go through the shipped per-session model directory, so the native selector and the /model popup share the same state.
Screenshots
The model menu, with the reasoning-effort slider at the bottom.
| Light | Dark |
|---|---|
![]() | ![]() |
Hovering the provider row opens a flyout with every provider's models.
Features
- The current level carries over on a model switch; if the new model lacks it, its highest level is used.
- A model without its own default gets a leading "Default" node that leaves the choice to the provider.
- A model list that fails to load is reported in the menu with a retry button.
- Keyboard support. Arrow keys move between items and adjust the slider,
Esccloses the menu. - Follows the app's light and dark themes; interface text in English and Chinese.
Install
Requires DSH 0.2.2-rc.1 or newer, with a build that ships the dsh-client-ui-conversation, dsh-client-ui-model-selection and dsh-client-locale client packages (see Compatibility).
Web
With a CLI-managed profile, one command installs it into web.
dsh plugin --profile web add dsh-effort-menu
There is no build step. The browser half is the committed client.js. Restart dsh web, or reload the page.
Desktop
The desktop profile is managed by the app. Fully quit the app before using the CLI, or keep it running and install the checkout directory through Plugin Manager.
# CLI install, with the desktop app fully quit
dsh plugin --profile desktop add dsh-effort-menu
# Or clone it and point Plugin Manager at the directory
git clone https://github.com/xuanfenglajiao/dsh-effort-menu.git
Restart the app after installing.
Manual
If you would rather not use the CLI, edit the profile's own package.json.
Web profile. Edit ~/.dsh/profiles/web/package.json and add the package to dependencies.
"dependencies": {
"dsh-effort-menu": "^1.0.0"
}
Then append it to the dsh.profile.bundles array.
"bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-effort-menu"]
Run pnpm install in that directory and restart dsh web.
Desktop profile. Edit ~/.dsh/profiles/desktop/package.json and add the same entry to dependencies only. The desktop profile does not list plugins in bundles.
"dependencies": {
"dsh-effort-menu": "^1.0.0"
}
Run pnpm install and restart the app.
Uninstall with dsh plugin --profile web remove dsh-effort-menu, or remove it in Plugin Manager on the desktop app.
Compatibility
- Supports DSH
0.2.2-rc.1and newer. Developed and tested on DeepSeek Harness Desktop 44.7.0 (DSH0.2.2-rc.1) on Windows 11; earlier DSH versions are not supported. - The current model must expose
reasoning.effortsfor the slider to have anything to show. Otherwise the menu says the model provides no levels. - Renders nothing in subagent sessions.
Known limitations
- One occupant of the model slot. The plugin takes over the single slot
conversation.input.modelat priority-1, shadowing the shipped selector. Another plugin that replaces the same slot competes for it, so install only one. Plugins that restyle the shipped selector from outside may not apply to this menu. - The model label sub-slot is not extensible.
conversation.input.model.labelis declared by the shipped model-selection package, and a second declaration makes the whole client entry fail to load. This plugin therefore renders model names itself, and labels that other plugins contribute to that sub-slot do not appear here. - No automated tests yet. Changes are checked by hand in a running app.
Comments
Loading…
Similar plugins
by Gorkaseto
A plugin for DeepSeek Harness (DSH) that enables effort choice in custom providers and replaces the standard "Effort" menu item with an intuitive, sticky effort slider directly inside the composer model menu.
★ 0
Apache-2.0
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-effort-pickerby honoriomelo
DSH Web GUI plugin: adds a live search field inside the model picker menu of the composer, plus the Effort (reasoning) selector. Drop-in replacement for the native model seat, sharing the same per-ses
★ 0
MIT
JavaScript
Oct 31, 2026
dsh plugin --profile web add dsh-model-picker-searchby DC1024
DSH plugin: sync model-catalog reasoning levels (reasoningEfforts) from what the provider advertises on /v1/models — sync_reasoning_levels tool plus a one-click button in the Models settings page.
★ 0
MIT
JavaScript
Oct 17, 2026
dsh plugin --profile web add dsh-effort-syncby TikaFlow
Auto-fills reasoning-efforts, context windows, output limits and image modality for models from unofficial (custom) providers, with data from models.dev. Also provides setting cards to control plugin'
★ 23
MIT
TypeScript
Nov 6, 2026
dsh plugin --profile web add dsh-model-fixReasoning-effort slider in the model menu for DeepSeek Harness that also appears for providers and models with no declared effort metadata. Based on Microqian2th/dsh-codex-effort-slider — uninstall th
★ 0
dsh plugin --profile web add dsh-effort-slider-universalby ZRAZN
该仓库暂未提供项目说明。
★ 1
BSD-3-Clause
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-effort-slider-split-seat
