pi-multikey 1.9.0 → 1.10.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/package.json +1 -1
- package/presets.ts +30 -7
- package/tui.ts +3 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-multikey",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.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
|
@@ -188,7 +188,7 @@ export const PRESETS: Preset[] = [
|
|
|
188
188
|
id: "cline-free",
|
|
189
189
|
name: "Cline Free",
|
|
190
190
|
description:
|
|
191
|
-
"api.cline.bot — Cline account free tier: DeepSeek V4 Flash, Longcat 2.0, Laguna S 2.1, GLM 5.
|
|
191
|
+
"api.cline.bot — Cline account free tier: DeepSeek V4 Flash, Longcat 2.0, Laguna S 2.1, GLM 5.3, Solar Pro 4, Muse Spark 1.3 (daily per-model quota, lineup rotates)",
|
|
192
192
|
defaultPoolId: "cline",
|
|
193
193
|
baseUrl: "https://api.cline.bot/api/v1",
|
|
194
194
|
api: "openai-completions",
|
|
@@ -215,16 +215,39 @@ export const PRESETS: Preset[] = [
|
|
|
215
215
|
name: "Laguna S 2.1 (Free)",
|
|
216
216
|
reasoning: true,
|
|
217
217
|
input: ["text"],
|
|
218
|
-
//
|
|
219
|
-
contextWindow:
|
|
220
|
-
maxTokens:
|
|
218
|
+
// Window/output measured from the live free tier (tuned in multikey.json).
|
|
219
|
+
contextWindow: 262_144,
|
|
220
|
+
maxTokens: 32_768,
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
// z-ai/glm-5.2:free retired from the Cline lineup (id answers "model not found");
|
|
224
|
+
// succeeded by glm-5.3-flash. Always-on reasoning, no effort tiers; vision input.
|
|
225
|
+
id: "z-ai/glm-5.3-flash",
|
|
226
|
+
name: "GLM 5.3 (Free)",
|
|
227
|
+
reasoning: true,
|
|
228
|
+
input: ["text", "image"],
|
|
229
|
+
contextWindow: 1_048_576,
|
|
230
|
+
maxTokens: 128_000,
|
|
221
231
|
},
|
|
222
232
|
{
|
|
223
|
-
id: "
|
|
224
|
-
name: "
|
|
233
|
+
id: "upstage/solar-pro4",
|
|
234
|
+
name: "Upstage Solar Pro 4",
|
|
225
235
|
reasoning: true,
|
|
226
236
|
input: ["text"],
|
|
227
|
-
|
|
237
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
238
|
+
contextWindow: 524_000,
|
|
239
|
+
maxTokens: 16_384,
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
// Same Meta model as OpenCode Zen's muse-spark-1.3-contributor-free, served
|
|
243
|
+
// through Cline's chat-completions endpoint (no Responses API / session
|
|
244
|
+
// affinity needed). Always-on reasoning; text + image input.
|
|
245
|
+
id: "meta/muse-spark-1.3-contributor",
|
|
246
|
+
name: "Meta Muse Spark 1.3 Contributor",
|
|
247
|
+
reasoning: true,
|
|
248
|
+
input: ["text", "image"],
|
|
249
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
250
|
+
contextWindow: 1_048_576,
|
|
228
251
|
maxTokens: 131_072,
|
|
229
252
|
},
|
|
230
253
|
],
|
package/tui.ts
CHANGED
|
@@ -267,7 +267,9 @@ export async function pickMany(
|
|
|
267
267
|
if (v.length === 0) {
|
|
268
268
|
add(theme.fg("warning", " No matches."));
|
|
269
269
|
} else {
|
|
270
|
-
|
|
270
|
+
const start = Math.max(0, Math.min(cursor - Math.floor(maxVisible / 2), Math.max(0, v.length - maxVisible)));
|
|
271
|
+
const end = Math.min(v.length, start + maxVisible);
|
|
272
|
+
for (let i = start; i < end; i++) {
|
|
271
273
|
const item = v[i]!;
|
|
272
274
|
const active = i === cursor;
|
|
273
275
|
const check = selected.has(item.value) ? theme.fg("accent", "✓") : " ";
|