In DSH Web UI, model switching is a high-frequency operation. Manual selection is not only time-consuming but also makes it difficult to quickly check provider balances. The dsh-model-slider plugin integrates directly with sliders and panels to solve model-switching efficiency and usage-monitoring issues.
Plugin Positioning¶
A DSH Web UI model-selector enhancement plugin maintained by ipcjs. Its core value lies in a low/medium/high quick-switch slider, an advanced selector, multimodal icons, and provider usage/balance display.
Core Features¶
-
Three-Tier Quick-Switch Slider
Clicking the model name opens a panel, with a low/medium/high slider at the top. The model and reasoning level for each tier are preset in the configuration file. A single click switches directly (the panel remains open, so you can immediately see the new model and usage). -
Advanced Selection
Below the slider, the original “Model” and “Reasoning Level” entries are retained, allowing you to browse all models just like the native selector. -
Multimodal Icons
Image/video/audio support icons are displayed directly after the model name (not shown for pure-text models). -
Provider Usage
The bottom of the panel displays the current provider’s usage/balance.
* Membership-based providers (e.g., kimi-coding): hover to show weekly quota and 5-hour window details.
* Prepaid providers (e.g., deepseek): shows balance. -
User-Level Configuration
The configuration file is located at~/.dsh/.model-slider.jsonand is shared across all workspaces.
Installation and Activation¶
Use the official plugin command to install:
dsh plugin --profile web install ipcjs/dsh-model-slider
Restart DSH after installation to activate it.
Configuration¶
The configuration file is located at ~/.dsh/.model-slider.json. If this file does not exist, the plugin uses built-in defaults and does not need to be created manually.
Tier Configuration (levels)¶
Defines the three tiers of the slider. Each tier includes provider, model, and an optional reasoningEffort.
id: Unique identifier for the tier.label: Display text (e.g., “Low”, “Medium”, “High”).provider/model: Must match the provider and model names configured in DSH.reasoningEffort: Reasoning level. If omitted, the model’s default value is used.- If an unavailable model or reasoning level is configured, clicking that tier will show an error.
Usage Query Configuration (usage)¶
Configures usage-query endpoints for each provider.
kind:membership: Membership quota. Parsesusage.{limit,remaining,resetTime}andlimits[]windows.prepaid: Prepaid balance. Parsesbalance_infos[0].{total_balance,currency}.
endpoint: Query endpoint address. An empty string means no query is performed (displays “Unavailable”).
API Key Security: The plugin reads the API Key from DSH’s credentials service (apiKeyEnv configured in settings.yaml) and does not hardcode it or write it to this configuration file.
Compatibility and Dependencies¶
- Runtime Environment: DSH Web GUI (
dsh web). - Plugin Type: Server-side static plugin. It is loaded automatically when DSH starts and does not require dynamic plugin approval.
- Dependent Services: DSH’s built-in
conversation.input.modelslot andmodelDirectoriesservice.
Access and Catalog¶
- GitHub Repository: https://github.com/ipcjs/dsh-model-slider
- Plugin Catalog: https://www.skillhub.cn/plugins/ipcjs/dsh-model-slider