fix: soporte para proveedor Gemini + evita que el agente use Markdown

- providerDefaultURL no tenía caso para "gemini": sin Base URL manual caía
  al default (la URL de OpenAI) y fallaba siempre con la API key de Google.
  Se agrega la capa de compatibilidad OpenAI de Gemini
  (generativelanguage.googleapis.com/v1beta/openai).
- El widget muestra el texto del agente tal cual (textContent, no innerHTML
  — deliberado, evita XSS si algo del contenido crawleado se cuela en una
  respuesta). El modelo respondía con **negrita** y listas en Markdown que
  se veían como asteriscos/guiones sueltos en vez de renderizarse. Se
  instruye al system prompt a no usar Markdown, en vez de sumar un parser
  al widget. Aplica a los tres canales (widget, Telegram, WhatsApp) y al
  chat de prueba del panel, porque todos comparten el mismo prompt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-08-12 21:23:30 -05:00
co-authored by Claude Sonnet 5
parent de222b8b1d
commit 22efb9ca70
2 changed files with 5 additions and 0 deletions
+4
View File
@@ -1493,6 +1493,10 @@ func providerDefaultURL(provider string) string {
return "https://api.groq.com/openai/v1"
case "deepseek":
return "https://api.deepseek.com/v1"
case "gemini", "google":
// Capa de compatibilidad OpenAI de Gemini — sin esto, "gemini" caía al
// default (la URL de OpenAI) y fallaba siempre con la API key de Google.
return "https://generativelanguage.googleapis.com/v1beta/openai"
default:
return "https://api.openai.com/v1"
}