Luck9Star/dsh-gateway-provider ↗★ 0
dsh-gateway-provider
Generic LLM gateway model provider plugin for DeepSeek Harness: mounts newapi / LiteLLM / Higress / any OpenAI-compatible gateway as provider routes, auto-discovers the model list, enriches every model with models.dev parameters, and dispatches each model over its native wire protocol (OpenAI / Anthropic / Gemini) via the pi-ai SDK
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Luck9Star/dsh-gateway-provider说明文档
阅读完整 README ↗dsh-gateway-provider
中文文档:docs/README.zh.md
Bring any LLM gateway — newapi, LiteLLM, Higress, or any OpenAI-compatible endpoint — into DeepSeek Harness. The plugin discovers the gateway's model list automatically, enriches every model with real parameters from models.dev, and serves each model over its native wire protocol (OpenAI / Anthropic / Gemini) through the pi-ai SDK.
Why this exists
DeepSeek Harness ships first-party adapters (llm-deepseek, llm-pi-ai) that
each speak for one provider. If your models live behind a gateway, the
alternative is a hand-maintained static model list with guessed context
windows and output caps.
This plugin mounts the gateway itself: N gateways become N provider routes, with zero static model lists. Every model keeps its true parameters, and adding a model on the gateway side is enough — nothing to re-deploy.
What you get
- Multiple gateways — a default
newapiroute plus onegateway:route per extra gateway, each with its own catalog cache. - Automatic discovery —
GET {base}/v1/modelsfirst (including each model's supported request formats), management API fallback second. - Real parameters — models.dev data fills context window, output cap, reasoning levels, and release date; config defaults are only a fallback.
- Every wire format — each model routes to its own protocol
(
openai-completions/openai-responses/anthropic-messages/google-generative-ai); no hand-written SSE or request serialization. - A settings page — Settings → Gateway Models: add and edit gateways from templates, test connections, hide / override / custom-add models — no YAML editing required.