Introduction¶
dsh-model-modes is a DSH plugin for the DeepSeek Harness web composer. It preserves capability-aware reasoning selection within DSH’s official model selector while adding a clear Fast ON/OFF switch to the composer.
This plugin addresses two specific issues: inconsistent Fast / Priority request parameters across different providers; and the fact that Fast should not silently change the model, lower reasoning, or switch to another DSH provider.
What is this¶
dsh-model-modes is maintained by DTSFO, licensed under MIT, with a verified package version of 0.1.3, and requires the following Node engine:
^22.19 || >=24
Repository address:
https://github.com/DTSFO/dsh-model-modes
One-sentence positioning: Provides capability-aware reasoning profiles and provider-native Fast mode for the DeepSeek Harness web composer.
Core Features¶
- Keeps reasoning selection within DSH’s official model selector.
- Expands
reasoningProfiles.provider: '*'to the actualllm-pi-aiprovider containing the exact model id, avoiding hardcodedmyself. - Exposes separate
MaxandUltrachoices forgpt-5.6. - Adds a clearly distinct
Fast ON/OFFswitch in the composer. - Applies the current provider’s native fast/priority request parameters without lowering reasoning, changing the model, or switching the DSH provider.
- Tracks the official per-session
ModelDirectory; unsupported routes are visible and unavailable, and are rejected byHost. - Supports
Max + FastandUltra + Fastcombinations.
The injection of Fast happens at the final llm-pi-ai boundary:
Models.streamSimple()
This injection uses AsyncLocalStorage to isolate concurrent sessions.
The Boundaries of Fast¶
Fast is orthogonal to reasoning. It does not select cheaper reasoning effort, does not select flash / turbo sibling models, and does not switch to another DSH provider.
Capability judgment comes from the live llm-pi-ai route and the actual pi-ai API id of the selected model. Unsupported routes appear as N/A and cannot be enabled.
Account benefits, region capacity, deployment support, fallback, and billing remain provider decisions.
Built-in providers cannot be enabled by assigning a generic OpenAI-style or custom strategy. Unknown or self-hosted compatible gateways default to unsupported and require an exact verified provider/model/API profile.
azure-openai-responses, google-vertex, and amazon-bedrock are explicit opt-in only.
vercel-ai-gateway Fast mode is configured as fast-or-fail:
allowFallbackFromFast: false
It does not silently fallback to Standard.
fireworks exposes request-level Priority using:
service_tier: priority
This is not a *-fast router/model switch.
Built-in Provider Contracts¶
The verified built-in provider contracts cover the following providers:
openai
openai-codex
xai
google
openrouter
minimax / minimax-cn
vercel-ai-gateway
fireworks
azure-openai-responses
google-vertex
amazon-bedrock
Here it indicates that the plugin defines known request contracts for these providers; specific availability is still subject to model, route, deployment, and provider constraints.
Configuration¶
Default contracts are enabled. fastProfiles is additive/override; later exact provider/model/API matchers win.
If you only wish to use explicit profiles, you can disable the default:
- id: dsh-model-modes
config:
includeDefaultFastProfiles: false
The explicit profile fields for Vertex as provided in the verified materials are as follows. Vertex requires explicit configuration because the matcher cannot check endpoint location:
fastProfiles:
- provider: google-vertex
model: gemini-3.7-flash
api: google-vertex
strategy: vertex-priority
The available known strategies are:
openai-fast
openai-codex-fast
service-tier-priority
fireworks-priority
google-priority
vertex-priority
bedrock-priority
openrouter-fast
vercel-gateway-fast
custom
custom is used only for verified gateway-specific contracts. Below is the body / headers structure from a verified example:
fastProfiles:
- provider: your-gateway
model: your-model
api: openai-responses
strategy: custom
body:
acceleration:
tier: turbo
headers:
X-Gateway-Fast: "1"
your-gateway and your-model are placeholder names; configuration must use the exact provider/model/API.
Installation and Usage¶
The verified materials do not provide an official installation command, so no installation command is constructed here. Please review the source code and MIT license via the repository address before using.
This plugin runs with the current dsh process permissions. You should confirm that you accept the plugin’s injection of request parameters at the final llm-pi-ai boundary.
Run information:
name: dsh-model-modes
version: 0.1.3
license: MIT
node: ^22.19 || >=24
repository: https://github.com/DTSFO/dsh-model-modes
Conclusion¶
The value of dsh-model-modes lies in keeping reasoning selection within DSH’s official model selector while extending the composer with provider-native Fast / Priority parameters, and maintaining rejection for routes without precise contracts.
Repository address:
https://github.com/DTSFO/dsh-model-modes