diff --git a/src/renderer/src/providers/AiProvider/OpenAIProvider.ts b/src/renderer/src/providers/AiProvider/OpenAIProvider.ts index 597f85f5fc..a7bed185d5 100644 --- a/src/renderer/src/providers/AiProvider/OpenAIProvider.ts +++ b/src/renderer/src/providers/AiProvider/OpenAIProvider.ts @@ -10,6 +10,7 @@ import { isSupportedReasoningEffortModel, isSupportedReasoningEffortOpenAIModel, isSupportedThinkingTokenClaudeModel, + isSupportedThinkingTokenGeminiModel, isSupportedThinkingTokenModel, isSupportedThinkingTokenQwenModel, isVisionModel, @@ -258,6 +259,19 @@ export default class OpenAIProvider extends BaseOpenAIProvider { return { thinking: { type: 'disabled' } } } + if (isSupportedThinkingTokenGeminiModel(model)) { + // openrouter没有提供一个不推理的选项,先隐藏 + if (this.provider.id === 'openrouter') { + return { reasoning: { maxTokens: 0, exclude: true } } + } + return { + thinkingConfig: { + includeThoughts: false, + thinkingBudget: 0 + } + } + } + return {} } const effortRatio = EFFORT_RATIO[reasoningEffort] @@ -313,6 +327,16 @@ export default class OpenAIProvider extends BaseOpenAIProvider { } } + // Gemini models + if (isSupportedThinkingTokenGeminiModel(model)) { + return { + thinkingConfig: { + thinkingBudget: budgetTokens, + includeThoughts: true + } + } + } + // Default case: no special thinking settings return {} }