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 or models.dev data.
  • models.dev enrichment: You can enable enrichFromModelsDev in the configuration to fetch public reasoning capability data from models.dev.

Installation and Enablement

After installing the plugin, restart the dsh web process.

dsh plugin --profile web add dsh-adaptive-reasoning

Typical Usage

  1. Install and restart dsh web.
  2. In the model selector, find the existing “Reasoning Level” row and click it to open the slider panel.
  3. For models without declared tiers, click the “Auto-complete” button.
  4. To automatically fill missing data from models.dev at startup, configure cordis.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 developer role, which can cause request failures. Toggle this switch through compat.supportsDeveloperRole in the llm-pi-ai configuration (note: this option is not directly exposed in v0.1.0-rc.7; enabling it may require surgically patching node_modules/@deepseek-ai/dsh-llm-pi-ai/lib/index.js).