HeWhenJay/dsh-provider-hub ↗★ 1
@hewhenjay/dsh-provider-hub
DSH 统一提供商枢纽:支持命名 API 密钥、单密钥模型白名单、OAuth 账户、故障转移及脱敏日志。
AI 分析
核心用途是集中管理和分发多个 LLM 提供商的 API 密钥与账户,适合拥有多个模型渠道、需要配置自动容灾切换和模型权限管控的团队或高级用户。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:HeWhenJay/dsh-provider-hub说明文档
阅读完整 README ↗配置
默认配置文件是 $DSH_HOME/provider-hub.json。完整示例见 config.example.json:
{
"provider": "provider-hub",
"maxAttempts": 6,
"cooldownMs": 30000,
"sessionAffinity": true,
"listen": {
"enabled": true,
"host": "127.0.0.1",
"port": 19529,
"apiKeyEnv": "DSH_PROVIDER_HUB_CLIENT_KEY"
},
"accountService": {
"enabled": true,
"autoInstall": true,
"port": 19629,
"priority": 1000
},
"managedProvider": {
"enabled": true,
"id": "provider-hub",
"displayName": "Provider Hub"
},
"routes": [
{
"id": "shared-prod",
"displayName": "Shared API",
"keyName": "Production Key",
"baseURL": "https://relay.example/v1",
"api": "openai-completions",
"apiKeyEnv": "DSH_PROVIDER_HUB_SHARED_PROD_KEY",
"priority": 100,
"backup": false,
"models": ["gpt-main", "gpt-fast"],
"modelAllowlist": ["gpt-main"]
},
{
"id": "shared-backup",
"displayName": "Shared API",
"keyName": "Backup Key",
"baseURL": "https://relay.example/v1",
"api": "openai-completions",
"apiKeyEnv": "DSH_PROVIDER_HUB_SHARED_BACKUP_KEY",
"priority": 10,
"backup": true,
"models": ["gpt-main", "gpt-fast"],
"modelAllowlist": []
}
]
}
环境变量 DSH_PROVIDER_HUB_CONFIG 可指定其他配置路径。渠道 ID 必须唯一;Base URL 不要求唯一,因此同一地址可以配置多个使用不同凭据引用的 Key。keyName 是可进入日志的显示名称;modelAllowlist: [] 表示允许该渠道 models 中的全部模型,非空时只发布和路由其中精确列出的模型。
端口与监听安全
- Relay 默认只监听
127.0.0.1:19529。 - sidecar 始终只监听
127.0.0.1,首选19629。 - 两者发生端口冲突时都会向后寻找空闲端口,不会关闭原监听器。
- 首次启动会自动生成以
Provider-Hub-开头的客户端访问密钥;改为0.0.0.0时继续使用该密钥认证。 - 不要把 relay 直接暴露到公网;远程使用应配合防火墙、VPN 或带认证的反向代理。