HeWhenJay/dsh-provider-hub1

@hewhenjay/dsh-provider-hub

DSH 统一提供商枢纽:支持命名 API 密钥、单密钥模型白名单、OAuth 账户、故障转移及脱敏日志。

AI 分析

核心用途是集中管理和分发多个 LLM 提供商的 API 密钥与账户,适合拥有多个模型渠道、需要配置自动容灾切换和模型权限管控的团队或高级用户。

包名
@hewhenjay/dsh-provider-hub
版本
0.6.4
许可证
NOASSERTION
最近更新
2026年8月16日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:HeWhenJay/dsh-provider-hub

配置

默认配置文件是 $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 或带认证的反向代理。