From e15e2239aedb587e6b66357367fc68063a62aefc Mon Sep 17 00:00:00 2001 From: Fahad Iftikhar Date: Fri, 28 Aug 2026 10:51:50 +0500 Subject: [PATCH 1/4] fix(models): block unavailable deepseek-v4-flash-free from picker Add deepseek-v4-flash-free to KNOWN_UNAVAILABLE_MODEL_IDS. The gateway lists this model but requests consistently fail with 'Upstream request failed: Model is unavailable' (HTTP 400). Hiding it from the picker prevents users from selecting a broken model and experiencing repeated failures. Also removes deepseek-v4-flash-free from the qwen3.6-plus-free capacity note (no longer a valid fallback). Closes #203, closes #204. --- package-lock.json | 4 ++-- src/config.ts | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index ab47224..f035fb9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "opencode-copilot-chat", - "version": "0.6.0", + "version": "0.7.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "opencode-copilot-chat", - "version": "0.6.0", + "version": "0.7.3", "license": "MIT", "dependencies": { "@silvia-odwyer/photon-node": "^0.3.4" diff --git a/src/config.ts b/src/config.ts index 9d77ef9..d30d64d 100644 --- a/src/config.ts +++ b/src/config.ts @@ -317,7 +317,12 @@ export const TRANSIENT_FETCH_RETRY_JITTER_MS = 250; /** Zen free-model IDs that do not end in `-free`. */ export const FREE_ZEN_MODEL_IDS = new Set(["big-pickle"]); /** Models removed upstream — always filtered from the picker. */ -export const KNOWN_UNAVAILABLE_MODEL_IDS = new Set(["ring-2.6-1t", "ring-2.6-1t-free", "trinity-large-preview-free"]); +export const KNOWN_UNAVAILABLE_MODEL_IDS = new Set([ + "ring-2.6-1t", + "ring-2.6-1t-free", + "trinity-large-preview-free", + "deepseek-v4-flash-free", +]); /** * Models that live on the OpenCode Zen gateway but with constrained GPU @@ -328,7 +333,7 @@ export const KNOWN_UNAVAILABLE_MODEL_IDS = new Set(["ring-2.6-1t", "ring-2.6-1t- */ export const CAPACITY_LIMITED_MODEL_NOTES: Record = { "qwen3.6-plus-free": - "Free relaunch with limited GPU capacity. Stable for short prompts; bursty traffic or very large tool catalogs may return 5xx - retry or fall back to 'deepseek-v4-flash-free' / 'big-pickle'. Paid 'qwen3.6-plus' has no quota.", + "Free relaunch with limited GPU capacity. Stable for short prompts; bursty traffic or very large tool catalogs may return 5xx - retry or fall back to 'big-pickle'. Paid 'qwen3.6-plus' has no quota.", }; // ─── Per-family thinking defaults (see thinking.ts for the schema) ─────────── From ce8e7f982ae5faa93eb78c09b3748164f2f361f3 Mon Sep 17 00:00:00 2001 From: Fahad Iftikhar Date: Fri, 28 Aug 2026 10:52:13 +0500 Subject: [PATCH 2/4] docs: remove deepseek-v4-flash-free from model table and add changelog Remove deepseek-v4-flash-free from the Zen free models table in README (the model is broken upstream). Add [Unreleased] changelog entry documenting the fix for #203 and #204. --- CHANGELOG.md | 6 ++++++ README.md | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c5e041..9bee3d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to the **OpenCode Go BYOK Provider** extension are documented here. +## [Unreleased] + +### Fixed + +- **`[Models]` Block unavailable `deepseek-v4-flash-free` from the model picker (#203, #204).** The gateway lists `deepseek-v4-flash-free` but requests to it consistently fail with `Upstream request failed: Model is unavailable` (HTTP 400). Added to `KNOWN_UNAVAILABLE_MODEL_IDS` so it is hidden from the picker, preventing the broken model from appearing and causing repeated failures. Removed from README model table and updated capacity-limited model note. + ## [0.7.3] — 2026-08-28 ### Fixed diff --git a/README.md b/README.md index c47f573..84ecf9b 100644 --- a/README.md +++ b/README.md @@ -128,14 +128,13 @@ Curated open coding models, refreshed live from the endpoint. Deprecated/legacy ### 🆓 OpenCode Zen — Free models (no payment needed) -OpenCode Zen offers **rotating free models** — no balance required. Currently free: **Big Pickle** (stealth model), DeepSeek V4 Flash Free, MiMo-V2.5 Free, Hy3 Free, Laguna S 2.1 Free, Ling-3.0-tiny Free, Nemotron 3 Ultra Free, and Nemotron 3.5 Lightning Free. Without a balance, rate limits are low. Adding $20+ to your Zen balance significantly improves rate limits on free models. +OpenCode Zen offers **rotating free models** — no balance required. Currently free: **Big Pickle** (stealth model), MiMo-V2.5 Free, Hy3 Free, Laguna S 2.1 Free, Ling-3.0-tiny Free, Nemotron 3 Ultra Free, and Nemotron 3.5 Lightning Free. Without a balance, rate limits are low. Adding $20+ to your Zen balance significantly improves rate limits on free models. > **Note:** Per the OpenCode docs, free models are all offered **for a limited time** and rotate periodically. The table shows current offerings — availability may change. | Model | Context | Max Output | Vendor | | ----------------------------- | --------: | ---------: | ---------- | | `big-pickle` | 200,000 | 32,000 | 🥒 Stealth | -| `deepseek-v4-flash-free` | 200,000 | 128,000 | DeepSeek | | `mimo-v2.5-free` | 200,000 | 32,000 | Xiaomi | | `hy3-free` | 190,000 | 64,000 | — | | `laguna-s-2.1-free` | 256,000 | 32,000 | — | From 4f42d5e90baa21c22618bbfcaef87a3067d882b7 Mon Sep 17 00:00:00 2001 From: Fahad Iftikhar Date: Fri, 28 Aug 2026 12:13:06 +0500 Subject: [PATCH 3/4] fix(models): block unavailable laguna-s-2.1-free from picker laguna-s-2.1-free now consistently returns HTTP 503 'Endpoint is unavailable' from the OpenCode Zen gateway (upstream endpoint down). The transient 5xx retry exhausts and the user sees the failure directly. Add it to KNOWN_UNAVAILABLE_MODEL_IDS so it is hidden from the picker on every path (live, cached, bundled), matching the deepseek-v4-flash-free fix. Extends the [Unreleased] changelog entry to cover both models. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bee3d8..56fb7c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ All notable changes to the **OpenCode Go BYOK Provider** extension are documente ### Fixed -- **`[Models]` Block unavailable `deepseek-v4-flash-free` from the model picker (#203, #204).** The gateway lists `deepseek-v4-flash-free` but requests to it consistently fail with `Upstream request failed: Model is unavailable` (HTTP 400). Added to `KNOWN_UNAVAILABLE_MODEL_IDS` so it is hidden from the picker, preventing the broken model from appearing and causing repeated failures. Removed from README model table and updated capacity-limited model note. +- **`[Models]` Block unavailable Zen free models from the picker (#203, #204).** The gateway lists `deepseek-v4-flash-free` and `laguna-s-2.1-free` but requests to them consistently fail — `Model is unavailable` (HTTP 400) for the former, `Endpoint is unavailable` (HTTP 503, upstream endpoint down) for the latter. Both added to `KNOWN_UNAVAILABLE_MODEL_IDS` so they are hidden from the picker on every path (live, cached, bundled), preventing repeated failures. Removed from the README Zen free-models table. ## [0.7.3] — 2026-08-28 From de27accfcd2f336f1a381fc268e7827ae24bf937 Mon Sep 17 00:00:00 2001 From: Fahad Iftikhar Date: Fri, 28 Aug 2026 12:15:31 +0500 Subject: [PATCH 4/4] docs: remove laguna-s-2.1-free from Zen free-models table The model is now blocked in KNOWN_UNAVAILABLE_MODEL_IDS (upstream endpoint down, HTTP 503). Remove it from the README table so the docs don't advertise a model the picker no longer offers. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 84ecf9b..879c455 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,6 @@ OpenCode Zen offers **rotating free models** — no balance required. Currently | `big-pickle` | 200,000 | 32,000 | 🥒 Stealth | | `mimo-v2.5-free` | 200,000 | 32,000 | Xiaomi | | `hy3-free` | 190,000 | 64,000 | — | -| `laguna-s-2.1-free` | 256,000 | 32,000 | — | | `ling-3.0-tiny-free` | 262,144 | 32,768 | — | | `nemotron-3-ultra-free` | 1,000,000 | 128,000 | NVIDIA | | `nemotron-3.5-lightning-free` | 262,144 | 262,144 | NVIDIA |