dsh-codex-model-picker
Manifest validCodex-style model picker for the DeepSeek Harness composer: draggable reasoning-effort slider, model list, no default stop.
dsh-codex-model-picker
A Codex-style model picker for the DeepSeek Harness composer.
It replaces the composer's model menu with a small card — the reasoning effort on top, the current model below it, and a draggable effort slider at the bottom — the way Codex's model switcher works.
![]()
Screenshot

Features
- Codex-style card anchored above the composer model button, flipping below when there is no room.
- Draggable effort slider with one stop per effort the model actually advertises (
off,minimal,low,medium,high,xhigh,maxwhen advertised). The thumb snaps to whole stops, animates between them, and the effort label updates while you drag, not only after you release. - No provider-default stop. Levels come from the adapter's advertised
reasoning.efforts. A model without a stored effort showsmediumwhen available, otherwise its advertised default (or the middle level), never a synthetic "default" entry. Offstop when the model advertises it; committing it sendsreasoningEffort: "off", which providers like Codex map to "no reasoning".- Model list with provider grouping, the current selection, badges, loading and error states, and keyboard navigation.
- Full keyboard support: arrows move one stop,
Home/Endjump to the ends,Escapecloses and returns focus. - Theme-aware: every color, radius and shadow comes from DSH theme tokens, light and dark.
- Chinese and English UI.
Requirements
- DeepSeek Harness
0.2.2-rc.1or newer (the client slot API it shadows was stabilized in this line). - A web profile (
dsh webor the desktop app).
Install
dsh plugin --profile web add github:caidows/dsh-codex-model-picker
Then reload the page. The plugin registers a client slot occupant at priority -1 on conversation.input.model, shadowing the shipped picker; disabling or removing the plugin restores the stock picker with no state left behind.
To install from a checkout, point dsh plugin add at the package directory instead.
How it works
cordis.patch.yml inserts one row, codex-model-picker, which loads the client bundle in client.js. The bundle renders into the composer's model slot and reads the same per-session model directory (ctx.modelDirectories.directoryFor(sessionId)) the shipped picker uses, so model switches and effort switches go through session.selectModel and stay in sync with the rest of the UI.
view.js and style.css are the sources; client.js is generated:
node build.mjs
License
MIT
Comments
Loading…
Similar plugins
Codex-style reasoning-effort slider for the DeepSeek Harness composer
★ 0
MIT
JavaScript
dsh plugin --profile web add dsh-thinking-sliderby qjcnmd
Codex-style reasoning-effort slider embedded in the model selector.
★ 13
MIT
JavaScript
Oct 18, 2026
dsh plugin --profile web add reasoning-sliderby Mu-scorpio
Configures provider and model reasoning-effort mappings for DeepSeek Harness, with a grouped model picker and composer slider.
★ 9
↓ 633/wk
MIT
TypeScript
Sep 15, 2026
dsh plugin --profile web add dsh-reasoning-effortby edwardzhou21
DSH 插件 · 仿 Codex 的推理等级滑条,内嵌在模型选择器里 | Codex-style reasoning-effort slider embedded in the DSH model selector
★ 3
↓ 341/wk
MIT
JavaScript
Oct 3, 2026
dsh plugin --profile web add reasoning-sliderby 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 Ayowait
Official-style model + reasoning-effort control for the DeepSeek Harness composer: Off/Low/High/Max.
★ 0
MIT
JavaScript
Oct 24, 2026
dsh plugin --profile web add dsh-official-reasoning-effort