在使用 DeepSeek Harness (DSH) 处理需要多个 API Key 的中转站或第三方模型时,经常会遇到限流或配额耗尽的问题。dsh-api-key-pool 插件旨在解决这一痛点,它通过自动轮换和故障转移机制,让开发者无需手动切换 Key 即可保持服务稳定。
这是一个由 xiaozhe7772222 维护的 DSH 管理类安全插件,主要用于 API Key 轮换池管理。
核心功能¶
该插件主要包含以下能力:
- 多 Key 自动轮换:同一供应商配置多个 Key,请求时依次轮换,均衡负载。
- 失败自动切换:Key 返回
401 / 403 / 429时自动标记故障,切换到下一个健康 Key。 - 冷却与恢复:故障 Key 按指数退避进入冷却期(默认 30s 起步),到期自动回到轮换池。
- Web 管理面板:DSH Web UI 中可查看健康状态、增删 Key、重置冷却。
- Key 脱敏:REST 接口只返回脱敏后的 Key,不泄露完整密钥。
- 配置持久化:Web 面板添加的 Key 会保存到
pool-config.json,重启后保留。
安装与启用¶
首先克隆仓库并安装到 DSH 的插件目录:
git clone https://github.com/xiaozhe7772222/dsh-api-key-pool.git
cd dsh-api-key-pool
mkdir -p ~/.dsh/profiles/web/plugins/dsh-api-key-pool
cp -r lib package.json cordis.patch.yml ~/.dsh/profiles/web/plugins/dsh-api-key-pool/
然后需要在你的 ~/.dsh/profiles/web/package.json 中声明该 bundle:
{
"dsh": {
"profile": {
"bundles": [
{
"name": "dsh-api-key-pool",
"platform": ["web"],
"optional": false
}
]
}
}
}
最后重启 DSH 服务即可:
npx @deepseek-ai/dsh web
典型用法¶
静态配置¶
在 cordis.patch.yml 中配置 provider 的 keys 和冷却时间:
- insert:
- id: api-key-pool
name: dsh-api-key-pool
inject: [llm, webServer]
config:
pools:
provider-a:
apiKeyEnv: PROVIDER_A_API_KEY
keys:
- sk-your-first-key
- sk-your-second-key
- sk-your-third-key
cooldownMs: 30000
provider-b:
apiKeyEnv: PROVIDER_B_API_KEY
keys:
- sk-key2-1
- sk-key2-2
cooldownMs: 60000
defaultCooldownMs: 30000
Web 管理面板¶
启动 DSH 后,在 Web UI 中进入 设置 -> 插件 -> API Key 池:
* 查看每个 provider 的 Key 健康状态(绿色为健康,橙色为冷却中)。
* 添加或删除 Key。
* 重置某个 provider 的冷却状态。
REST API 管理¶
插件提供了 REST API 供程序化管理:
- 查看状态:
GET /dsh-api-key-pool/pools - 添加 Key:
POST /dsh-api-key-pool/pools(body:{"action":"add","provider":"provider-a","key":"sk-new-key"}) - 删除 Key:
POST /dsh-api-key-pool/pools(body:{"action":"remove","provider":"provider-a","key":"sk-old-key"}) - 重置冷却:
POST /dsh-api-key-pool/pools(body:{"action":"reset","provider":"provider-a"})
适用场景与注意¶
- 依赖环境:依赖 Node.js >= 18,以及
@deepseek-ai/cordis、@deepseek-ai/dsh-llm、@deepseek-ai/schemastery。 - 权限运行:插件以 DSH 进程权限运行,建议安装前检查源码。
- 安全建议:切勿将真实 API 密钥提交到公共仓库。
该插件通过轮换和冷却机制,有效缓解了 API 限流风险。你可以通过以下链接获取源码:GitHub。