Notched reasoning-effort slider grouped with the model picker in the composer, with theme variables and English, French and Chinese labels.
Install
# from npm (prebuilt)
dsh plugin --profile web add plugin-effort-slider
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:mrSutivu/plugin-effort-slider
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
English | 中文
A reasoning-effort slider for DeepSeek Harness (DSH) that lives in the composer. Codex and Claude Code have one. DSH didn't, so I built it. One pill holds the model picker and the slider, right where you type.

| Dark | Light |
|---|---|
![]() |
![]() |
Features
- One pill for model and effort. Picker and slider share one bordered pill with a separator between them. The slider sits right of the model name.
- The model list skips the submenu. One click shows every provider and model. Effort stays on the slider and nowhere else.
- Notches instead of a smooth drag. Each notch is a real effort level from the model, usually two to seven. Drag it, or focus it and use the arrows, Home, End. Screen readers get a real slider role.
- A little show at the top notch. Max effort turns the bar into a moving gradient, a nod to DSH's own "Deep diving..." shimmer. It stays still when you prefer reduced motion.
- It follows your theme. Every color comes from DSH variables, with one accent shared with the send button. Light, dark, future theme plugins, it all carries over.
- It speaks your language. Labels follow the DSH locale in English, French and Chinese. Model and effort names stay exactly as the model sends them.
- The context ring gets out of the way. While the pill is up, the ring moves to the end of the stats row instead of crowding the send button.
- A taller prompt box. About two lines, same as the DSH hero input.
- Nothing lives in core. The plugin is one folder. Delete it and DSH forgets it was there.
Requirements
DSH with the web profile, and a model that exposes reasoning efforts. No effort levels, no slider. Anything with low / medium / high works.
Compatibility and permissions
Needs the web profile (composer slots, model directory, locale). Pure client UI. No host permissions, no credentials, no network calls, no external services. Runs wherever the web profile runs. Tested on DSH 0.1.2-alpha. Limitation: the pill only shows for models exposing reasoning efforts.
Install
From GitHub, no npm account needed:
dsh plugin --profile web add github:mrSutivu/plugin-effort-slider
Or clone it first:
git clone https://github.com/mrSutivu/plugin-effort-slider.git
dsh plugin --profile web add ./plugin-effort-slider
Then restart the web profile once with dsh web and refresh the page. Later client-only edits apply on a plain refresh.
From npm:
dsh plugin --profile web add plugin-effort-slider
Usage
- Pick a reasoning model in the pill.
- Drag the slider and let go. It applies on release.
- Push it to the top notch for the gradient.
If the model has no reasoning levels, the pill hides and the stock DSH selector is back.
Theming
Everything runs off one accent, var(--dsw-alias-button-info-fill), the send button fill. A theme plugin that redefines it recolors the slider, the notches, the max gradient and the checkmark. Nothing else to touch.
i18n
Strings live under the effort-slider locale namespace in English, French and Chinese. To add your language, register dictionaries for that namespace and open a PR. locale.addLanguage covers you if the language pack itself is missing.
Uninstall
dsh plugin --profile web remove plugin-effort-slider
Restart dsh web once. The pill, the styles, the meter move and the prompt height all revert.
Dev
No build. Edit lib/client.js and refresh. lib/index.js is an empty host entry. The bundle layer wants one, so it gets one.
Contributing
Issues and PRs welcome. New locale dictionaries make the easiest first contribution. Theme edge cases and provider quirks matter most, since effort counts differ per model.
Support
Free forever, MIT. If the slider saves you clicks every day, a coffee keeps it maintained:
GitHub Sponsors works too, once onboarding clears: github.com/sponsors/mrSutivu.
License
MIT © Sutivu
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-task-board★ 7488
Task board for the dsh web GUI: a sidebar multi-column kanban whose cards run in real DSH agent sessions and can also be scheduled with cron expressions, executed host-side even with the browser closed.
zhu1090093659/dsh-web#packages/dsh-web-all★ 7488
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
omdsh-dev/DSH-better-sidebar★ 3555
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
ccch1mneyyy/dsh-TUI★ 2994
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 2274
A fixed-corner whale widget showing DeepSeek balance, today usage, per-turn cost and random talk lines, with sound effects and a menu.
Devin-AXIS/deepseek-design#deepseek-idesign★ 1072
Visual design studio for websites, app prototypes, posters, cards, reports, and magazines, with templates, direct element editing, selection-aware AI draft handoff, and export.


Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.