Bundle
dsh-provider-auto
Automatically add reasoning-level controls to compatible DSH provider models.
- Source
- icekale
- License
- MIT
- Updated
- Updated 2 days ago
Readme
# dsh-provider-auto
Automatically adds reasoning-effort controls to compatible custom provider models in [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness).
[中文说明](README.zh-CN.md)
## 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*`, other `o<number>*`, and `codex*`
- Levels: `off`, `low`, `medium`, `high`
- Exclusions: image, audio, embedding, moderation, and reranking models
- Existing `reasoningEfforts` declarations 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:
```sh
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:
```sh
dsh plugin --profile web remove dsh-provider-auto
```
## Provider configuration
Add providers from the DSH Models page, or edit `~/.dsh/settings.yaml`:
```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`:
```yaml
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:
```yaml
- 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:
```yaml
- 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
```sh
npm test
```
Requires Node.js 22 or newer.
## License
MIT
Install
dsh plugin --profile web add github:icekale/dsh-provider-auto#ddc840c19932697ad398bfdd20c367b8d58bb6da
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-provider-auto from the hub