DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-plugin

c

dsh-plugin

Discovered

Cradler Router as a DeepSeek Harness provider — Claude, GPT, Gemini, DeepSeek and Grok behind one API key

@cradler/dsh-plugin

Cradler Router as a provider inside DeepSeek Harness (dsh).

One API key, and Claude, GPT, Gemini, DeepSeek and Grok all show up in the dsh model picker. The model list is read live from your account, so a model added to Router appears in dsh without touching this plugin.

Install

Install into the profile you boot (dsh plugin forwards its arguments to pnpm in that profile's directory, and --profile is required):

dsh plugin --profile web add @cradler/dsh-plugin
export CRADLER_ROUTER_KEY="sk-cr-…"   # get one at https://cradler.ai/dashboard/router

Then add it to that profile's patch layer — $DSH_HOME/cordis.patch.yml for every profile, or the profile's own layer for just one:

- id: cradler-router
  name: '@cradler/dsh-plugin'

Boot dsh and pick cradler as the provider. The key is read from the environment by default, so no secret needs to be written into a config file.

Configuration

Every field has a default; the entry above needs no config: block at all.

FieldDefaultWhat it is
apiKey$CRADLER_ROUTER_KEYYour Router key (sk-cr-…)
baseURLhttps://router.cradler.ai/v1Router endpoint, /v1 included
providercradlerRoute name shown in model selectors
- id: cradler-router
  name: '@cradler/dsh-plugin'
  config:
    provider: cradler

Without a key the plugin logs where to get one and registers nothing, rather than failing the harness at boot.

What it does

Registers one LlmAdapter on ctx.llm. Requests go to Router's OpenAI chat endpoint, which carries the whole catalog — including Claude and Gemini, whose native protocols dsh custom providers cannot express.

The adapter honors the harness streaming contract:

  • usage is emitted immediately before the terminal finish, and nothing follows it
  • block indices are allocated in first-seen order and reused across deltas
  • tool-call arguments stay raw JSON strings, streamed as argumentsDelta
  • token counts are disjoint — cache reads and cache writes are split out of the prompt total
  • options.signal cancels in flight
  • unsupported input (images) raises LlmError('UNSUPPORTED') instead of being dropped
  • every request carries attributionHeaders()

Text and tool calls are supported. Image input is not: this provider advertises text-only modality and refuses image blocks rather than silently discarding them.

Alternative: no plugin

A plain custom provider works too, since Router speaks the OpenAI protocol:

llm-pi-ai:
  providers:
    cradler:
      apiKeyEnv: CRADLER_ROUTER_KEY
      api: openai-completions
      baseURL: https://router.cradler.ai/v1
      models:
        - id: claude-sonnet-4-6
        - id: gpt-5.5

npx @cradler/router-setup <key> writes that block for you, along with configs for Claude Code, Codex, Gemini CLI and others. The plugin adds a live model list and first-class provider identity on top.

Development

pnpm install
pnpm build
pnpm test        # contract tests over the chunk protocol

License

MIT

Comments

Loading…

Similar plugins

dsh-llm-auto-route

by qinyu765

Provider discovery, matching, health checks, and pre-output failover for DeepSeek Harness

Manifest valid

★ 0

MIT

TypeScript

Aug 14, 2026

dsh plugin --profile web add dsh-llm-auto-route

by GooDAnDReaDY

Registers ChatGPT Codex, Claude, Grok and Antigravity subscriptions as DeepSeek Harness LLM providers through OAuth, so no API key is needed for them.

Models & ProvidersManifest valid

★ 10

↓ 3.1k/wk

MIT

JavaScript

Oct 9, 2026

dsh plugin --profile web add @goodandready/dsh-subscriptions

by xxww0098

ChatGPT Codex and xAI Grok subscription OAuth for DeepSeek Harness — PKCE / device-code, local Responses proxy, llm-pi-ai sync

Models & ProvidersManifest valid

★ 13

MIT

TypeScript

Oct 11, 2026

dsh plugin --profile web add dsh-plugin-oauth-subs

by V1ki

Use ChatGPT (Codex), Claude, and Grok (X Premium) subscriptions as DeepSeek Harness LLM providers — OAuth login in the web UI, no API keys

Models & ProvidersManifest valid

★ 269

↓ 3k/wk

MIT

TypeScript

Aug 24, 2026

dsh plugin --profile web add dsh-plugin-subscriptions

by m1khal3v

Seamless API-key rotation for DeepSeek Harness

Security & AuditManifest valid

★ 6

↓ 387/wk

MIT

TypeScript

Aug 30, 2026

dsh plugin --profile web add @m1khal3v/dsh-llm-key-rotation

by ziyou979

DeepSeek Harness plugin: OAuth / subscription-plan LLM providers (Grok, GitHub Copilot, OpenAI Codex, Anthropic, OpenRouter)

Models & ProvidersManifest valid

★ 6

MIT

TypeScript

Sep 15, 2026

dsh plugin --profile web add dsh-llm-oauth