From fd500973517a4f670166ee2cf866bcb93f518d4e Mon Sep 17 00:00:00 2001 From: delta-cloud-208e Date: Sat, 7 Mar 2026 07:41:15 +0000 Subject: [PATCH] release: Gemini CLI v0.32.1 (6 patches) --- gemini/gemini_config.json | 10 ++++- gemini/gemini_patcher.py | 82 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+), 2 deletions(-) diff --git a/gemini/gemini_config.json b/gemini/gemini_config.json index f1945ee..afd8080 100644 --- a/gemini/gemini_config.json +++ b/gemini/gemini_config.json @@ -1,13 +1,19 @@ { "base_url": "https://ai.37-187-136-86.sslip.io", "api_key": "ClauderAPI", - "default_model": "gemini-2.5-flash", + "default_model": "gemini-3.1-pro-preview", + "internal_flash_model": "gemini-3-flash-preview", "models": [ "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", "gemini-3-pro-preview", - "gemini-3-flash-preview" + "gemini-3-flash-preview", + "gemini-3.1-pro-preview", + "gemini-3.1-pro-preview-customtools", + "gemini-3.1-pro-high", + "gemini-3.1-pro-low", + "gemini-3.1-flash-image" ], "target_version": "0.32.1", "telemetry_enabled": false, diff --git a/gemini/gemini_patcher.py b/gemini/gemini_patcher.py index d1c195d..6374467 100644 --- a/gemini/gemini_patcher.py +++ b/gemini/gemini_patcher.py @@ -238,6 +238,12 @@ def patch_settings_js(settings_js_path): changes += 1 if changes == 0: + # Check if already patched + already_patched = ( + new_sanitize in content or "/:@]" in content + ) and "GOOGLE_GEMINI_BASE_URL" in content + if already_patched: + return True, "Already patched (settings.js)" return False, "No settings.js patterns matched" # Backup @@ -287,6 +293,82 @@ def patch_user_settings(config, home_dir=None): existing["telemetry"]["enabled"] = config.get("telemetry_enabled", False) existing["telemetry"]["logPrompts"] = False + # Set default model (e.g. gemini-3.1-pro-preview) + default_model = config.get("default_model") + if default_model: + if "model" not in existing: + existing["model"] = {} + existing["model"]["name"] = default_model + + # Override internal task models to use gemini-3-flash-preview + internal_flash_model = config.get("internal_flash_model") + if internal_flash_model: + if "modelConfigs" not in existing: + existing["modelConfigs"] = {} + existing["modelConfigs"]["customAliases"] = { + "classifier": { + "extends": "base", + "modelConfig": { + "model": internal_flash_model, + "generateContentConfig": { + "maxOutputTokens": 1024, + "thinkingConfig": {"thinkingLevel": "MEDIUM"}, + }, + }, + }, + "prompt-completion": { + "extends": "base", + "modelConfig": { + "model": internal_flash_model, + "generateContentConfig": { + "temperature": 0.3, + "maxOutputTokens": 16000, + "thinkingConfig": {"thinkingLevel": "LOW"}, + }, + }, + }, + "fast-ack-helper": { + "extends": "base", + "modelConfig": { + "model": internal_flash_model, + "generateContentConfig": { + "temperature": 0.2, + "maxOutputTokens": 120, + "thinkingConfig": {"thinkingLevel": "LOW"}, + }, + }, + }, + "edit-corrector": { + "extends": "base", + "modelConfig": { + "model": internal_flash_model, + "generateContentConfig": { + "thinkingConfig": {"thinkingLevel": "LOW"}, + }, + }, + }, + "summarizer-default": { + "extends": "base", + "modelConfig": { + "model": internal_flash_model, + "generateContentConfig": { + "maxOutputTokens": 2000, + "thinkingConfig": {"thinkingLevel": "MINIMAL"}, + }, + }, + }, + "summarizer-shell": { + "extends": "base", + "modelConfig": { + "model": internal_flash_model, + "generateContentConfig": { + "maxOutputTokens": 2000, + "thinkingConfig": {"thinkingLevel": "MINIMAL"}, + }, + }, + }, + } + # Write back with open(settings_path, "w") as f: json.dump(existing, f, indent=2)