39 Commits

Author SHA1 Message Date
8398e988b0 Feat: Agregar agente Groq con integración RAG
- Nuevo módulo groq_agent.py para consultas a la API de Groq
- Panel de administración en /groq para configurar API key, modelo y prompt
- Comando /rag en Discord y Telegram para consultar el RAG
- Sistema de prompt personalizable guardado en base de datos
- Soporte para variables de entorno en Docker
- Fix: starlette version para evitar bug con Jinja2
2026-03-26 21:23:19 -06:00
48f7a80dc4 Fix: Mejorar manejo de menciones en traducciones usando placeholders más robustos
- Cambiar formato de placeholder de <m0 /> a 【M0】 (corchetes chinos)
- El traductor ya no altera estos placeholders
- Agregar verificación de placeholders antes de usar caché
- Regenerar traducciones automáticamente si placeholders no coinciden
- Compatible con formatos antiguos de placeholders
2026-03-23 21:19:13 -06:00
77024d443f Feat: Añadir panel de métricas con estadísticas por idioma, plataforma y servidor
- Crear página dedicada /metrics con gráficos usando Chart.js
- Implementar función get_translation_stats() en database.py
- Añadir endpoint /api/stats en panel/main.py
- Mostrar métricas de traducciones por idioma, plataforma y servidor Discord
- Agregar tarjeta de acceso rápido a Métricas en el Dashboard
- Actualizar action_plan_pro.md con el progreso completado
2026-03-21 15:15:38 -06:00
6ff79f5d69 Fix: Descartar y eliminar del caché valores contaminados con mensajes de error (#12) 2026-03-20 18:57:24 -06:00
e1adb5c390 Fix: Restaurar casaos.yaml completo con volúmenes, restart y metadatos CasaOS + variables Redis (#11) 2026-03-20 18:37:14 -06:00
95904b41a3 Fix: Health Check usa urllib.parse para no corromper el hostname del dominio (#10) 2026-03-20 18:28:21 -06:00
7d4fc17567 Fix: Health Check tolerante con timeout 10s y máximo 2 fallos antes de bloquear (#9) 2026-03-20 18:24:00 -06:00
231eed0239 Fix: Logs visibles en consola Docker y ruta correcta /app/data/logs para volumen persistente (#8) 2026-03-20 18:14:31 -06:00
06da793709 V2 Pro: Logging rotativo, Redis cache, Health Check de LibreTranslate y Rate Limiting en botones (#7) 2026-03-20 18:03:56 -06:00
57d570ad31 Estética: Remover texto fijo de interactión en Discord para limpiar el chat enviando solo botones (#6) 2026-03-20 17:26:36 -06:00
5633f51b24 Mejora: Optimización radical de carga del panel mediante pre-calentamiento asíncrono de caché UI (#5) 2026-03-20 17:19:11 -06:00
f2466fc49e Mejora: Traducción concurrente multilingüe por segmentación de oraciones y párrafos (#4) 2026-03-20 13:25:01 -06:00
df56e7d841 Fix: Recarga en caliente para canales y solución a caché estancado en MySQL 2026-03-20 13:01:26 -06:00
97ce9fce86 Fix WebSocket block and add sync spinner to discord_channels UI 2026-03-20 12:18:32 -06:00
39f531a331 Fix Discord channel activation system
- Fix MySQL boolean conversion in toggle_channel_status
- Improve cache management with 5-second timeout
- Add bulk channel selection and toggle functionality
- Fix Jinja2 template syntax errors
- Add comprehensive debugging for channel status queries
- Implement real-time channel activation without container restart
2026-03-20 06:41:35 -06:00
100fef5c90 fix: Simplificar traducción y corregir imports
- Eliminar segmentación, traducir texto completo de una vez
- Añadir imports faltantes get_name_to_code, get_flag_mapping
- Restaurar filtro: solo enviar botones si hay texto (sin multimedia)
2026-03-20 04:55:13 -06:00
afc446a9aa fix: Mejorar segmentación de traducciones para textos largos
- Limitar cada segmento a 400 caracteres
- Dividir textos largos por palabras para evitar truncamiento
- Limpiar logs de debug
2026-03-20 04:30:10 -06:00
47d2ba0e9a fix: Mejorar logging de traducción y timeout
- Añadir logs detallados para debugging de traducciones
- Aumentar timeout de 10s a 30s para peticiones largas
- Registrar vistas TranslationButton globalmente
2026-03-20 04:22:12 -06:00
ae51b6333c fix: Añadir reintentos de conexión MySQL y limitar reinicios de servicios
- get_connection() reintenta hasta 30 veces con delays de 2s
- iniciar_todo.py limita reinicios a 3 por servicio con cooldown de 60s
- Evitar loops infinitos cuando MySQL no está disponible
2026-03-20 03:55:22 -06:00
baaf4bc1f7 perf: Optimizar inicio de servicios para reducir consumo de RAM
- Inicio escalonado con delays: Panel Web → 5s → Telegram → 10s → Discord
- Flags de Python para reducir footprint de memoria
- Variables de entorno PYTHONDONTWRITEBYTECODE y PYTHONOPTIMIZE
- Límites de memoria en docker-compose.yml
2026-03-20 03:47:59 -06:00
eaf4f51c5a fix: Registrar WelcomeTranslationView globalmente para persistencia después de reinicios 2026-03-20 03:22:46 -06:00
048e39e6a9 feat: Añadir sistema de mensajes de bienvenida con traducción para Discord
- Nueva tabla 'welcome_messages' en la base de datos
- Panel web con página de configuración de bienvenida (/welcome)
  - Listar, crear, editar y eliminar mensajes por servidor
  - Vista previa del mensaje
  - Plantillas predefinidas
- Bot Discord:
  - Nuevo intent 'members' para detectar nuevos usuarios
  - Evento on_member_join que envía mensaje de bienvenida
  - Botones de traducción en mensajes de bienvenida
- Actualizada configuración de MySQL en docker-compose.yml
- Añadido logging de debug para traducciones
2026-03-20 03:18:07 -06:00
a3a55e5a95 style(telegram): simplificar mensaje inicial eliminando la pregunta de idioma redundante 2026-03-07 01:09:33 -06:00
dadb5e2b92 fix(discord): sincronizar banderas de los botones con los datos de la base de datos (panel web) 2026-03-07 01:05:25 -06:00
5e0a8b9643 fix(discord): filtrar botones dinámicamente en la respuesta para respetar la configuración del servidor tras reinicios 2026-03-07 01:03:00 -06:00
e3b1d06442 fix(discord): solución definitiva de persistencia con registro global y custom_ids estáticos 2026-03-07 00:59:20 -06:00
d82ed4b29e fix(discord): añadir defer() en botones para evitar timeout y mostrar errores detallados 2026-03-07 00:53:44 -06:00
5eb2e743a2 fix(discord): implementar botones persistentes para evitar 'Interacción fallida' tras reinicios 2026-03-07 00:47:04 -06:00
bef7588f91 fix(network): forzar IPv4, aumentar timeouts y configurar DNS en casaos.yaml para resolver problemas de conectividad en producción 2026-03-07 00:36:21 -06:00
6599dfcc23 fix: optimizar caché de traducción con hashes SHA256 y normalización de texto para estabilidad en producción 2026-03-06 22:11:29 -06:00
ad0e80b15c feat(panel): gestión de múltiples administradores en MySQL y simplificación de UI 2026-03-06 21:08:37 -06:00
faed585b37 fix(database): añadir tabla ui_translations y funciones de soporte para el panel web 2026-03-06 20:53:27 -06:00
05858e26ab feat(panel): panel web multilingüe con caché de traducciones en MySQL y soporte nest-asyncio 2026-03-06 20:53:20 -06:00
0c0a1811ef feat: implementar caché de traducciones y persistencia de mensajes en MySQL para Discord y Telegram 2026-03-06 20:32:15 -06:00
256d346b33 fix(translate): mejorar regex de segmentación y detección de caracteres internacionales 2026-03-06 20:06:50 -06:00
037a4c5224 feat: implementar traducción multilingüe mediante segmentación de oraciones para Discord y Telegram 2026-03-06 19:54:48 -06:00
7601979d3e feat(discord): proteger menciones y mejorar traducción HTML para mensajes multilínea 2026-03-06 19:28:48 -06:00
e4d50b6eb5 Añadiendo todos los archivos del proyecto (incluidos secretos y venv) 2026-03-06 18:31:45 -06:00
3a15a3eafa primer commit profesional de bots de traducción 2026-03-06 18:31:06 -06:00