icekale
dsh-provider-auto
Automatically add reasoning-level controls to compatible DeepSeek Harness provider models
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
dsh-provider-auto
Automatically adds reasoning-effort controls to compatible custom provider models in DeepSeek Harness.
What it does
@deepseek-ai/dsh-llm-pi-ai only shows a reasoning selector when a model declares reasoningEfforts. Custom OpenAI-compatible gateways often return model ids but no capability metadata. This plugin watches the llm-pi-ai settings section and fills the missing declaration for recognized reasoning models.
Defaults:
- Protocols:
openai-completions,openai-responses - Models:
gpt-5*,o1*,o3*,o4*, othero<number>*, andcodex* - Levels:
off,low,medium,high - Exclusions: image, audio, embedding, moderation, and reranking models
- Existing
reasoningEffortsdeclarations are never overwritten
The plugin updates the persisted llm-pi-ai section, so DSH's native model picker and request path remain authoritative.
Install
Install directly from GitHub into the Web profile:
dsh plugin --profile web add github:icekale/dsh-provider-auto
Restart dsh web once after installation. Later provider/model changes are handled live through the settings service.
To remove it:
dsh plugin --profile web remove dsh-provider-auto
Provider configuration
Add providers from the DSH Models page, or edit ~/.dsh/settings.yaml:
llm-pi-ai:
providers:
one2api:
baseURL: https://one2api.top/v1
api: openai-completions
apiKeyEnv: ONE2API_API_KEY
models:
- id: gpt-5.6-sol
name: gpt-5.6-sol
- id: gpt-image-2
name: gpt-image-2
The plugin adds this only to gpt-5.6-sol:
reasoningEfforts:
off: null
low: low
medium: medium
high: high
Plugin configuration
Override the plugin row in ~/.dsh/profiles/web/cordis.patch.yml when a gateway uses different model names or wire values:
- id: provider-auto
config:
api:
- openai-completions
- openai-responses
modelPattern: '^(gpt-5|o[0-9]|codex|my-reasoner)'
nonTextPattern: '(image|audio|embedding|rerank)'
efforts:
off: null
low: low
medium: medium
high: high
A provider that uses different wire values can map them explicitly:
- id: provider-auto
config:
efforts:
off: null
low: lite
medium: standard
high: max
Limits
This plugin does not implement provider protocols or authentication. DSH still supports only protocols available through its installed adapters. Model capability discovery is name-based because OpenAI-compatible /models endpoints generally do not report reasoning levels. For an exceptional model, declare reasoningEfforts manually; the plugin preserves it.
Development
npm test
Requires Node.js 22 or newer.
License
MIT