fix(ai): restore OpenCode Go DeepSeek thinking controls
This commit is contained in:
@@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
## [Unreleased]
|
## [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
|
## [0.79.5] - 2026-06-16
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -1852,10 +1852,7 @@ async function generateModels() {
|
|||||||
|
|
||||||
for (const candidate of allModels) {
|
for (const candidate of allModels) {
|
||||||
if (candidate.api === "openai-completions" && candidate.id.includes("deepseek-v4")) {
|
if (candidate.api === "openai-completions" && candidate.id.includes("deepseek-v4")) {
|
||||||
const preservesNativeReasoningEffort =
|
const preservesNativeReasoningEffort = candidate.provider === "openrouter" || candidate.provider === "opencode";
|
||||||
candidate.provider === "openrouter" ||
|
|
||||||
candidate.provider === "opencode" ||
|
|
||||||
candidate.provider === "opencode-go";
|
|
||||||
candidate.compat = {
|
candidate.compat = {
|
||||||
...candidate.compat,
|
...candidate.compat,
|
||||||
...(preservesNativeReasoningEffort
|
...(preservesNativeReasoningEffort
|
||||||
|
|||||||
@@ -8572,7 +8572,7 @@ export const MODELS = {
|
|||||||
api: "openai-completions",
|
api: "openai-completions",
|
||||||
provider: "opencode-go",
|
provider: "opencode-go",
|
||||||
baseUrl: "https://opencode.ai/zen/go/v1",
|
baseUrl: "https://opencode.ai/zen/go/v1",
|
||||||
compat: {"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true},
|
compat: {"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},
|
||||||
reasoning: true,
|
reasoning: true,
|
||||||
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"max"},
|
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"max"},
|
||||||
input: ["text"],
|
input: ["text"],
|
||||||
@@ -8591,7 +8591,7 @@ export const MODELS = {
|
|||||||
api: "openai-completions",
|
api: "openai-completions",
|
||||||
provider: "opencode-go",
|
provider: "opencode-go",
|
||||||
baseUrl: "https://opencode.ai/zen/go/v1",
|
baseUrl: "https://opencode.ai/zen/go/v1",
|
||||||
compat: {"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true},
|
compat: {"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},
|
||||||
reasoning: true,
|
reasoning: true,
|
||||||
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"max"},
|
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"max"},
|
||||||
input: ["text"],
|
input: ["text"],
|
||||||
@@ -9499,13 +9499,13 @@ export const MODELS = {
|
|||||||
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"xhigh"},
|
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"xhigh"},
|
||||||
input: ["text"],
|
input: ["text"],
|
||||||
cost: {
|
cost: {
|
||||||
input: 0.098,
|
input: 0.09,
|
||||||
output: 0.196,
|
output: 0.18,
|
||||||
cacheRead: 0.02,
|
cacheRead: 0.02,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 1048576,
|
contextWindow: 1048576,
|
||||||
maxTokens: 4096,
|
maxTokens: 65536,
|
||||||
} satisfies Model<"openai-completions">,
|
} satisfies Model<"openai-completions">,
|
||||||
"deepseek/deepseek-v4-pro": {
|
"deepseek/deepseek-v4-pro": {
|
||||||
id: "deepseek/deepseek-v4-pro",
|
id: "deepseek/deepseek-v4-pro",
|
||||||
@@ -10540,13 +10540,13 @@ export const MODELS = {
|
|||||||
reasoning: true,
|
reasoning: true,
|
||||||
input: ["text", "image"],
|
input: ["text", "image"],
|
||||||
cost: {
|
cost: {
|
||||||
input: 0.75,
|
input: 0.74,
|
||||||
output: 3.5,
|
output: 3.5,
|
||||||
cacheRead: 0.16,
|
cacheRead: 0.15,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 262144,
|
contextWindow: 262144,
|
||||||
maxTokens: 262144,
|
maxTokens: 16384,
|
||||||
} satisfies Model<"openai-completions">,
|
} satisfies Model<"openai-completions">,
|
||||||
"nex-agi/nex-n2-pro:free": {
|
"nex-agi/nex-n2-pro:free": {
|
||||||
id: "nex-agi/nex-n2-pro:free",
|
id: "nex-agi/nex-n2-pro:free",
|
||||||
@@ -12985,11 +12985,11 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 1.4,
|
input: 1.4,
|
||||||
output: 4.4,
|
output: 4.4,
|
||||||
cacheRead: 0.26,
|
cacheRead: 0.25,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 1048576,
|
contextWindow: 1048576,
|
||||||
maxTokens: 131072,
|
maxTokens: 16384,
|
||||||
} satisfies Model<"openai-completions">,
|
} satisfies Model<"openai-completions">,
|
||||||
"~anthropic/claude-fable-latest": {
|
"~anthropic/claude-fable-latest": {
|
||||||
id: "~anthropic/claude-fable-latest",
|
id: "~anthropic/claude-fable-latest",
|
||||||
|
|||||||
Reference in New Issue
Block a user