opencode: Model updates (#57792)

Two model updates:
- **Free**: Big Pickle now has a max output tokens of 32k as per
49991c8f8f
- **Go**: added Qwen3.7 Max as per
4f1d5c511a
and
1554a5a82e (diff-a7ee7cf35b40335095a44cfaac16041313c36322cd14544ddad0289ce69131ab).
Tested this successfully by running a simple "_rename this variable for
me. add a function. delete the function_" test

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- OpenCode: updated models (added Qwen3.7 Max, updated Big Pickle token
counts)
This commit is contained in:
Vlad Ionescu 2026-05-27 21:55:23 +03:00 committed by GitHub
parent 1d029c5ff5
commit c19c89a30a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -149,6 +149,8 @@ pub enum Model {
Qwen3_5Plus,
#[serde(rename = "qwen3.6-plus")]
Qwen3_6Plus,
#[serde(rename = "qwen3.7-max")]
Qwen3_7Max,
// -- Custom model --
#[serde(rename = "custom")]
@ -201,7 +203,8 @@ impl Model {
| Self::MimoV2_5Pro
| Self::MimoV2_5
| Self::DeepSeekV4Pro
| Self::DeepSeekV4Flash => &[OpenCodeSubscription::Go],
| Self::DeepSeekV4Flash
| Self::Qwen3_7Max => &[OpenCodeSubscription::Go],
// Free models
Self::Nemotron3SuperFree | Self::BigPickle => &[OpenCodeSubscription::Free],
@ -260,6 +263,7 @@ impl Model {
Self::MimoV2_5 => "mimo-v2.5",
Self::Qwen3_5Plus => "qwen3.5-plus",
Self::Qwen3_6Plus => "qwen3.6-plus",
Self::Qwen3_7Max => "qwen3.7-max",
Self::BigPickle => "big-pickle",
Self::Nemotron3SuperFree => "nemotron-3-super-free",
@ -313,6 +317,7 @@ impl Model {
Self::MimoV2_5 => "MiMo V2.5",
Self::Qwen3_5Plus => "Qwen3.5 Plus",
Self::Qwen3_6Plus => "Qwen3.6 Plus",
Self::Qwen3_7Max => "Qwen3.7 Max",
Self::BigPickle => "Big Pickle",
Self::Nemotron3SuperFree => "Nemotron 3 Super Free",
@ -363,6 +368,8 @@ impl Model {
Self::Gemini3_1Pro | Self::Gemini3Flash | Self::Gemini3_5Flash => ApiProtocol::Google,
Self::Qwen3_7Max => ApiProtocol::Anthropic,
Self::Glm5
| Self::Glm5_1
| Self::GrokBuild0_1
@ -445,6 +452,7 @@ impl Model {
Self::MimoV2_5Pro => 1_048_576,
Self::MimoV2_5 => 1_000_000,
Self::Qwen3_5Plus | Self::Qwen3_6Plus => 262_144,
Self::Qwen3_7Max => 1_000_000,
Self::BigPickle => 200_000,
Self::Nemotron3SuperFree => 204_800,
Self::DeepSeekV4Pro | Self::DeepSeekV4Flash => 1_000_000,
@ -502,10 +510,10 @@ impl Model {
Some(131_072)
}
}
Self::BigPickle => Some(128_000),
Self::BigPickle => Some(32_000),
Self::KimiK2_6 | Self::KimiK2_5 => Some(65_536),
Self::GrokBuild0_1 => Some(256_000),
Self::Qwen3_5Plus | Self::Qwen3_6Plus => Some(65_536),
Self::Qwen3_7Max | Self::Qwen3_6Plus | Self::Qwen3_5Plus => Some(65_536),
Self::DeepSeekV4Pro | Self::DeepSeekV4Flash => Some(384_000),
Self::Nemotron3SuperFree => Some(128_000),
Self::MimoV2_5Pro | Self::MimoV2_5 => Some(128_000),
@ -572,6 +580,7 @@ impl Model {
| Self::MimoV2_5Pro
| Self::DeepSeekV4Pro
| Self::DeepSeekV4Flash
| Self::Qwen3_7Max
| Self::BigPickle
| Self::Nemotron3SuperFree => false,