feat: make Gemini model configurable + auto-list available models on error

- gemini_model is now a saved config field (default: gemini-2.0-flash)
- Config panel shows a text input to set the model name
- probarGemini() reads the configured model and on error calls ListModels
  to show exactly which model names are available for the account's API key
- GeminiIntentService and GeminiVisionService build the URL from config at runtime

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro
2026-07-14 20:11:32 +00:00
co-authored by Claude Sonnet 4.6
parent deb4d040c3
commit 75eddd16a6
4 changed files with 37 additions and 10 deletions
@@ -69,6 +69,12 @@
<input wire:model.defer="gemini_api_key" type="password" placeholder="AIza..."
class="w-full border border-gray-300 rounded-lg px-3 py-2 text-sm focus:ring-2 focus:ring-emerald-500 outline-none font-mono">
</div>
<div>
<label class="block text-sm font-semibold text-gray-700 mb-1">Modelo</label>
<p class="text-xs text-gray-400 mb-2">Usa "Probar conexión" para ver los modelos disponibles en tu cuenta si no sabes cuál poner.</p>
<input wire:model.defer="gemini_model" type="text" placeholder="gemini-2.0-flash"
class="w-full border border-gray-300 rounded-lg px-3 py-2 text-sm focus:ring-2 focus:ring-emerald-500 outline-none font-mono">
</div>
<div class="flex items-center gap-3">
<input wire:model.defer="gemini_habilitado" type="checkbox" value="1"
id="gemini_hab" class="w-4 h-4 accent-emerald-600">