dsh-ai-gateway-provider
DiscoveredAny OpenAI-compatible gateway for DeepSeek Harness: probe, save, manage models; known backends report quota.
AI Gateway for DeepSeek Harness
Connect any AI gateway to DeepSeek Harness — chat over OpenAI, Anthropic or Gemini protocols, with models, parameters and quota in one place.

Most providers are the same three endpoints with different names on the box. Instead of a list of supported vendors, this plugin follows the protocol and probes each gateway for what it can actually do: if it speaks /v1/models and /v1/chat/completions, it works — including a gateway nobody has heard of yet.

Install
# in DeepSeek Harness → Settings → Plugins → install by package name
dsh-ai-gateway-provider
Requires DSH ≥ 0.2.1-rc.1.
What it does
- Probe before saving. A gateway is written only after it lists its models with the address and token you entered. A wrong URL or a revoked token is refused at that moment, not on the first message.
- Model management per gateway. Fetch the gateway's list, add a model it does not list, edit any model's name, upstream mapping, context window, output cap, input modalities, reasoning levels and wire protocol, and hide what you do not want.
- Grouped model table. Models are grouped by vendor —
devin/claude-opus-5andclaude-opus-5-5sit together under Anthropic — with a per-group "tested / working" count. Groups collapse, and the grouping can be switched off. - Hide models. Hide one model, or a whole vendor group, from the chat picker without removing it; Hidden models stay in the list, greyed out, so clicking again unhides them. Hiding never turns an automatic gateway into a fixed list.
- Model tests. Test one model or a batch: one tiny request each, bounded output, errors classified (no upstream channel, invalid token, rate limited, timed out).
- Quota where it exists, silence where it does not. New API, LiteLLM and one-api-family backends report quota; every other gateway simply shows no quota instead of an error.
- The gateway's own identity. The channel shows the site's favicon when it has one, its declared name (page title, then the backend's own name), its version, chat protocols and public facts. Unknown gateways fall back to a neutral icon.

Supported backends
The plugin never needs to recognise a vendor — recognition only decides the icon and which quota endpoint to call.
| Backend | Detected by | Quota |
|---|---|---|
| New API / one-api / done-hub / one-hub / Veloera / VoAPI | GET /api/status (system_name, quota_per_unit) | GET /api/usage/token/ |
| LiteLLM | GET /key/info answering | key budget (spend / max_budget) |
| CLIProxyAPI | GET / banner CLI Proxy API Server | none |
| Anything else that is OpenAI-compatible | GET /v1/models answering | none |
Wire protocols per model: OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, Gemini. The gateway's supported_endpoint_types decides; the model editor can override.
Add a gateway

- Settings → AI Gateway → Add gateway.
- Enter the address and token, then Test connection.
- The name is filled with what the gateway calls itself (only when you have not typed one), its favicon previews in the address field, and the check reports the model counts.
- Save. The gateway's models appear in the chat model picker under AI Gateway.
Only one gateway is active at a time; switching affects every session using the plugin. Tokens are stored in the DSH credential store — never in the config, never returned to the page.
Privacy and safety
- Requests are read-only
GETs; no model is called and nothing is billed by probing. - Redirects are never followed, so a token cannot be forwarded to another host.
- Site icons are fetched only from the gateway's own origin, size-limited, and cached on disk for 24 hours.
- Identification uses only public endpoints and stores only public facts (family, version, title, icon) — no token, no user data.
- A gateway without a quota endpoint is reported as having none, never as an error.
Limits
- No image or video generation tools: the New API tools in
dsh-newapi-providerdepend on its own task API. A gateway's image models are listed but not driven from here. - Quota adapters cover the three families above. A backend that exposes quota some other way shows none until an adapter is added.
- Gateway identification is heuristic; a gateway that hides every public endpoint is treated as a plain OpenAI-compatible endpoint, which is still enough to use it.
Development
npm test # 94 tests against local fake gateways
node scripts/probe.mjs --base <url> # probe from a shell
GATEWAY_KEY=sk-... node scripts/probe.mjs --base <url>
License
MIT
Comments
Loading…
Similar plugins
by Luck9Star
Generic LLM gateway provider plugin for DeepSeek Harness: newapi / LiteLLM / Higress / any OpenAI-compatible gateway, multi-protocol (OpenAI/Anthropic/Gemini) via pi-ai SDK, models.dev enrichment
★ 4
↓ 191/wk
MIT
JavaScript
Sep 30, 2026
dsh plugin --profile web add dsh-gateway-providerby snowshadow
Community DSH plugin: OpenAI-compatible gateway adapter and dialect fixes (not an official DeepSeek package)
★ 0
MIT
TypeScript
Oct 11, 2026
dsh plugin --profile web add dsh-llm-gateway-compatby Fast-Editor
DeepSeek Harness (dsh) plugin: registers Lynkr as a custom OpenAI-compatible provider
★ 0
MIT
TypeScript
Aug 28, 2026
dsh plugin --profile web add lynkr-dsh-pluginby auggie246
OpenAI Codex (ChatGPT Plus/Pro subscription) provider for DeepSeek Harness with DSH Web OAuth, device code, and shared Codex CLI credentials
★ 0
MIT
JavaScript
Sep 29, 2026
dsh plugin --profile web add dsh-llm-openai-codexby GodD6366
Connect a sub2api gateway to DeepSeek Harness: OpenAI-compatible multi-provider routes (OpenAI / Claude / Grok / Gemini) behind one base URL, with per-key model discovery, usage lookup, and global vis
★ 3
↓ 417/wk
MIT
TypeScript
Sep 8, 2026
dsh plugin --profile web add @godd6366/dsh-sub2apiby wenzetan
NewAPI (OpenAI-compatible gateway) LLM provider plugin for DeepSeek Harness (dsh): chat-only model discovery + Web settings section. Zero dsh modifications.
★ 6
↓ 138/wk
MIT
TypeScript
Sep 24, 2026
dsh plugin --profile web add dsh-llm-newapi