Просмотр исходного кода

fix: issue w/ normal transform options conflicting w/ small model options when gen-ing title

Aiden Cline 1 месяц назад
Родитель
Сommit
2e4fe973c9

+ 4 - 0
packages/opencode/src/provider/transform.ts

@@ -497,6 +497,10 @@ export namespace ProviderTransform {
       return { reasoningEffort: "minimal" }
     }
     if (model.providerID === "google") {
+      // gemini-3 uses thinkingLevel, gemini-2.5 uses thinkingBudget
+      if (model.api.id.includes("gemini-3")) {
+        return { thinkingConfig: { thinkingLevel: "minimal" } }
+      }
       return { thinkingConfig: { thinkingBudget: 0 } }
     }
     if (model.providerID === "openrouter") {

+ 4 - 8
packages/opencode/src/session/llm.ts

@@ -82,16 +82,12 @@ export namespace LLM {
     }
 
     const provider = await Provider.getProvider(input.model.providerID)
-    const small = input.small ? ProviderTransform.smallOptions(input.model) : {}
     const variant =
       !input.small && input.model.variants && input.user.variant ? input.model.variants[input.user.variant] : {}
-    const options = pipe(
-      ProviderTransform.options(input.model, input.sessionID, provider.options),
-      mergeDeep(small),
-      mergeDeep(input.model.options),
-      mergeDeep(input.agent.options),
-      mergeDeep(variant),
-    )
+    const base = input.small
+      ? ProviderTransform.smallOptions(input.model)
+      : ProviderTransform.options(input.model, input.sessionID, provider.options)
+    const options = pipe(base, mergeDeep(input.model.options), mergeDeep(input.agent.options), mergeDeep(variant))
 
     const params = await Plugin.trigger(
       "chat.params",