DeepSeek Harness Web GUI provides a model selection feature, but reasoning effort tiers are often hidden deep in configuration or hard to adjust intuitively. The dsh-adaptive-reasoning plugin adds an interaction layer for this: it retains the official model selector and invokes a stepless slider panel by clicking the “Reasoning Level” row. The plugin reads the exact reasoning metadata of the Host-side model and writes the selection through the standard session.selectModel RPC, without breaking the existing model switching and error handling logic.
Plugin Positioning¶
This is a capability-aware reasoning tier slider plugin for DeepSeek Harness Web GUI, maintained by user zhuifengqug and licensed under the MIT License.
Core Features¶
- Capability-aware slider: It only reads the current model’s declared
reasoning.efforts; it does not generate a global list. It supports sparse or vendor-specific tier identifiers (for example,off,high,max). - Stepless dragging and snapping: Supports continuous dragging from 0 to 100 and writes in real time with 16ms throttling. When the mouse is released or focus is lost, it automatically snaps to the nearest declared tier.
- Visual presentation: Uses WebGL2 to simulate a pixel-art flame effect, with different tiers corresponding to different ember palettes. If WebGL2 is unavailable or the device has “reduce motion” enabled, it falls back to a static energy block.
- Auto-completion: For models that do not declare
reasoningEfforts, the panel provides an “Auto-complete” button that populates tiers based on model-family heuristics ormodels.devdata. - models.dev enrichment: You can enable
enrichFromModelsDevin the configuration to fetch public reasoning capability data frommodels.dev.
Installation and Enablement¶
After installing the plugin, restart the dsh web process.
dsh plugin --profile web add dsh-adaptive-reasoning
Typical Usage¶
- Install and restart
dsh web. - In the model selector, find the existing “Reasoning Level” row and click it to open the slider panel.
- For models without declared tiers, click the “Auto-complete” button.
- To automatically fill missing data from
models.devat startup, configurecordis.patch.yml:
- replace:
- id: adaptive-reasoning
name: dsh-adaptive-reasoning
config:
enrichFromModelsDev: true
cacheHours: 24
Notes¶
- Host authority: The UI only displays data in
session.models; it does not interpret value spelling, silently correct, or map tier values. Whether the selection takes effect is ultimately determined by the Host. - Custom Relay compatibility: Some custom Relays do not support OpenAI’s
developerrole, which can cause request failures. Toggle this switch throughcompat.supportsDeveloperRolein thellm-pi-aiconfiguration (note: this option is not directly exposed in v0.1.0-rc.7; enabling it may require surgically patchingnode_modules/@deepseek-ai/dsh-llm-pi-ai/lib/index.js).