在使用 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。