把单个服务商 API key 变成托管池的 DSH 插件,还内置更多 LLM 服务商
35.7/100
综合分
1
GitHub 星标
1,360
npm 周下载
—/5
用户评分
数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-keys-managernpm 源 · dsh-keys-manager 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-keys-manager @ 0.2.11
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/3 11:54:21
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 12 条)
- 读取本地文件lib/store.js:206
stats = statSync(file); - 读取本地文件lib/store.js:226
text = readFileSync(file, 'utf8'); - 写入本地文件lib/store.js:246
renameSync(file, backup); - 写入本地文件lib/store.js:372
await mkdir(dirname(file), { recursive: true, mode: 0o700 }); - 写入本地文件lib/store.js:374
await writeFile(temp, snapshot, { mode: 0o600 }); - 写入本地文件lib/store.js:375
await rename(temp, file); - 写入本地文件lib/store.js:377
await chmod(file, 0o600); - 读取本地文件lib/store.js:419
statSync(file); - 写入本地文件lib/store.js:427
mkdirSync(dirname(file), { recursive: true, mode: 0o700 }); - 写入本地文件lib/omp-oauth/oauth.mjs:86
await writeFile(destination, bytes); - 发起网络请求lib/omp-oauth/oauth.mjs:1438
response = await context.fetch(url, { - 发起网络请求lib/omp-oauth/oauth.mjs:1477
const response = await context.fetch(template(userinfo.url, vars), {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-plugin-manager@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-settings-models@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-credentials@deepseek-ai/dsh-llm@deepseek-ai/dsh-settings@deepseek-ai/dsh-typert-registry给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
最近更新
在 GitHub 查看全部 →v0.2.112026-10-28
· [0.2.11] - 2026-10-28
· 变更
· 没有用量探测的路由现在会显示「此路由不显示用量」,不再让套餐用量那一行看起来像读取失败。
v0.2.102026-10-26
· [0.2.10] - 2026-10-26
· 新增
· 密钥池路由现在优先选择套餐配额最早重置的账号(先看周窗口,再看已用低于 90% 的会话窗口),让剩余配额在过期前先用掉;没有用量数据、排名相同的账号仍按原有游标轮转。
· 现在可以读取 Factory Droid 传输路由的套餐用量:宿主解析该路由只读的 llm-omp-transports/factory-droid 授权并探测其计费限额,五小时窗口和周窗口因此可见,全程不轮转、不写入凭据。
· 修复
· 一直不返回的套餐用量读取现在会在有限等待后放弃,并报告「未上报」(按慢速节奏重试),迟到的应答直接丢弃,不再覆盖更新的读数。
· 套餐用量读取现在最多同时探测四个账号,命中缓存的账号完全跳过凭据查询,宽密钥池每次刷新不再为每个密钥发一次厂商请求。
· 删除密钥或释放服务商时会清除失效的缓存条目,展示的快照也不会再被调用方改动。
· 套餐用量标签现在以实际所用凭据的过期时间为准,过期的账号行时间戳既不能掩盖真实的拒绝,也不能伪造出过期账号。
· 过期的用量读数改为按慢速(十分钟)节奏重新检查,不再一直卡到卡片重新挂载。
· 套餐用量刷新被拒时现在显示本地化的「未上报」状态,并按十分钟慢速节奏重试,不再让账号行在卡片整个会话期间一直挂起。
· 凭据存储读取短暂失败会重试一次,然后报告为临时失败,瞬时抖动不再看起来像凭据被拒或过期(保留最后已知数字,也不提示登录)。
· 存储的 OAuth 凭据过期后,套餐用量不再要求你重新登录:卡片改为提示该账号由 DSH 托管,因为只有模型请求才会刷新该 token。
· 未上报的套餐用量状态现在按十分钟节奏刷新(刷新期间保留最后已知标签),不再一直卡到卡片重新挂载。
v0.2.92026-10-25
· [0.2.9] - 2026-10-25
· 修复
· 从真正服务该路由的凭证读取服务商卡片的套餐用量:DSH 原生管理的 OAuth 账号不再显示「重新登录」(登录成功后也不再反复提示),凭证读不出来时该行显示「由 DSH 管理」,不再假装服务商没有上报用量。
· 变更
· 套餐用量改为在每个密钥或账号行底部用一行浅色文字显示(W 61% · 5h 32% · 3 天后重置),不再单独占一块,服务商卡片也不会再多出一个用量区。
· 无法上报用量的路由什么都不显示——没有区块、没有文字、没有占位符;OAuth 账号的授权需要续期时,仍保留「重新登录」提示。
· 用量覆盖范围新增 Command Code、xAI SuperGrok 和 Cline,与 Claude、Codex、Z.AI、Kimi、MiniMax 和 OpenCode Go 并列。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成DSH Keys Manager
DSH Keys Manager 是一个 DeepSeek Harness 插件,把一个提供商 API key 变成托管密钥池。它扩展而非替换 Models 页面:提供商、模型和模型选择器都在原处,只有 API key 来源移到管理器之后。
功能
密钥池与路由
- 每个提供商可配多把 key,每把有别名和健康状态。
- 一把 key 粘滞绑定到会话,新会话按轮询选择;请求失败先在同一把 key 上重试,再换到另一把。
- 指数升级的冷却恢复,上限七天。
账户与登录
- 七家 pi-ai OAuth 提供商可以以账户身份入池,而不必粘贴 key。
- 另有两条通过本插件自带的登录客户端入池:Kilo 与 Z.AI Coding Plan。
- 随附七条传输路由,服务随附 pi-ai 无法支持的提供商:Cursor、Devin、两条 Google 路由、Factory Droid 与两条 GitLab Duo 路由。
界面
- 插件详情页上提供可搜索的 Keys Manager 页面。
- 既有 Models 提供商卡片内出现"由 Keys Manager 托管"徽标。
- 额外内置提供商以普通 llm-pi-ai 路由安装——共 35 个,清单见提供商覆盖。
展开完整文档(README 剩余 1 节)
DSH Keys Manager
DSH Keys Manager 是一个 DeepSeek Harness 插件,把一个提供商 API key 变成托管密钥池。它扩展而非替换 Models 页面:提供商、模型和模型选择器都在原处,只有 API key 来源移到管理器之后。
功能
密钥池与路由
- 每个提供商可配多把 key,每把有别名和健康状态。
- 一把 key 粘滞绑定到会话,新会话按轮询选择;请求失败先在同一把 key 上重试,再换到另一把。
- 指数升级的冷却恢复,上限七天。
账户与登录
- 七家 pi-ai OAuth 提供商可以以账户身份入池,而不必粘贴 key。
- 另有两条通过本插件自带的登录客户端入池:Kilo 与 Z.AI Coding Plan。
- 随附七条传输路由,服务随附 pi-ai 无法支持的提供商:Cursor、Devin、两条 Google 路由、Factory Droid 与两条 GitLab Duo 路由。
界面
- 插件详情页上提供可搜索的 Keys Manager 页面。
- 既有 Models 提供商卡片内出现"由 Keys Manager 托管"徽标。
- 额外内置提供商以普通 llm-pi-ai 路由安装——共 35 个,清单见提供商覆盖。
快速开始
安装
桌面版或 Web 版打开 插件 → 添加插件,填入 dsh-keys-manager 并点击 安装,然后选择 立即启用。这与下面的 CLI 路径装的是同一个已发布包,包内已含构建好的产物。
dsh plugin --profile web add dsh-keys-manager
一次安装得到两个 bundle:dsh-keys-manager 与 llm-omp-transports;两者都要启用——管理器负责凭据与路由,传输组件负责七条路由的线协议。安装后刷新 Web 页面,让浏览器侧代码被取到。
从本地检出安装
git clone https://github.com/btspoony/dsh-keys-manager
cd dsh-keys-manager
pnpm i
dsh plugin --profile web link .
add 安装的已发布 tarball 自带构建好的 lib/ 与客户端 bundle;link . 则在 pnpm i 期间运行 prepare 构建它们,prepack 在打包时做同样的事。
使用
接管提供商并添加 key
1. 搜索提供商。打开 Plugins → 密钥管理 → 查看(英文 locale 下显示为 Plugins → Keys Manager → View),管理器渲染在插件详情页上。既有 DSH 提供商排在前面;插件同时附带精选的额外提供商目录,见提供商覆盖。
2. 接管提供商。对既有提供商,管理器导入当前解析出的凭据、把 broker 引用写进提供商档案,并把原 key 留在凭据存储里,以便停止接管时还原。
3. 用别名添加更多 key。每把 key 都以自己的引用存进 Harness 凭据存储;管理器状态文档从不包含 key 字面量。
4. 在三点菜单中管理 key:重命名、暂停/恢复、删除。key 行显示状态、最近使用,以及冷却中的恢复时间。
5. 在设置卡片中调整重试次数(1–3)、基础冷却与恢复宽限。
账户与登录
支持原生 OAuth 登录的提供商有两种入池方式:添加密钥保存静态 API key,添加账户则执行提供商的 OAuth 登录流程,把结果作为账户行存进同一个池。九条路由以账户身份入池:七条走 pi-ai 自己的流程,kilo 与 zai 走插件自带的客户端(设备码、粘贴 zcode:// 跳转),后两者签发的是静态凭据,只能靠重新登录续期。
| 路由组 | 如何入池 | 刷新 / 续期 |
| 9 个 OAuth 账户 | 添加账户 —— 七个 pi-ai 流程,两个插件客户端 | 七个由提供商负责刷新;两个静态凭据靠重新登录 |
| 7 条传输路由 | 传输账户 —— 每条路由一条授权 | 见传输路由 |
API key 构成选择环——会话粘滞、轮询选择、重试切换与冷却都作用在该提供商的 key 之间;每个提供商由一条被投影的 OAuth 授权服务,账户行上的计数只反映该账户自身的成功与失败。按账户排名是后续工作。被投影的授权失败时,该账户进入冷却,池回落到它的 key;仅有 OAuth 的路由则停止服务,直到手动重新登录。
muse-code 不需要传输,也不需要自己的账户行:随附 pi-ai 的 meta 路由(openai-responses 走 https://api.meta.ai/v1)已提供它,该一致性检查是静态的,首次真实调用属于手动冒烟检查,详见已知限制。
传输路由
随附 pi-ai 无法支持的提供商由配套的 dsh-llm-omp-transports 组件提供:
- 每条路由只有一条授权,位于 llm-omp-transports/<route>——没有 key 池,也没有按账户轮换。登录在 Keys Manager 页面的 传输账户(Transport accounts)区块完成。
- 模型在构建传输包时由固定的 @oh-my-pi/pi-catalog@18.12.3 表生成,客户端均为非官方实现。依赖前请阅读传输包文档与其已知限制。
| 路由 | 登录 | 刷新 | 模型行数 |
| cursor | 浏览器页面 + 轮询 | 在凭据 seam 上 | 123 |
| devin | 粘贴浏览器最终落到的地址 | 无 —— 需重新登录 | 2 |
| google-gemini-cli | 回环 8085 + 粘贴兜底 | 在凭据 seam 上 | 7 |
| google-antigravity | 回环 51121 + 粘贴兜底 | 在凭据 seam 上 | 22 |
| factory-droid | WorkOS 设备码(网址 + 用户码) | 60 秒窗口内刷新一次,保留 orgId/region | 62 |
| gitlab-duo | PKCE 回环 localhost:8080/callback,无端口回落,可粘贴兜底 | 60 秒窗口内刷新一次 | 16 |
| gitlab-duo-agent | 粘贴 vscode:// 链接 | 刷新一次,回显 vscode 重定向 | 1 |
各路由说明
- Cursor —— 支持文本与推理流,把工具调用交给 DSH 的工具循环;遇到图片块以类型化错误拒绝。该客户端呈现 Cursor 厂商内部的 OAuth 身份。
- Devin —— 没有刷新:记录是静态 bearer,有效期由令牌推导(JWT exp 减五分钟,否则一年);没有可读有效期时行显示 active,倒计时列留空。
- 两条 Google 路由 —— 共用一份生成的 lib/omp/google.mjs 产物,却各自保留独立的授权、账户行与模型目录。授权内容为 {access, refresh, expires, projectId, email?};登录会解析该路由计费所用的 Google Cloud 项目,legacy-tier 或付费账户若无法发现项目则以 AUTH_FAILED 失败,直到设置 GOOGLE_CLOUD_PROJECT(或 GOOGLE_CLOUD_PROJECT_ID)。
- Factory Droid —— 一个代理背后是四套协议,由产物内的模型 id 选择;行上不带 base URL,账户的区域属性(orgId/region)在刷新后保留。
- GitLab Duo 一对 —— gitlab-duo 的 direct-access token 缓存以 GitLab token 为键,轮换后的 token 因此会未命中;gitlab-duo-agent 每个请求重新播种一条工作流并重放会话记录,而不是复用 socket。
选择与故障策略
| 机制 | 行为 |
| 会话粘滞 | 会话的首次请求选出一把 key,并为该会话/提供商对绑定;后续请求复用该 key。 |
| 轮询 | 新会话推进提供商游标,取下一把健康 key。 |
| 重试 | 失败请求在同一把 key 上重试 retryCount 次。CONTEXT_WINDOW_EXCEEDED 这类请求形态的失败与取消从不冷却 key。 |
| 切换 | 重试预算耗尽后,失败 key 标记为冷却,会话重新绑定到另一把健康 key;没有备用 key 时,管理器委托给组合层常规的重试/回退策略。 |
| 冷却 | 首次失败使 key 冷却 baseCooldownMs。冷却中再次失败,或恢复后 recoveryGraceMs 内失败,下一次冷却翻倍;长时间健康运行会重置升级。硬上限七天。 |
| 恢复 | 冷却到期后 key 自动恢复可选,无需手动重置。 |
配置与数据
管理器元数据位于:
$DSH_HOME/keys-manager/state.json
权限为仅属主可读写。内容包含别名、凭据引用、健康计数、会话绑定和提供商接管事实。API key 字面量只存在于 Harness 凭据存储;账户行同理,授权挂在它的 grantRef 之下,状态里只有非敏感元数据(邮箱、账户 ID、过期时间)。文件通过临时文件加重命名原子写入。
每个受管提供商档案的 apiKeyEnv 指向 broker 引用,例如 KEYSMGR_ZAI_CODING_CN_3FA2C1。Host 凭据层按请求用该会话选中的 key 应答这个引用。Models 页面视该档案为已配置;直接写 broker 引用会被拒绝并指向管理器。
OAuth2 扩展点
状态结构已区分 kind: "api-key" 与 kind: "oauth",并在凭据引用旁保留可空的 oauth 对象。未来的账号流程可以在 keys-manager/<provider>/<key> 下追加记录而不改写既有行。本版本中,只有 OAuth 认证的提供商会按不支持上报,而不会被当作 API key 提供商处理。
提供商覆盖
四组,一个池:
- DSH 内置 —— 随附 DSH pi-ai 目录的路由。集合随你安装的 DSH 版本而定,因此以 Models 页面为准;其中四个不在单 key 池管理范围内(见下)。
- 插件扩展内置 —— 本插件以普通 llm-pi-ai 路由新增的 35 条。
- OAuth 账户 —— 9 条以账户而非粘贴 key 入池的路由:七条走 pi-ai 自己的流程,kilo 与 zai 由插件自带的客户端登录。
- 传输路由 —— 7 条随附 pi-ai 无法支持、由 dsh-llm-omp-transports 服务的路由。
已支持 —— 全部插件额外、OAuth 账户与传输路由
插件扩展内置 —— 35 —— 收录自 oh-my-pi 的提供商目录(MIT):
| 提供商 | Route id | API key 环境变量 |
| DeepInfra | deepinfra | DEEPINFRA_API_KEY |
| Novita | novita | NOVITA_API_KEY |
| StepFun | stepfun | STEPFUN_API_KEY |
| SambaNova | sambanova | SAMBANOVA_API_KEY |
| Qianfan | qianfan | QIANFAN_API_KEY |
| GMI Cloud | gmi-cloud | GMI_API_KEY |
| Synthetic | synthetic | SYNTHETIC_API_KEY |
| ZenMux | zenmux | ZENMUX_API_KEY |
| Kilo Gateway | kilo | KILO_API_KEY |
| NanoGPT | nanogpt | NANO_GPT_API_KEY |
| Venice AI | venice | VENICE_API_KEY |
| AIML API | aimlapi | AIMLAPI_API_KEY |
| AI& | aiand | AIAND_API_KEY |
| Helmcode | helmcode | HELMCODE_API_KEY |
| Alibaba Coding Plan | alibaba-coding-plan | ALIBABA_CODING_PLAN_API_KEY |
| MiniMax Coding (Global) | minimax-code | MINIMAX_CODE_API_KEY |
| MiniMax Coding (CN) | minimax-code-cn | MINIMAX_CODE_CN_API_KEY |
| Umans AI Coding Plan | umans | UMANS_AI_CODING_PLAN_API_KEY |
| Sakana AI | sakana | SAKANA_API_KEY |
| CoralBricks | coralbricks | CORAL_API_KEY |
| Wafer Serverless | wafer-serverless | WAFER_SERVERLESS_API_KEY |
| Alibaba Token Plan | alibaba-token-plan | ALIBABA_TOKEN_PLAN_API_KEY |
| Alibaba Token Plan (CN) | alibaba-token-plan-cn | BAILIAN_TOKEN_PLAN_API_KEY |
| Charm Hyper | charm-hyper | CHARM_HYPER_API_KEY, HYPER_API_KEY |
| LiteLLM Proxy | litellm | LITELLM_API_KEY |
| SiliconFlow | siliconflow | SILICONFLOW_API_KEY |
| SiliconFlow (CN) | siliconflow-cn | SILICONFLOW_CN_API_KEY |
| Zhipu Coding Plan | zhipu-coding-plan | ZHIPU_API_KEY |
| Abliteration | abliteration | ABLITERATION_API_KEY, ABLIT_KEY |
| ClinePass | cline-pass | CLINE_API_KEY |
| Command Code | commandcode | COMMAND_CODE_API_KEY, COMMANDCODE_API_KEY |
| CoreWeave Serverless Inference | coreweave | COREWEAVE_API_KEY |
| Fire Pass | firepass | FIREPASS_API_KEY |
| Ollama Cloud | ollama-cloud | OLLAMA_CLOUD_API_KEY |
| Yolo Auto | yolo-auto | YOLO_AUTO_API_KEY |
列出两个变量时二者皆可接受,第一个为主变量;CoreWeave Serverless Inference 还需在添加前把 COREWEAVE_PROJECT=<team>/<project> 设置到 DSH 进程环境中。
OAuth 账户 —— 9
| 提供商 | 路由 | 登录客户端 |
| Anthropic | anthropic | pi-ai |
| GitHub Copilot | github-copilot | pi-ai |
| Kimi Coding | kimi-coding | pi-ai |
| OpenAI Codex | openai-codex | pi-ai |
| OpenRouter | openrouter | pi-ai |
| Radius | radius | pi-ai |
| xAI | xai | pi-ai |
| Kilo | kilo | 插件自带客户端 —— 设备码 + 轮询 |
| Z.AI Coding Plan | zai | 插件自带客户端 —— 粘贴 zcode:// 跳转 |
两个插件签发的凭据是静态的,标记为 signin:kilo / signin:zai-coding-plan,不会向 llm-pi-ai/<provider> 写入任何内容;七条 pi-ai 行则是提供商自己的授权。kilo 出现两次是刻意的:同一条路由既可以作为插件额外内置路由收 API key,也可以通过自带客户端以账户身份入池。
传输路由 —— 7 —— cursor、devin、google-gemini-cli、google-antigravity、factory-droid、gitlab-duo、gitlab-duo-agent;登录、刷新与模型细节见传输路由。
不纳入池 —— 4 个 DSH 内置
| 提供商 | 原因 |
| amazon-bedrock | AWS 凭据链(profile、IAM 密钥、ECS/IRSA/EC2),不是单一 API key |
| cloudflare-ai-gateway | API key 之外还需 Cloudflare 账号 ID 与网关 ID |
| cloudflare-workers-ai | API key 之外还需 Cloudflare 账号 ID |
| openai-codex | 仅支持 ChatGPT OAuth 登录,无 API key 凭据——可作为 OAuth 账户使用而非 key |
其余 DSH 目录路由都提供 API key 凭据;你在档案里自己声明的路由(自定义 / Custom)与内置路由一样入池。
文档
| 文档 | 内容 |
| 开发 | 构建与开发工作流、仓库布局 |
| 发布 | CI 检查与 npm 发布流程 |
| 已知限制 | 当前设计边界,含七条传输路由 |
| 传输包(英文) | 传输路由:支持状态、风险、构建/测试与发布 |
英文版本:README.md · Development · Release · Known limits。
许可证
基于 MIT 许可证 发布。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
btspoony/dsh-keys-manager
把单个服务商 API key 变成托管池的 DSH 插件,还内置更多 LLM 服务商
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目