diff --git a/webview-ui/src/components/settings/providers/Gemini.tsx b/webview-ui/src/components/settings/providers/Gemini.tsx
index a8aedbffc4..13243dab4c 100644
--- a/webview-ui/src/components/settings/providers/Gemini.tsx
+++ b/webview-ui/src/components/settings/providers/Gemini.tsx
@@ -1,7 +1,9 @@
import { useCallback, useState, useMemo } from "react"
import { Checkbox } from "vscrui"
import { VSCodeTextField } from "@vscode/webview-ui-toolkit/react"
+import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@src/components/ui/collapsible"
import { Slider } from "@src/components/ui"
+import { ChevronRight } from "lucide-react"
import type { ProviderSettings } from "@roo-code/types"
import { geminiModels, geminiDefaultModelId, type GeminiModelId } from "@roo-code/types"
@@ -23,6 +25,7 @@ export const Gemini = ({ apiConfiguration, setApiConfigurationField, currentMode
const [googleGeminiBaseUrlSelected, setGoogleGeminiBaseUrlSelected] = useState(
!!apiConfiguration?.googleGeminiBaseUrl,
)
+ const [isModelParametersOpen, setIsModelParametersOpen] = useState(false)
const modelInfo = useMemo(() => {
const modelId = (
@@ -84,84 +87,8 @@ export const Gemini = ({ apiConfiguration, setApiConfigurationField, currentMode
)}
-
-
{t("settings:providers.geminiSections.tools")}
+
+
{t("settings:providers.geminiSections.tools")}
+
+
+
+
+
+
+
+ {t("settings:providers.geminiSections.modelParameters.title")}
+
+
+ {t("settings:providers.geminiSections.modelParameters.description")}
+
+
+
+
+
+
+
+
+
+ setApiConfigurationField("topP", values[0])}
+ className="flex-grow"
+ />
+ {(apiConfiguration.topP ?? 0.95).toFixed(2)}
+
+
+ {t("settings:providers.geminiParameters.topP.description")}
+
+
+
+
+
+
+ setApiConfigurationField("topK", values[0])}
+ className="flex-grow"
+ />
+ {apiConfiguration.topK ?? 64}
+
+
+ {t("settings:providers.geminiParameters.topK.description")}
+
+
+
+
+
+
+
+ setApiConfigurationField("maxOutputTokens", values[0])
+ }
+ className="flex-grow"
+ />
+ {
+ const val = parseInt((e as any).target.value, 10)
+ return Number.isNaN(val) ? 0 : Math.min(val, modelInfo.maxTokens)
+ })}
+ className="w-16"
+ />
+
+
+ {t("settings:providers.geminiParameters.maxOutputTokens.description")}_{" "}
+
+
+
+
+
>
)
}
diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json
index 72b8df4892..f5bea43246 100644
--- a/webview-ui/src/i18n/locales/ca/settings.json
+++ b/webview-ui/src/i18n/locales/ca/settings.json
@@ -303,7 +303,10 @@
}
},
"geminiSections": {
- "modelParameters": "Paràmetres del model",
+ "modelParameters": {
+ "title": "Paràmetres del model",
+ "description": "Ajusta la temperatura, top-p i altres paràmetres avançats."
+ },
"tools": "Eines"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json
index 30f47021d3..a337dce074 100644
--- a/webview-ui/src/i18n/locales/de/settings.json
+++ b/webview-ui/src/i18n/locales/de/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "Model Parameter",
+ "modelParameters": {
+ "title": "Modellparameter",
+ "description": "Feinabstimmung von Temperatur, Top-P und anderen erweiterten Einstellungen."
+ },
"tools": "Werkzeuge"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json
index aa2a39044d..491f89184f 100644
--- a/webview-ui/src/i18n/locales/en/settings.json
+++ b/webview-ui/src/i18n/locales/en/settings.json
@@ -277,7 +277,10 @@
"vscodeLmModel": "Language Model",
"vscodeLmWarning": "Note: This is a very experimental integration and provider support will vary. If you get an error about a model not being supported, that's an issue on the provider's end.",
"geminiSections": {
- "modelParameters": "Model Parameters",
+ "modelParameters": {
+ "title": "Model Parameters",
+ "description": "Fine-tune topP, topK and maxOutputTokens"
+ },
"tools": "Tools"
},
"geminiParameters": {
diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json
index 7205ff90ba..3b7e522784 100644
--- a/webview-ui/src/i18n/locales/es/settings.json
+++ b/webview-ui/src/i18n/locales/es/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "Parámetros del modelo",
+ "modelParameters": {
+ "title": "Parámetros del modelo",
+ "description": "Ajusta la temperatura, top-p y otros parámetros avanzados."
+ },
"tools": "Herramientas"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json
index 5a18d7f55c..525a7866ec 100644
--- a/webview-ui/src/i18n/locales/fr/settings.json
+++ b/webview-ui/src/i18n/locales/fr/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "Paramètres du modèle",
+ "modelParameters": {
+ "title": "Paramètres du modèle",
+ "description": "Ajustez la température, top-p et d'autres paramètres avancés."
+ },
"tools": "Outils"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json
index e59c5e0059..2ac60df5a9 100644
--- a/webview-ui/src/i18n/locales/hi/settings.json
+++ b/webview-ui/src/i18n/locales/hi/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "मॉडल पैरामीटर",
+ "modelParameters": {
+ "title": "मॉडल पैरामीटर",
+ "description": "टेम्परेचर, टॉप-पी और अन्य उन्नत सेटिंग्स को फाइन-ट्यून करें।"
+ },
"tools": "उपकरण"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json
index 12755ef6fa..78572f30de 100644
--- a/webview-ui/src/i18n/locales/id/settings.json
+++ b/webview-ui/src/i18n/locales/id/settings.json
@@ -303,7 +303,10 @@
}
},
"geminiSections": {
- "modelParameters": "Parameter Model",
+ "modelParameters": {
+ "title": "Parameter Model",
+ "description": "Menyesuaikan suhu, top-p, dan pengaturan lanjutan lainnya."
+ },
"tools": "Alat"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json
index 3f27152aa3..b40ef2a059 100644
--- a/webview-ui/src/i18n/locales/it/settings.json
+++ b/webview-ui/src/i18n/locales/it/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "Parametri del modello",
+ "modelParameters": {
+ "title": "Parametri del modello",
+ "description": "Regola la temperatura, top-p e altre impostazioni avanzate."
+ },
"tools": "Strumenti"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json
index 5843fd03b9..9568ff624b 100644
--- a/webview-ui/src/i18n/locales/ja/settings.json
+++ b/webview-ui/src/i18n/locales/ja/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "モデルパラメータ",
+ "modelParameters": {
+ "title": "モデルパラメータ",
+ "description": "温度、top-p、およびその他の詳細設定を調整します。"
+ },
"tools": "ツール"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json
index 92dd864233..dd18394e74 100644
--- a/webview-ui/src/i18n/locales/ko/settings.json
+++ b/webview-ui/src/i18n/locales/ko/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "모델 매개변수",
+ "modelParameters": {
+ "title": "모델 매개변수",
+ "description": "온도, top-p 및 기타 고급 설정을 조정합니다."
+ },
"tools": "도구"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json
index b56a40ed39..c310f03b01 100644
--- a/webview-ui/src/i18n/locales/nl/settings.json
+++ b/webview-ui/src/i18n/locales/nl/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "Modelparameters",
+ "modelParameters": {
+ "title": "Modelparameters",
+ "description": "Pas de temperatuur, top-p en andere geavanceerde instellingen aan."
+ },
"tools": "Gereedschap"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json
index 7277e19842..3e879138d3 100644
--- a/webview-ui/src/i18n/locales/pl/settings.json
+++ b/webview-ui/src/i18n/locales/pl/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "Parametry modelu",
+ "modelParameters": {
+ "title": "Parametry modelu",
+ "description": "Dostosuj temperaturę, top-p i inne zaawansowane ustawienia."
+ },
"tools": "Narzędzia"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json
index ec7f54f06a..f3ed8d0d95 100644
--- a/webview-ui/src/i18n/locales/pt-BR/settings.json
+++ b/webview-ui/src/i18n/locales/pt-BR/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "Parâmetros do modelo",
+ "modelParameters": {
+ "title": "Parâmetros do modelo",
+ "description": "Ajuste a temperatura, top-p e outras configurações avançadas."
+ },
"tools": "Ferramentas"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json
index 806204ae0c..6d8646efb9 100644
--- a/webview-ui/src/i18n/locales/ru/settings.json
+++ b/webview-ui/src/i18n/locales/ru/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "Параметры модели",
+ "modelParameters": {
+ "title": "Параметры модели",
+ "description": "Настройте температуру, top-p и другие расширенные параметры."
+ },
"tools": "Инструменты"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json
index 3b053fba80..a5565d00e6 100644
--- a/webview-ui/src/i18n/locales/tr/settings.json
+++ b/webview-ui/src/i18n/locales/tr/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "Model Parametreleri",
+ "modelParameters": {
+ "title": "Model Parametreleri",
+ "description": "Sıcaklık, top-p ve diğer gelişmiş ayarları yapın."
+ },
"tools": "Araçlar"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json
index 6c9f2d0d8f..cc673c3897 100644
--- a/webview-ui/src/i18n/locales/vi/settings.json
+++ b/webview-ui/src/i18n/locales/vi/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "Tham số mô hình",
+ "modelParameters": {
+ "title": "Tham số mô hình",
+ "description": "Điều chỉnh nhiệt độ, top-p và các cài đặt nâng cao khác."
+ },
"tools": "Công cụ"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json
index 97b78e7d0c..b516caebe0 100644
--- a/webview-ui/src/i18n/locales/zh-CN/settings.json
+++ b/webview-ui/src/i18n/locales/zh-CN/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "模型参数",
+ "modelParameters": {
+ "title": "模型参数",
+ "description": "调整温度、top-p 和其他高级设置。"
+ },
"tools": "工具"
},
"googleCloudSetup": {
diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json
index ec4b41eb74..9775bf9908 100644
--- a/webview-ui/src/i18n/locales/zh-TW/settings.json
+++ b/webview-ui/src/i18n/locales/zh-TW/settings.json
@@ -299,7 +299,10 @@
}
},
"geminiSections": {
- "modelParameters": "模型參數",
+ "modelParameters": {
+ "title": "模型參數",
+ "description": "調整溫度、top-p 和其他進階設定。"
+ },
"tools": "工具"
},
"googleCloudSetup": {