DSH Keys Manager:把单个 Provider API Key 变成可管理的密钥池

前言

在 DeepSeek Harness(DSH)里接多家模型 Provider 时,常见做法是:每个 Provider 配一把环境变量或凭证,Models 页里选模型、改 Key 各管一块。一旦同一家要轮换多把 Key、会话要固定在某把 Key 上、或某把 Key 限流后需要自动换钥,就得自己在外层做代理或改配置。

下面介绍的 dsh-keys-manager(维护者 btspoony)是 DSH 社区插件目录中归类为「模型推理」的扩展:不替换 Models 页的 Provider、模型与模型选择器,只把 API Key 的来源挪到插件侧的密钥管理器后面,并附带一批内置的额外 LLM Provider 路由。

这是什么

dsh-keys-manager 是 DeepSeek Harness 插件:把「一个 Provider 的一把 API Key」扩展为带别名与健康状态的密钥池,支持会话粘滞、新会话轮询、同 Key 有限次重试后故障转移,以及带上限的指数冷却恢复。插件在自有详情页提供可搜索的 Keys Manager 界面;在现有 Models 的 Provider 卡片上会显示「由 Keys Manager 管理」标识。

许可证为 MIT;npm 包当前版本为 0.2.3(以仓库 package.json 为准)。运行环境要求 Node ^22.19 || >=24,并依赖 DSH ^0.2.1-rc.2 一侧的 @deepseek-ai/dsh-llm 生态。

核心功能

多 Key 池与调度

  • 同一 Provider 可配置多把 Key,每把 Key 有别名与健康状态。
  • 单个会话可固定(pin)在一把 Key 上;新会话按轮询(round-robin)选 Key。
  • 在同一 Key 上做有界重试(可在设置中调节次数 1–3),失败后自动切换到其他 Key。
  • 失败 Key 进入指数冷却恢复,冷却上限为七天;设置卡片可调基础冷却与恢复宽限(recovery grace)。

密钥明文只存在 Harness 凭证存储中,管理器状态文档只保存引用,不写 Key 字面量。

与 Models 页的协作方式

插件通过 Cordis bundle 扩展 Models 相关 UI,而不是替换整页。对已在 DSH 里存在的 Provider,可「接管(Adopt)」:导入当前解析到的凭证,在 Provider profile 写入 broker 引用,原 Key 仍留在凭证存储中以便卸载插件时恢复。

额外内置 Provider

除接管现有 Provider 外,插件以普通 llm-pi-ai 路由形式安装一批额外 Provider。目录共 35 家,源自 oh-my-pi 的 Provider 目录(MIT)。每家对应 route id 与环境变量名见仓库 README 中的表格(例如 deepinfra / DEEPINFRA_API_KEY、siliconflow / SILICONFLOW_API_KEY 等;部分 Provider 接受两个 env 名,以表中第一个为主)。CoreWeave Serverless Inference(coreweave)在添加前还需在 DSH 进程环境中设置 COREWEAVE_PROJECT=<team>/<project>。

OAuth 账号(部分 Provider)

对 llm-pi-ai 已实现 OAuth 的七家 Provider——Anthropic、GitHub Copilot、Kimi Coding、OpenAI Codex、OpenRouter、Radius、xAI——可用 Add account 走原生登录流,将 grant 存为账号行;也可用 Add key 存静态 API Key。当前模型下:API Key 参与选择环(粘滞、轮询、重试与冷却在 Key 池上运作);每个 Provider 投影一个 OAuth grant 直接应答请求,每 Provider 仅保留一个活跃 grant,账号级轮转/load-balance 为后续工作。OAuth-only 路由在 grant 失效且无 Key 池时需手动重新登录。

伴随传输组件

安装 dsh-keys-manager 会一并解析依赖 dsh-llm-omp-transports(同一 npm 安装链)。插件页会列出两个组件:密钥管理器负责凭证与路由;传输组件负责 vendored pi-ai 无法直接对接的协议,目前包含 Cursor(cursor)。启用时需两个组件都打开。

安装与启用

DeepSeek Harness Desktop / Web

在应用的 Plugins 中点击 Add plugin,在包名字段输入 dsh-keys-manager 并 Install。安装完成后选择 Enable now。向导会安装与 CLI 相同的已发布 npm 包(含构建产物)。安装后刷新 Harness 页面,以便拉取浏览器端 bundle。

已发布包(CLI)

dsh plugin --profile web add dsh-keys-manager

上述命令安装发布 tarball 中的 lib/ 与客户端 bundle。安装后同样刷新 Web 页面。

在插件列表中同时启用 dsh-keys-manager 与 llm-omp-transports。

典型用法

打开 Plugins → Keys Manager → View(中文界面为 Plugins → 密钥管理 → 查看)。管理器渲染在插件详情页描述与组件列表之间,与官方插件配置卡片布局一致。

  1. 搜索 Provider:已有 DSH Provider 优先显示;也可从插件附带的额外目录中选择。
  2. Adopt 已有 Provider:导入当前凭证并写入 broker 引用,原 Key 保留以便释放插件时还原。
  3. 用别名 添加更多 Key;每把 Key 独立存入凭证存储。
  4. 在 Key 行三点菜单中重命名、暂停/恢复或删除;行上展示状态、最近使用与冷却中的恢复时间。
  5. 在设置卡片调整重试次数(1–3)、基础冷却与 recovery grace。

需要 OAuth 的 Provider 在池内用 Add account 或 Add key 二选一扩展凭证来源,行为见上一节说明。

适用场景与注意

适合:同一 Provider 有多把 Key 需要轮换或故障转移;希望在 DSH 内统一管理凭证而不改 Models 页交互;需要 oh-my-pi 目录中的额外 Provider 或 Cursor 传输路由。

注意:

  • 插件在当前 DSH 进程权限下运行,安装前请自行审阅 GitHub 源码 与 MIT 许可证。
  • 社区目录 skillhub.cn 上的插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,本文信息以仓库 README 与包元数据为准。
  • 卸载或停用插件前,确认 Provider 是否仍依赖 broker 引用,避免遗留无法解析的凭证配置。

结尾

dsh-keys-manager 把 Provider 侧 API Key 收成可搜索、可调度、可冷却恢复的池,并扩展一批内置 Provider 与 Cursor 传输,适合在 Harness 内做多 Key 运维而不推翻现有 Models 工作流。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye