From 5701b09c23d988145c785555a24ddb420562e44c Mon Sep 17 00:00:00 2001 From: SuYao Date: Sat, 17 May 2025 00:45:26 +0800 Subject: [PATCH] Hotfix/gemini openrouter (#6080) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat: 添加对openai兼容情况下Gemini模型的思考配置支持 --- .../providers/AiProvider/OpenAIProvider.ts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) 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 {} }