Introduction¶
When integrating a custom model provider into DSH’s Web GUI, model specifications often require configuration item by item: contextWindow, maxTokens, multimodal input, and reasoningEfforts. If these fields are missing, model selection, context limits, image input, and thinking intensity levels may be incomplete.
Below is an introduction to dsh-plugin-custom-provider-enhancer. It is a DeepSeek Harness / Cordis plugin designed for custom model providers that automatically fills in the above parameters when models are discovered or saved in the Web GUI.
What is this¶
- Plugin Name:
cinob/dsh-plugin-custom-provider-enhancer - Maintainer:
cinob - License: MIT
- Positioning: A Profile Bundle for DSH / Cordis that automatically populates model specifications when adding a custom provider in the Web GUI.
Core Features¶
- Automatically works when adding a custom provider, querying the model database and filling in model specifications.
- Automatically fills in
contextWindowandmaxTokens. - Automatically enables multimodal visual input:
input: [text, image], for image upload and visual reasoning. - Automatically injects Deep Thinking / Reasoning intensity levels:
off,low,medium,high,max. - Only affects custom third-party providers and does not modify the native DeepSeek channel.
- Writes to
settings.yamlupon saving and patches existing placeholder models in memory. - Includes built-in definitions for 30+ core models, local caching, timeout circuit breaking, and fuzzy matching for models with date snapshots.
Installation and Activation¶
The installation command is as follows:
dsh plugin --profile web add github:cinob/dsh-plugin-custom-provider-enhancer
After installation as a Profile Bundle, it is automatically mounted and activated; no manual insertion of custom-provider-enhancer in profiles/web/cordis.patch.yml is required.
Compatible environments:
- DSH:
0.1.0-rc.1~mainline - Cordis:
^3.0.0 - Node.js:
^20.0.0 || ^22.0.0 || >=24.0.0 - OS: Linux, macOS, Windows
Typical Usage¶
- Start the DSH Web GUI:
dsh web
- Go to Settings ➔ Models ➔ Add Provider.
- Enter the Base URL and API Key, then click Fetch available models.
- Select the target model and click Adopt, then click Save.
- After saving, the documentation states that model specifications are written to
settings.yaml, and existing placeholder models in memory are patched.
Optional Configuration¶
The optional configuration path is as follows:
$DSH_HOME/profiles/web/cordis.patch.yml
Listed optional configuration items:
metadataUrl
openrouterMetadataUrl
timeoutMs
cacheTtlMs
defaultContextWindow
defaultMaxTokens
Use Cases and Notes¶
- Suitable for users who want to integrate custom third-party model providers via the DSH Web GUI.
- The plugin only affects custom third-party providers and does not modify the native DeepSeek channel.
- The plugin runs in-process via Cordis service hooks; the documentation states it does not create child processes or perform arbitrary file modifications.
- Network access is limited to user-specified custom endpoints
GET /modelsand public model specification databases; the documentation mentionsgithub.com/BerriAI/litellmandopenrouter.ai/api/v1/models. - Regarding credentials, the documentation states that API Keys are only passed via standard authorization headers and are not logged, forwarded, or stored.
- The plugin runs with the permissions of the current
dshprocess. Before installation, you should check the source code, license, and configuration items to ensure they meet local security requirements.
Uninstallation¶
The uninstallation command is as follows:
dsh plugin --profile web remove dsh-plugin-custom-provider-enhancer
Conclusion¶
The value of this plugin lies in reducing repetitive configuration for custom providers: after installation, fields such as context, output limits, visual input, and reasoning intensity are automatically filled in when fetching models in the Web GUI.
GitHub: https://github.com/cinob/dsh-plugin-custom-provider-enhancer
The community directory page URL was not confirmed in this documentation, so you can use the GitHub address above directly.