Back to home

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*, 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:

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