iceprosurface/dsh-gateway-config
A DSH plugin for configuring any OpenAI-compatible LLM gateway (any endpoint that serves GET /models) as a provider — one provider route per gateway, multiple gateways side by side.
catalog 简介 / catalog descriptioncatalog description:DSH web profile and TapSVC model configuration plugin
项目介绍Project Overview
这是一个DSH插件,可将任何兼容OpenAI的LLM网关(支持GET /models)配置为提供商,支持多网关并行。提供配置工具、Web设置面板、模型发现与能力映射。适合接入私有网关或公共厂商。注意:提供商为固定预设,不创建临时路由。
This DSH plugin configures any OpenAI-compatible LLM gateway (serving GET /models) as a provider, supporting multiple gateways side by side. It offers a host tool, a web settings panel, model discovery with non-chat filtering, and per-model capability mappings. Use it to connect private or public gateways. Note: providers are fixed presets; no ad-hoc routes are created.
请帮我了解并安装插件:【dsh-gateway-config】【https://github.com/iceprosurface/dsh-gateway-config】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add https://github.com/iceprosurface/dsh-gateway-config.git
把 iceprosurface/dsh-gateway-config 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
gateway-config
A DSH plugin for configuring any
OpenAI-compatible LLM gateway (any endpoint that serves GET /models) as a
provider — one provider route per gateway, multiple gateways side by side.
What it provides
- Host tool:
gateway_configure - Web settings panel: LLM 网关配置
- Gateway model discovery via
GET /modelswith non-chat model filtering - Per-model reasoning-effort mappings
- Per-model text/image input capability mappings
- One managed credential per route (
<ROUTE>_API_KEY, e.g.CINDY_API_KEY) - Native ChatGPT OAuth for the
openai-codexprovider, including automatic access-token refresh through pi-ai - Localized settings UI in English and Simplified Chinese, following the DSH interface locale
Providers are fixed presets; no ad-hoc routes are created. Anything that
speaks the OpenAI GET /models shape (the de-facto standard DSH discovery
reads) works:
cindy(Cindy),sub2api(Sub2API) — private gateways; addresses never live in this repository. The host tool reads them fromCINDY_BASE_URL/SUB2API_BASE_URL; the web panel remembers the last address per route.generic(通用) — any other OpenAI-compatible endpoint; supply its base URL (GATEWAY_BASE_URLenv or the panel's Base URL field).- Public vendors with OpenAI-compatible APIs carry their documented base
URLs out of the box:
deepseek,moonshot(Kimi),zhipu(GLM),qwen,openrouter,siliconflow,xai(Grok). openai-codex(OpenAI Codex / ChatGPT) uses the native pi-ai provider and OAuth transport. It does not require or accept a custom Base URL or API key.
Install into an existing DSH profile
This repository is a plugin package. It does not replace or contain a complete DSH home.
dsh plugin --profile web add https://github.com/iceprosurface/dsh-gateway-config.git
If your DSH version expects a Git URL package, use:
dsh plugin --profile web add git+https://github.com/iceprosurface/dsh-gateway-config.git
If the plugin entry is not reconciled automatically, add this to the existing
$DSH_HOME/profiles/web/cordis.patch.yml without deleting other entries:
- insert:
- id: gateway-config
name: gateway-config
Then restart the existing DSH web process.
Configure a gateway
Open LLM Gateway / LLM 网关配置. Pick a gateway from the provider dropdown (Cindy, Sub2API, Generic, or a
public vendor), fill in the Base URL if not pre-filled (the gateway's OpenAI-compatible root, e.g.
ending in /v1), then click 拉取模型: the chat-capable models are
listed with checkboxes; tick the ones to keep and mark one radio button as
the default model, then click 写入配置. The key is stored in DSH local
managed credentials and never written to this repository. Later, leave the
key blank; the plugin reuses <ROUTE>_API_KEY.
For OpenAI Codex, select openai-codex and click Sign in to ChatGPT. The
authorization page opens in a separate browser window. After the callback
completes, DSH stores the grant as llm-pi-ai/openai-codex; tokens are never
returned to the settings UI, and pi-ai refreshes them when needed. Then
discover and import models as usual.
The host-side equivalent:
gateway_configure(apiKey?, baseURL?, route, displayName, defaultModel?)
apiKey and baseURL are omitted for route: "openai-codex" after OAuth
sign-in has completed in the settings page.
Development
lib/index.js: host-side toollib/client.js: web-side settings panel
node --check lib/index.js
node --check lib/oauth-remote.js
node --check lib/client.js
Security
Never commit API keys, gateway addresses you consider private, credential files, personal DSH settings, sessions, attachments, generated dependencies, or runtime databases.
License
MIT
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS