From ad369fc661bf91c33269ae1d702878d26abee70a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 8 Sep 2026 07:20:58 +0000 Subject: [PATCH] docs(presets): record glm-5.3 on OpenCode Zen Live Zen GET /zen/v1/models on 2026-09-08 lists glm-5.3 and glm-5.3-flash. GLM Fusion stays on Go as the packaged default. qwen3.8-max remains Go-only. Co-authored-by: Emilio Schwaiger --- README.md | 6 +++--- lib/presets.js | 4 ++-- test/offline.test.js | 14 +++++++++++--- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index df36c48..c13903e 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Three LLM calls instead of five. Two parallel experts (Technical + Devil's Advoc ## Presets -IDs below were checked on 2026-08-28 against [OpenCode Go](https://opencode.ai/docs/go/), `GET https://opencode.ai/zen/go/v1/models`, [OpenCode Zen](https://opencode.ai/docs/zen/), and `GET https://opencode.ai/zen/v1/models`. Do not copy a Zen-only id into a Go preset. `gpt-5.6-sol` is still Zen/OpenAI only. +IDs below were checked on 2026-09-08 against [OpenCode Go](https://opencode.ai/docs/go/), `GET https://opencode.ai/zen/go/v1/models`, [OpenCode Zen](https://opencode.ai/docs/zen/), and `GET https://opencode.ai/zen/v1/models`. Do not copy a Zen-only id into a Go preset. `gpt-5.6-sol` is still Zen/OpenAI only. | Preset | Mode | Models | Catalog | Use case | |--------|------|--------|---------|----------| @@ -60,7 +60,7 @@ IDs below were checked on 2026-08-28 against [OpenCode Go](https://opencode.ai/d Role assignments: -- **GLM Fusion.** Every slot is `glm-5.3` on Go. Zen still lists `glm-5.2` as its newest GLM, so this preset stays on Go. +- **GLM Fusion.** Every slot is `glm-5.3` on Go. The packaged default stays on Go as a product choice. Both catalogs list `glm-5.3`. - **Balanced.** Technical Expert and Synthesis: `kimi-k3`. Devil's Advocate and Judge: `deepseek-v4-pro`. Systems Thinker: `glm-5.3`. - **High Quality.** Technical Expert, Systems Thinker, and Synthesis: `kimi-k3`. Devil's Advocate and Judge: `qwen3.8-max`. - **Quality / Frontier.** Technical Expert and Synthesis: `grok-4.6`. Devil's Advocate and Judge: `gpt-5.6-luna`. Systems Thinker: `kimi-k3`. Served from `https://opencode.ai/zen/v1` with `OPENCODE_API_KEY`. If you force this preset onto Go, the Grok slot is now `grok-4.6`. Go still lists `grok-4.5`. @@ -69,7 +69,7 @@ Role assignments: | ID | OpenCode Go (`/zen/go/v1`) | OpenCode Zen (`/zen/v1`) | Notes | |----|----------------------------|--------------------------|-------| -| `glm-5.3` | yes | no | Newest GLM on Go. Zen's newest GLM is `glm-5.2`. | +| `glm-5.3` | yes | yes | Newest GLM on both. Both catalogs also list `glm-5.3-flash`. | | `kimi-k3` | yes | yes | Newest Kimi on both. | | `deepseek-v4-pro` | yes | yes | | | `deepseek-v4-flash` | yes | yes | Default file-agent model. | diff --git a/lib/presets.js b/lib/presets.js index 912738c..8179a15 100644 --- a/lib/presets.js +++ b/lib/presets.js @@ -1,12 +1,12 @@ /** - * Model IDs checked 2026-08-28 against: + * Model IDs checked 2026-09-08 against: * - OpenCode Go: GET https://opencode.ai/zen/go/v1/models and https://opencode.ai/docs/go/ * - OpenCode Zen: GET https://opencode.ai/zen/v1/models and https://opencode.ai/docs/zen/ * - OpenAI API: https://developers.openai.com/api/docs/models (gpt-5.6-sol / luna) * - xAI: https://docs.x.ai/developers/quickstart (grok-4.6) * * grok-4.6 is on Go, Zen, and xAI. Go still lists grok-4.5. - * glm-5.3 and qwen3.8-max are Go-only. Zen's newest GLM is still glm-5.2. + * glm-5.3 is on both Go and Zen. qwen3.8-max remains Go-only. * gpt-5.6-sol is Zen/OpenAI, not Go. Quality stays on Zen as a product choice. */ diff --git a/test/offline.test.js b/test/offline.test.js index 5988881..a791f7d 100644 --- a/test/offline.test.js +++ b/test/offline.test.js @@ -110,18 +110,26 @@ describe('presets', () => { assert.ok(!JSON.stringify(PRESETS.balanced).includes('grok-4.6')); }); - it('documents grok-4.6 on both catalogs as of 2026-08-28', () => { + it('documents glm-5.3 and grok-4.6 on both catalogs as of 2026-09-08', () => { const readme = fs.readFileSync(path.join(root, 'README.md'), 'utf8'); const presetsSrc = fs.readFileSync(path.join(root, 'lib/presets.js'), 'utf8'); - assert.match(readme, /checked on 2026-08-28/); + assert.match(readme, /checked on 2026-09-08/); assert.match(readme, /`grok-4\.6` \| yes \| yes/); + assert.match(readme, /`glm-5\.3` \| yes \| yes/); + assert.match(readme, /glm-5\.3-flash/); assert.doesNotMatch(readme, /grok-4\.6` is not on Go/); assert.doesNotMatch(readme, /Putting this on a Go 3x preset will 404/); + assert.doesNotMatch(readme, /Zen still lists `glm-5\.2` as its newest GLM/); + assert.doesNotMatch(readme, /Zen's newest GLM is `glm-5\.2`/); assert.match(readme, /lib\/event-stream\.js/); assert.match(readme, /lib\/pi-ai\.js/); - assert.match(presetsSrc, /checked 2026-08-28/); + assert.match(presetsSrc, /checked 2026-09-08/); assert.match(presetsSrc, /grok-4\.6 is on Go, Zen, and xAI/); + assert.match(presetsSrc, /glm-5\.3 is on both Go and Zen/); + assert.match(presetsSrc, /qwen3\.8-max remains Go-only/); assert.doesNotMatch(presetsSrc, /It is not on Go/); + assert.doesNotMatch(presetsSrc, /glm-5\.3 and qwen3\.8-max are Go-only/); + assert.doesNotMatch(presetsSrc, /Zen's newest GLM is still glm-5\.2/); }); });