Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
|--------|------|--------|---------|----------|
Expand All @@ -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`.
Expand All @@ -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. |
Expand Down
4 changes: 2 additions & 2 deletions lib/presets.js
Original file line number Diff line number Diff line change
@@ -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.
*/

Expand Down
14 changes: 11 additions & 3 deletions test/offline.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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/);
});
});

Expand Down