Introduction¶
When developing agents using DSH (DeepSeek Harness), switching models requires confirming three dimensions: provider, model, and reasoning effort. Daily work often involves toggling between two sets of configurations: “Quick Results” and “Deep Reasoning,” requiring the opening of the built-in model selector and re-selection of items every time.
If common combinations could be fixed as buttons, switching would be completed with one click, saving this repetitive operation. The dsh-model-preset introduced below does exactly that.
What is it¶
dsh-model-preset is maintained by kaixinbaba (repository kaixinbaba/dsh-model-preset), licensed under MIT, and is currently at version 0.2.0. It displays a full row of shortcut buttons above the composer card in DSH Web. Each button instantly selects a complete provider + model + reasoningEffort combination for the current session.
DSH’s philosophy is “everything is a plugin,” and this plugin follows the same approach: it does not modify core behavior but only mounts controls into existing slots in the Web interface.
One point to clarify: it is not an Agent preset. It does not change Code Mode, Creator Mode, Tools, Prompts, Permissions, Persona, or agent composition; it only determines “which model to use for the next request.”
Core Features¶
Verified capabilities include:
- Display two default flat shortcut buttons in a full row above the composer card, with a maximum of three configurable in Settings.
- Each button corresponds to a complete
provider + model + reasoningEffortcombination and takes effect in the current session upon clicking. - Buttons maintain the configuration order and use the configured label and accent color; the active button is derived from the current valid selection and includes the parsed reasoning effort.
- Clicking invokes the same per-session model directory as the built-in model selector.
- The selection applies to the next model request in the current session and does not rewrite an ongoing request; rejected selections retain the original choice and display a compact failure status.
- Settings → Plugins → Model Preset provides an editor where you can add/remove buttons and modify all fields, including a native color picker.
- Saves to
$DSH_HOME/model-preset.json, updates the current page immediately, and persists across restarts; user configuration overrides the composition default.
Installation and Usage¶
First, execute the installation command:
dsh plugin --profile <profile> add dsh-model-preset
This command installs the plugin into the specified DSH Web profile; the package also contains the Host plugin and Web client bundle. After installation, start or restart the Web host for that profile, then open Settings → Plugins → Model Preset to see the button editor.
Environment requirements: node >=22.19.0, dsh >=0.1.0-rc.6.
Typical Usage¶
The default composition configuration includes two buttons: “Quick” corresponds to deepseek-official / deepseek-v4-flash / reasoningEffort: high, and “Deep” corresponds to deepseek-official / deepseek-v4-pro / reasoningEffort: high. If you use composition to manage configuration, you can copy the following snippet from the plugin’s cordis.patch.yml and add it to your own composition:
- id: dsh-model-preset
name: 'dsh-model-preset'
config:
presets:
- label: 快速
color: '#2F80ED'
provider: deepseek-official
model: deepseek-v4-flash
reasoningEffort: high
- label: 深度
color: '#9B51E0'
provider: deepseek-official
model: deepseek-v4-pro
reasoningEffort: high
Several configuration rules:
presetsaccepts 0–3 entries.label,color,provider, andmodelare required.colormust be a six-digit#RRGGBBvalue.- Omitting
reasoningEffortretains the provider/model default; otherwise, it uses the effort ID published by that model in the directory.
If you don’t want to modify the configuration file, after installing via the steps above, you can directly add/remove buttons and modify fields in Settings → Plugins → Model Preset, and it takes effect immediately upon saving.
Use Cases and Notes¶
Suitable scenarios: People who frequently switch between a few fixed model combinations on the Web. If the combinations change often, the built-in model selector is sufficient; the value of this plugin lies in hardcoding these fixed combinations.
Please note the following points:
- Limited to Web. The plugin requires the current Web host to expose the model-selection service and the two slots
conversation.input.dockandsettings.plugins.tab; subagent sessions addressed by these controls will not render them. - Presets are only checked against the model directory when the user clicks. If the model or effort ID has expired, the host will reject the request upon clicking, and the original choice is retained.
- Configuration is provided by the Host via the same-origin
GETandPOST /dsh-model-preset/configroutes. - The plugin does not add visible prompts, tools, events, or persistent session data for the model; the selected model and effort are still recorded and applied via the existing DSH model selection path.
- Deleting
$DSH_HOME/model-preset.jsonreverts to the patch default configuration.
Security: The plugin runs with the permissions of the current dsh process; it is recommended to check the source code and license yourself before installation. The project license is MIT.
Summary¶
dsh-model-preset solves a small but specific problem: compressing repetitive model selection operations into a single click. One line command to install, default configuration is ready out of the box, adjustments are made in Settings, and the configuration persists across restarts.
Plugin directory page and repository address:
- Community directory: https://www.skillhub.cn/plugins/kaixinbaba/dsh-model-preset
- GitHub: https://github.com/kaixinbaba/dsh-model-preset
It should be noted that the aforementioned directory is an independent site maintained by the community and has no official affiliation with DeepSeek or Hypothesis.