@omdp/dsh-key-fallback 3.3.2 → 3.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -2
- package/lib/index.js +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -4,7 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
**Multi-key API key pool with automatic rotation for [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness)** — hooks DSH's credential seam `credentials.resolve`: each time an adapter asks for a key, if that ref belongs to a configured pool the wrapper returns the pool's current key; when a configured trigger error occurs it marks the failed key cooling (fixed `cooldownMs`, no exponential backoff) and advances to the next key. **Re-sending is left entirely to DSH's own `dsh-llm-retry`** — this plugin never re-sends on its own; it only switches the key and lets the retry policy decide.
|
|
6
6
|
|
|
7
|
-
Current version: **v3.3.
|
|
7
|
+
Current version: **v3.3.3** (`v7` UI generation).
|
|
8
|
+
|
|
9
|
+
## What v3.3.3 offers
|
|
10
|
+
|
|
11
|
+
- **DSH `0.2.1` support declared — zero code change** (2026-10-18). All four dsh peers gained a **second
|
|
12
|
+
per-triple interval**, so they now read `>=0.2.0-rc.1 <0.2.1-0 || >=0.2.1-rc.1 <0.2.2-0`; `cordis` gained
|
|
13
|
+
`4.0.5` and `schemastery` `3.18.5` (both are exactly what `0.2.1-rc.2` pins). Verified in four layers:
|
|
14
|
+
a per-file SHA256 diff of the whole `@deepseek-ai/*` tree between `0.2.0-rc.2` and `0.2.1-rc.2`
|
|
15
|
+
(288 → 305 packages, 177 with real `.js` churn), a real ESM export-set diff of the 9 packages this plugin
|
|
16
|
+
consumes (identical sets; the only removals are in `dsh-app-boot`, which this plugin does not use), a
|
|
17
|
+
method-level existence check of every symbol the plugin touches, and a **real `0.2.1-rc.2` CLI assembly**
|
|
18
|
+
under an isolated `DSH_HOME` (`--dump-config` composes the plugin with zero skips). Counterfactual: reverting
|
|
19
|
+
the peer to the old single interval makes the same run emit `skipping profile bundle … is incompatible with
|
|
20
|
+
dsh 0.2.1-rc.2`, so the test is genuinely sensitive.
|
|
8
21
|
|
|
9
22
|
## What v3.3.2 offers
|
|
10
23
|
|
|
@@ -142,7 +155,7 @@ Current version: **v3.3.2** (`v7` UI generation).
|
|
|
142
155
|
|
|
143
156
|
- DeepSeek Harness with a `web`-profile GUI (`npx @deepseek-ai/dsh web`)
|
|
144
157
|
- Node.js `^22.19` or `>=24`
|
|
145
|
-
- Peer ranges use **per-triple intervals** (since 3.3.2
|
|
158
|
+
- Peer ranges use **per-triple intervals** (single segment since 3.3.2, **two segments since 3.3.3**; per-version enumeration before that) — `@deepseek-ai/dsh` / `@deepseek-ai/dsh-credentials` / `@deepseek-ai/dsh-llm` / `@deepseek-ai/dsh-settings` all declare `>=0.2.0-rc.1 <0.2.1-0 || >=0.2.1-rc.1 <0.2.2-0`: testing the first rc of a triple clears its later rc builds (`0.2.0-rc.2`/`rc.3`…, `0.2.1-rc.2`/`rc.3`…) and that triple's stable release, while crossing into a *new* triple (`0.2.2-rc.1`) is still gated off and requires a fresh check. The `-0` upper bound is mandatory: semver sorts prereleases *before* the stable release, so `<0.2.1` would leak the next triple's rc (see `AGENTS.md` rule 3). `@deepseek-ai/cordis` `4.0.1 || 4.0.2 || 4.0.4 || 4.0.5` and `@deepseek-ai/schemastery` `3.18.1 || 3.18.2 || 3.18.4 || 3.18.5` stay **enumerated** (neither goes through the gate, which only inspects `@deepseek-ai/dsh` and `dsh-*`, and they have sparse version sets with no prerelease chain). The plugin only uses the credential-reference half (`resolve`/`describe`/`set`/`unset`/`credentialRef` — stable since `0.1.0-rc.6`) and the `agent/request` + `agent/request-error` waterfall (payload unchanged across versions); `isCredentialRefName` (added `rc.8`) is implemented locally for compatibility. **Note the `0.1.7` line is no longer declared as of 3.3.2** — install 3.3.1 if you need it.
|
|
146
159
|
|
|
147
160
|
## What v3.2.0 offers
|
|
148
161
|
|
package/lib/index.js
CHANGED
|
@@ -291,7 +291,7 @@ export function apply(ctx, config) {
|
|
|
291
291
|
}
|
|
292
292
|
// ── 包装 credentials.resolve:ref 命中池 env 时返回池当前 key ──
|
|
293
293
|
// 这是 DSH 官方唯一的「每次请求都问一次用哪把 key」接缝(dsh-llm-pi-ai:2563、
|
|
294
|
-
// dsh-llm-deepseek-api-key:44、dsh-
|
|
294
|
+
// dsh-llm-deepseek-api-key:44、dsh-cost-meter:957 等全部经它取值;已归档的 vision-bridge 亦然),
|
|
295
295
|
// 因此拦这一处即可覆盖所有 provider,且语义与「重发归官方、插件只切 key」完全同构。
|
|
296
296
|
const poolsByEnv = new Map()
|
|
297
297
|
const credSvc = ctx.credentials
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omdp/dsh-key-fallback",
|
|
3
3
|
"description": "API Key 回退轮换插件:多 key 池 + 自动轮换(触发码可配置,含 LlmError 标准码全集)+ 环境密钥编辑 + 明文揭示 + 短 ref 迁移。同时兼容 DSH 0.1.5-rc.3(settings.yaml 后端)与 0.1.7+(profile entry config 后端)。Settings → API Key 回退 UI. v7.",
|
|
4
|
-
"version": "3.3.
|
|
4
|
+
"version": "3.3.3",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@deepseek-ai/cordis": "4.0.1 || 4.0.2 || 4.0.4",
|
|
42
|
-
"@deepseek-ai/dsh": ">=0.2.0-rc.1 <0.2.1-0",
|
|
43
|
-
"@deepseek-ai/dsh-credentials": ">=0.2.0-rc.1 <0.2.1-0",
|
|
44
|
-
"@deepseek-ai/dsh-llm": ">=0.2.0-rc.1 <0.2.1-0",
|
|
45
|
-
"@deepseek-ai/dsh-settings": ">=0.2.0-rc.1 <0.2.1-0",
|
|
46
|
-
"@deepseek-ai/schemastery": "3.18.1 || 3.18.2 || 3.18.4"
|
|
41
|
+
"@deepseek-ai/cordis": "4.0.1 || 4.0.2 || 4.0.4 || 4.0.5",
|
|
42
|
+
"@deepseek-ai/dsh": ">=0.2.0-rc.1 <0.2.1-0 || >=0.2.1-rc.1 <0.2.2-0",
|
|
43
|
+
"@deepseek-ai/dsh-credentials": ">=0.2.0-rc.1 <0.2.1-0 || >=0.2.1-rc.1 <0.2.2-0",
|
|
44
|
+
"@deepseek-ai/dsh-llm": ">=0.2.0-rc.1 <0.2.1-0 || >=0.2.1-rc.1 <0.2.2-0",
|
|
45
|
+
"@deepseek-ai/dsh-settings": ">=0.2.0-rc.1 <0.2.1-0 || >=0.2.1-rc.1 <0.2.2-0",
|
|
46
|
+
"@deepseek-ai/schemastery": "3.18.1 || 3.18.2 || 3.18.4 || 3.18.5"
|
|
47
47
|
}
|
|
48
48
|
}
|