Preface¶
The built-in model selector in DeepSeek Harness Web typically exposes reasoning effort levels (such as Off/Low/High/Max) through a two-level menu. Switching these settings within the input flow usually requires clicking the UI, which interrupts the keyboard flow. The dsh-reasoning plugin exposes this data via a command-line command, enabling quick switching without using a mouse.
Plugin Introduction¶
This is a Codex-style /reasoning command plugin. It registers a popup selector that allows users to choose the reasoning effort level for the model in the current session. This is a client-side-only plugin and does not rely on persistent configuration or settings pages.
Core Features¶
- Keyboard-driven: Switch reasoning effort levels without a mouse.
- Command integration: Registered via the
/reasoningcommand. - Session consistency: Submits the selection through
ctx.modelDirectories, consistent with standard model selection behavior. - Precise control: Applies only to the selected model; rejected selections retain the previous setting and display an error.
Installation and Enablement¶
Use the official command to add the plugin to the Web configuration file:
dsh plugin --profile <profile> add @bo_wu/dsh-reasoning
Or reference it in cordis.patch.yml:
- insert:
- id: dsh-reasoning
name: '@bo_wu/dsh-reasoning'
After installation, restart the Web host associated with the profile.
Usage¶
- Enter
/reasoningin the input box and press Enter. - Select a reasoning effort level from the popup list (Off / Low / High / Max).
- After selection, the plugin submits the choice for use in the next model request.
Use the following shortcut sequence for quick switching:
/reasoning → Enter → ↑↓ (select) → Enter
Limitations and Requirements¶
- Host requirement: The DSH Web host must expose the
model-directoryservice and thecommandUiextension point (the official Web package includes these). - Session requirement: A standard session with a model selected must be open. The model adapter must expose reasoning metadata.
- Session isolation: The command is hidden from explicitly mentioned subagent sessions (the same behavior as
/model). - No conflicts: The plugin does not define global keyboard shortcuts, avoiding conflicts with other plugins.
- Security: It never touches drafts, IME editor input, or in-progress requests; the selection applies only to the next model request.
Conclusion¶
This plugin simplifies interaction with DSH hosts by providing direct access to reasoning effort settings within the input flow. It improves efficiency for keyboard users by minimizing UI operations.