Preface¶
DeepSeek Harness (DSH) uses a plugin-based architecture. When using the OpenRouter channel, although the DSH session statistics line displays the configured route (for example openrouter/deepseek-v4-flash-0731), OpenRouter actually dispatches requests to different upstream providers (such as StreamLake, DeepInfra, Novita, etc.) based on load and policies.
The native DSH panel cannot display this dynamically selected provider information. dsh-openrouter-provider-badge is a pure client-side plugin that, through patching and configuration injection, renders the metadata returned by OpenRouter above the statistics line of each conversation turn.
Core Features¶
- Display the actual provider: Shows the actual provider selected by OpenRouter above the session statistics line.
- Pure client-side operation: The server side only acts as a skeleton, while the core logic is rendered on the client side.
- Silent degradation: If not configured, the patch is not effective, or the API key quota is denied, the plugin fails silently without affecting the normal operation of the session.
Installation and Configuration¶
This plugin requires three configuration steps to take effect: installing the plugin, running the patch script, and configuring the request header.
1. Install the Plugin¶
Use the official install command to add the plugin to the web profile:
dsh plugin --profile web add /path/to/dsh-openrouter-provider-badge
2. Run the Patch Script¶
The default DSH configuration layer discards OpenRouter provider metadata. You must run the patch.sh script to patch node_modules. This script automatically selects the corresponding patch directory based on the version of dsh-llm-pi-ai.
bash patch.sh
Note: The patch only modifies
node_modulesartifacts. After upgrading DSH, the patch will be overwritten, and you need to run this script again.
3. Configure the Request Header¶
Edit ~/.dsh/settings.yaml (Windows: C:\Users\<you>\.dsh\settings.yaml) and add the X-OpenRouter-Metadata: enabled request header to the openrouter provider configuration.
llm-pi-ai:
providers:
openrouter:
apiKeyEnv: OPENROUTER_API_KEY
headers:
X-OpenRouter-Metadata: enabled
models:
- id: deepseek/deepseek-v4-flash-0731
name: "DeepSeek: DeepSeek V4 Flash 0731"
contextWindow: 1048576
maxTokens: 384000
4. Restart the Service¶
After restarting the DSH service, refresh the web page and send one OpenRouter request. You will see the provider badge above the statistics line.
Differences from Other Plugins¶
There are other plugins in the DSH ecosystem that display provider information, but they focus on different aspects:
| Plugin | Displayed Content | Difference Description |
|---|---|---|
| dsh-chat-tweaks / dsh-plugin-model-provider-readout | Configured Provider display name | Displays the static Provider name configured in settings.yaml |
| dsh-openrouter-provider-badge | Actual OpenRouter provider | Displays the upstream provider dynamically selected by OpenRouter (such as StreamLake, etc.) |
In one sentence: other plugins tell you “who is configured”, while this plugin tells you “who is actually serving this request”.
Maintenance Status and Compatibility¶
- Maintenance has been stopped: The plugin stopped receiving updates on 2026-09-10, and
v0.1.2is the final version. The author stopped maintenance because they no longer use the OpenRouter channel (API price cuts); if future DSH upgrades cause incompatibility, the author will no longer adapt to them. - Version compatibility: Supports DSH
0.1.1-rc.2/0.1.5-rc.1and later versions. - Scope: Only applies to the OpenRouter channel.
Summary¶
This plugin addresses the need to observe the actual routing destination of OpenRouter in DSH. Because maintenance has been stopped, if long-term use is required, you must maintain it yourself or confirm the compatibility between the current DSH version and the plugin version.