Bundle
dsh-model-preset
DeepSeek Harness plugin with two default model-and-reasoning shortcuts above the composer and optional Settings customization.
- Source
- kaixinbaba
- stars
- 2 stars
- License
- MIT
- Updated
- Updated 10 days ago
Readme
# dsh-model-preset
`dsh-model-preset` adds two default flat shortcut buttons in a full-width row above the DSH composer card. Settings can add a third button. Each button selects one complete `provider + model + reasoningEffort` combination in the current conversation.
It is **not** an Agent preset. It does not change Code Mode, Creator Mode, tools, prompts, permissions, personas, or the agent composition.
## Installation
Install it into a DSH Web profile with:
```bash
dsh plugin --profile <profile> add dsh-model-preset
```
The package contributes both the Host plugin and its Web client bundle. Start or restart that profile's Web host after installation, then open **Settings → Plugins → 模型预设** to customize the buttons.
## Configuration
Add the package to a Web profile and include its patch, or copy the row from `cordis.patch.yml` into your own composition. This is the composition default:
```yaml
- 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
```
`presets` accepts zero to three entries. `label`, `color`, `provider`, and `model` are required. `color` must be a six-digit `#RRGGBB` value. Omit `reasoningEffort` to preserve the provider/model default; otherwise use the effort id advertised by that model's catalog.
## Settings editor
After the plugin is loaded, open **Settings → Plugins → 模型预设**. The editor can add or remove buttons and change every field, including the native color picker; it supports up to three buttons. Saving writes `$DSH_HOME/model-preset.json`, updates the current page immediately, and persists across restarts. A saved user configuration overrides the composition default; remove that file to return to the patch defaults.
## Behavior
- Buttons preserve configuration order and use the configured label and accent color.
- The active button is derived from the effective current selection, including the resolved reasoning effort.
- A click calls the same per-session model directory used by the built-in model picker.
- A selection applies to the current conversation's next model request; an in-flight request is not rewritten.
- Addressed subagent sessions do not render these controls.
- A rejected selection leaves the previous selection in place and shows a compact failure status.
- The host serves configuration through same-origin `GET` and `POST /dsh-model-preset/config` routes.
## Model Experience
The plugin changes only the user-facing composer controls. It does not add model-visible prompt text, tools, events, or durable session data. The selected model and reasoning effort are still recorded and applied through the existing DSH model-selection path.
## Known Limitations and Deferred Work
- A preset is not checked against the model catalog until the user selects it, so a stale model or effort id reports the host rejection at click time.
- The current Web host must expose the model-selection service and the `conversation.input.dock` and `settings.plugins.tab` slots; the plugin is intentionally Web-only.
Install
dsh plugin --profile web add github:kaixinbaba/dsh-model-preset
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-model-preset from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.