pi-multikey 1.14.0 → 1.15.0
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 +2 -0
- package/README.zh.md +2 -0
- package/package.json +1 -1
- package/presets.ts +19 -8
package/README.md
CHANGED
|
@@ -40,6 +40,8 @@ Built-in presets decouple "model settings" from "keys". The data comes from b.ai
|
|
|
40
40
|
| hy3 | 256K / 128K | text | off · low · high |
|
|
41
41
|
| mimo-v2.5 | 1M / 128K | text+image | off · high (official: low/medium/high behave identically) |
|
|
42
42
|
| qwen3.8-flash | 1M / 131K | text+image | off · low · medium · xhigh |
|
|
43
|
+
| deepseek-v4.1-flash | 1M / 384K | text+image | off · low · high · max (official DeepSeek V4 tiers; b.ai probed live 2026-09-25) |
|
|
44
|
+
| glm-5.3-flash | 1M / 131K | text+image | low · high · max (no off — GLM always thinks; b.ai probed live 2026-09-25) |
|
|
43
45
|
|
|
44
46
|
> Why `null` must be explicit: pi's `getSupportedThinkingLevels` treats `mapped === null` as unsupported and hides that level, but **omitting** it is treated as supported and the level name is sent to the API verbatim; `xhigh` / `max` additionally require an explicit non-null value to be usable.
|
|
45
47
|
|
package/README.zh.md
CHANGED
|
@@ -41,6 +41,8 @@ DeepSeek / Tencent / 小米官方文档,并对每个 thinking 档位做过实
|
|
|
41
41
|
| hy3 | 256K / 128K | text | off · low · high |
|
|
42
42
|
| mimo-v2.5 | 1M / 128K | text+image | off · high(官方:low/medium/high 行为相同) |
|
|
43
43
|
| qwen3.8-flash | 1M / 131K | text+image | off · low · medium · xhigh |
|
|
44
|
+
| deepseek-v4.1-flash | 1M / 384K | text+image | off · low · high · max(官方 DeepSeek V4 档位;b.ai 已于 2026-09-25 实测) |
|
|
45
|
+
| glm-5.3-flash | 1M / 131K | text+image | low · high · max(无 off——GLM 始终思考;b.ai 已于 2026-09-25 实测) |
|
|
44
46
|
|
|
45
47
|
> 为什么必须显式写 `null`:pi 的 `getSupportedThinkingLevels` 把 `mapped === null`
|
|
46
48
|
> 视为不支持并隐藏该档,但**省略**会被当作支持并把档名原样发给 API;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-multikey",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "One pi provider backed by many API keys: automatic 429 rotation, per-request key leases for concurrent subagents, and a /multikey management TUI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
package/presets.ts
CHANGED
|
@@ -102,31 +102,41 @@ export const PRESETS: Preset[] = [
|
|
|
102
102
|
// consensus (models.dev opencode/greenpt rows + the same model
|
|
103
103
|
// behind cline-free/deepseek-v4.1-flash, verified live 2026-09-17):
|
|
104
104
|
// ctx 1M, out 384K. Text+image input (models.dev opencode row).
|
|
105
|
-
// Thinking tiers
|
|
106
|
-
//
|
|
107
|
-
//
|
|
105
|
+
// Thinking tiers probed live on b.ai 2026-09-25 (paid key, exact pi
|
|
106
|
+
// request shape: thinking.enabled + reasoning_effort): every level is
|
|
107
|
+
// accepted — the mimo-v2.5-style HTTP 400 for minimal/xhigh/max does
|
|
108
|
+
// NOT apply to this model. DeepSeek official exposes only
|
|
109
|
+
// low/high/max, and low vs high are behaviorally distinct in reasoning
|
|
110
|
+
// length, so minimal/medium/xhigh stay hidden (b.ai accepts them but
|
|
111
|
+
// treats them as duplicates).
|
|
108
112
|
id: "deepseek-v4.1-flash",
|
|
109
113
|
name: "DeepSeek V4.1 Flash",
|
|
110
114
|
reasoning: true,
|
|
111
115
|
input: ["text", "image"],
|
|
112
116
|
contextWindow: 1_000_000,
|
|
113
117
|
maxTokens: 384_000,
|
|
114
|
-
thinkingLevelMap: levels({ off: "none", high: "high" }),
|
|
118
|
+
thinkingLevelMap: levels({ off: "none", low: "low", high: "high", max: "max" }),
|
|
115
119
|
},
|
|
116
120
|
{
|
|
117
121
|
// b.ai /v1/models lists `glm-5.3-flash` (bare ids only — verified
|
|
118
122
|
// live 2026-09-21). Sizes from catalog consensus (models.dev
|
|
119
123
|
// zhipuai/zai rows): ctx 1M, out 128K. Upstream inputs
|
|
120
124
|
// text/image/video/pdf (pi tracks text + image, like mimo-v2.5).
|
|
121
|
-
// Thinking tiers
|
|
122
|
-
//
|
|
125
|
+
// Thinking tiers probed live on b.ai 2026-09-25 (paid key, exact pi
|
|
126
|
+
// request shape): low/high/max accepted and behaviorally distinct
|
|
127
|
+
// (completion 153/257/434 tok on a fixed prompt). medium/minimal are
|
|
128
|
+
// REJECTED (HTTP 400), and thinking:{type:"disabled"} (what pi sends
|
|
129
|
+
// for off) also 400s — so off stays hidden: GLM always thinks, with
|
|
130
|
+
// the plain no-param request defaulting to deep reasoning (verified
|
|
131
|
+
// 200). xhigh is accepted with ≈max-like depth on a single sample but
|
|
132
|
+
// upstream GLM 5.3 Flash declares no xhigh tier — hidden for now.
|
|
123
133
|
id: "glm-5.3-flash",
|
|
124
134
|
name: "GLM 5.3 Flash",
|
|
125
135
|
reasoning: true,
|
|
126
136
|
input: ["text", "image"],
|
|
127
137
|
contextWindow: 1_000_000,
|
|
128
138
|
maxTokens: 131_072,
|
|
129
|
-
thinkingLevelMap: levels({ off: "
|
|
139
|
+
thinkingLevelMap: levels({ off: null, low: "low", high: "high", max: "max" }),
|
|
130
140
|
},
|
|
131
141
|
],
|
|
132
142
|
},
|
|
@@ -276,6 +286,7 @@ export const PRESETS: Preset[] = [
|
|
|
276
286
|
// (deepseek/deepseek-v4.1-flash) is usage-billed — see the comment above.
|
|
277
287
|
// Catalog (openrouter): ctx 1048576, out 384000 (both verified live), text+image.
|
|
278
288
|
// Effort tiers verified live via reasoning:{effort} (incl. "none" = reasoning off).
|
|
289
|
+
// DeepSeek official tiers are only low/high/max, so minimal/medium/xhigh stay hidden.
|
|
279
290
|
id: "cline-free/deepseek-v4.1-flash",
|
|
280
291
|
name: "DeepSeek V4.1 Flash (Free)",
|
|
281
292
|
reasoning: true,
|
|
@@ -283,7 +294,7 @@ export const PRESETS: Preset[] = [
|
|
|
283
294
|
contextWindow: 1_048_576,
|
|
284
295
|
maxTokens: 384_000,
|
|
285
296
|
compat: { thinkingFormat: "openrouter" },
|
|
286
|
-
thinkingLevelMap: levels({ off: "none", low: "low",
|
|
297
|
+
thinkingLevelMap: levels({ off: "none", low: "low", high: "high", max: "max" }),
|
|
287
298
|
},
|
|
288
299
|
{
|
|
289
300
|
// Free at its raw id (no cline-free/ prefix in the feed); 262K window measured
|