feat(providers): add Cline free-tier models and sync Freebuff catalog
- Cline: 6 free models, cline-cli product headers, API-key auth,
{data} envelope unwrap, workos: prefix handling
- Freebuff: muse-spark 1.3 → 1.2 (upstream withdrawal 2026-09-07),
DeepSeek V4.1 Flash rename
This commit is contained in:
1 parent
8b34cfaa44
commit
b0505067b2
16 files changed
+319
-64
No files matched your search
@@ -258,6 +258,12 @@ export const PATTERN_CAPABILITIES = [
|
||||
{ pattern: "*gpt-3.5*", caps: { contextWindow: 16385, maxOutput: 4096 } },
|
||||
{ pattern: "*gpt-oss*", caps: { reasoning: true, thinkingFormat: "openai", contextWindow: 128000 } },
|
||||
|
||||
// ── Cline free tier: Upstage Solar Pro + LongCat (agentic coding models;
|
||||
// windows unverified — 200K/32K conservative, same as laguna:free).
|
||||
// NOTE: placed before the o-series catch-alls — "solar-pro4" contains "o4".
|
||||
{ pattern: "*solar-pro*", caps: { reasoning: true, thinkingFormat: "openai", contextWindow: 200000, maxOutput: 32000 } },
|
||||
{ pattern: "*longcat*", caps: { reasoning: true, thinkingFormat: "openai", contextWindow: 200000, maxOutput: 32000 } },
|
||||
|
||||
// ── OpenAI o-series (reasoning, vision) ──────────────────────────
|
||||
{ pattern: "*o1-mini*", caps: { reasoning: true, thinkingFormat: "openai", contextWindow: 128000 } },
|
||||
{ pattern: "*o1*", caps: { vision: true, reasoning: true, thinkingFormat: "openai", contextWindow: 200000, maxOutput: 100000 } },
|
||||
|
||||
@@ -14,6 +14,9 @@ export default {
|
||||
},
|
||||
},
|
||||
category: "oauth",
|
||||
authModes: ["oauth", "apikey"],
|
||||
hasOAuth: true,
|
||||
authHint: "API key dari app.cline.bot → Settings > API Keys, atau login OAuth via browser.",
|
||||
transport: {
|
||||
baseUrl: "https://api.cline.bot/api/v1/chat/completions",
|
||||
headers: {
|
||||
@@ -26,6 +29,9 @@ export default {
|
||||
combined: true,
|
||||
header: "Authorization",
|
||||
scheme: "bearer",
|
||||
// Hook owns Authorization: workos:-prefixed OAuth vs plain API key
|
||||
// (a merged token can't express both) — see applyAuth.
|
||||
preserveHookAuth: true,
|
||||
hooks: [
|
||||
"clineHeaders",
|
||||
],
|
||||
@@ -40,6 +46,16 @@ export default {
|
||||
{ id: "google/gemini-3.1-pro-preview", name: "Gemini 3.1 Pro Preview" },
|
||||
{ id: "google/gemini-3.1-flash-lite-preview", name: "Gemini 3.1 Flash Lite Preview" },
|
||||
{ id: "kwaipilot/kat-coder-pro", name: "KAT Coder Pro" },
|
||||
// Free tier (verified live via GET /api/v1/ai/cline/recommended-models):
|
||||
// billed $0 on usage, limited quota separate from ClinePass. The
|
||||
// cline-free/* aliases require Cline product headers (see shared/clineAuth.js)
|
||||
// or upstream 403s with "only available via Cline product surfaces".
|
||||
{ id: "cline-free/muse-spark-1.3-contributor", name: "Muse Spark 1.3 (Free)" },
|
||||
{ id: "deepseek/deepseek-v4-flash", name: "DeepSeek V4 Flash (Free)" },
|
||||
{ id: "z-ai/glm-5.3-flash", name: "GLM 5.3 Flash (Free)" },
|
||||
{ id: "cline-free/solar-pro4", name: "Solar Pro 4 (Free)" },
|
||||
{ id: "cline-free/longcat-2.0", name: "LongCat 2.0 (Free)" },
|
||||
{ id: "poolside/laguna-s-2.1:free", name: "Laguna S 2.1 (Free)" },
|
||||
],
|
||||
oauth: {
|
||||
appBaseUrl: "https://app.cline.bot",
|
||||
|
||||
@@ -26,6 +26,9 @@ export default {
|
||||
combined: true,
|
||||
header: "Authorization",
|
||||
scheme: "bearer",
|
||||
// Hook owns Authorization: workos:-prefixed OAuth vs plain API key
|
||||
// (a merged token can't express both) — see applyAuth.
|
||||
preserveHookAuth: true,
|
||||
hooks: [
|
||||
"clineHeaders",
|
||||
],
|
||||
|
||||
@@ -63,7 +63,7 @@ export default {
|
||||
usage: true,
|
||||
},
|
||||
// Mirrors the Freebuff waiting-room picker (upstream FREEBUFF_MODELS) as of
|
||||
// 2026-09-07. NO per-model prices live here: Freebucks pricing is
|
||||
// 2026-09-11. NO per-model prices live here: Freebucks pricing is
|
||||
// server-authoritative — the session response's `freebucks` block carries
|
||||
// `prices` (model → Freebucks/hr) plus an announced `priceChanges` schedule
|
||||
// (promos like Solar Pro 4's Labor Day run expire server-side; see
|
||||
@@ -78,13 +78,20 @@ export default {
|
||||
// only claim while the backend advertises it via limitedModelOffers on the
|
||||
// session status (the executor auto-checks before claiming); the model is
|
||||
// otherwise refused.
|
||||
// meta/muse-spark-1.3-contributor was withdrawn upstream 2026-09-07 (Meta
|
||||
// returns 404 model_not_found on every key) and replaced in the picker by
|
||||
// meta/muse-spark-1.2-contributor — same Contributor terms/pool. 1.3 is
|
||||
// intentionally NOT listed: 9Router has no server-side coercion, so a dead
|
||||
// pick would only fail.
|
||||
// deepseek/deepseek-v4-flash was RENAMED upstream 2026-09-10 to DeepSeek
|
||||
// V4.1 Flash (same undated wire id, new build) — display label follows.
|
||||
models: [
|
||||
{ id: "z-ai/glm-5.3-flash", name: "GLM 5.3 Flash" },
|
||||
{ id: "deepseek/deepseek-v4-flash", name: "DeepSeek V4 Flash" },
|
||||
{ id: "deepseek/deepseek-v4-flash", name: "DeepSeek V4.1 Flash" },
|
||||
{ id: "openai/gpt-5.6-luna", name: "GPT-5.6 Luna" },
|
||||
{ id: "mimo/mimo-v2.5", name: "MiMo 2.5" },
|
||||
{ id: "upstage/solar-pro4", name: "Solar Pro 4" },
|
||||
{ id: "meta/muse-spark-1.3-contributor", name: "Muse Spark 1.3" },
|
||||
{ id: "meta/muse-spark-1.2-contributor", name: "Muse Spark 1.2" },
|
||||
{ id: "anthropic/claude-fable-5", name: "Claude Fable 5 (limited offer)" },
|
||||
],
|
||||
// Login-flow host — the CLI in freebuff mode logs in via freebuff.com, and
|
||||
|
||||
Reference in new issue
Block a user