fix(ai): restore OpenCode Go DeepSeek thinking controls

This commit is contained in:
Armin Ronacher
2026-06-16 23:14:35 +02:00
Unverified
parent a93f066607
commit bd9f8773ad
3 changed files with 15 additions and 14 deletions
+4
View File
@@ -2,6 +2,10 @@
## [Unreleased]
### Fixed
- Fixed OpenCode Go DeepSeek V4 thinking-off requests to send the provider's `thinking: { type: "disabled" }` compatibility parameter.
## [0.79.5] - 2026-06-16
### Added
+1 -4
View File
@@ -1852,10 +1852,7 @@ async function generateModels() {
for (const candidate of allModels) {
if (candidate.api === "openai-completions" && candidate.id.includes("deepseek-v4")) {
const preservesNativeReasoningEffort =
candidate.provider === "openrouter" ||
candidate.provider === "opencode" ||
candidate.provider === "opencode-go";
const preservesNativeReasoningEffort = candidate.provider === "openrouter" || candidate.provider === "opencode";
candidate.compat = {
...candidate.compat,
...(preservesNativeReasoningEffort
+10 -10
View File
@@ -8572,7 +8572,7 @@ export const MODELS = {
api: "openai-completions",
provider: "opencode-go",
baseUrl: "https://opencode.ai/zen/go/v1",
compat: {"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true},
compat: {"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},
reasoning: true,
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"max"},
input: ["text"],
@@ -8591,7 +8591,7 @@ export const MODELS = {
api: "openai-completions",
provider: "opencode-go",
baseUrl: "https://opencode.ai/zen/go/v1",
compat: {"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true},
compat: {"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},
reasoning: true,
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"max"},
input: ["text"],
@@ -9499,13 +9499,13 @@ export const MODELS = {
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"xhigh"},
input: ["text"],
cost: {
input: 0.098,
output: 0.196,
input: 0.09,
output: 0.18,
cacheRead: 0.02,
cacheWrite: 0,
},
contextWindow: 1048576,
maxTokens: 4096,
maxTokens: 65536,
} satisfies Model<"openai-completions">,
"deepseek/deepseek-v4-pro": {
id: "deepseek/deepseek-v4-pro",
@@ -10540,13 +10540,13 @@ export const MODELS = {
reasoning: true,
input: ["text", "image"],
cost: {
input: 0.75,
input: 0.74,
output: 3.5,
cacheRead: 0.16,
cacheRead: 0.15,
cacheWrite: 0,
},
contextWindow: 262144,
maxTokens: 262144,
maxTokens: 16384,
} satisfies Model<"openai-completions">,
"nex-agi/nex-n2-pro:free": {
id: "nex-agi/nex-n2-pro:free",
@@ -12985,11 +12985,11 @@ export const MODELS = {
cost: {
input: 1.4,
output: 4.4,
cacheRead: 0.26,
cacheRead: 0.25,
cacheWrite: 0,
},
contextWindow: 1048576,
maxTokens: 131072,
maxTokens: 16384,
} satisfies Model<"openai-completions">,
"~anthropic/claude-fable-latest": {
id: "~anthropic/claude-fable-latest",