19 Commits

Author SHA1 Message Date
renato97
a7726365d7 feat: Docker para CBC con acceso limitado
- Dockerfile minimal con Python 3.11
- docker-compose.yml con volumenes controlados
- .dockerignore para build eficiente
- Script de inicio start.sh
- .env.example para configuración

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:44:09 +00:00
renato97
d50772d962 fix: Mejora parser de tablas LaTeX
- Elimina líneas hline duplicadas
- Mejora limpieza de comandos LaTeX en celdas
- Usa regex para manejar {contenido}
- Filtra celdas vacías

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:32:18 +00:00
renato97
d902203b59 fix: Detección estricta de archivos ya procesados
- Compara nombres exactos (stem.txt) en vez de substrings
- Agrega verificación en callback de descarga
- Evita re-procesamiento de archivos

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:28:04 +00:00
renato97
1f6bfa771b fix: Mejoras en generación de PDFs y resúmenes
- Corrige PDFGenerator para pasar contenido (no ruta)
- Agrega prompt siguiendo código.md (español, estructura académica)
- Limpia thinking tokens de respuesta AI
- Agrega skip de archivos ya procesados en watcher
- Implementa tablas LaTeX en PDFs (reportlab Table)
- Agrega load_dotenv() en main.py
- Actualiza .env con MiniMax config
- Agrega transcriptions/ a .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:12:00 +00:00
renato97
ee8fc183be feat: Sistema CBCFacil completo con cola secuencial
- Implementa ProcessingMonitor singleton para procesamiento secuencial de archivos
- Agrega AI summary service con soporte para MiniMax API
- Agrega PDF generator para resúmenes
- Agrega watchers para monitoreo de carpeta remota
- Mejora sistema de notificaciones Telegram
- Implementa gestión de VRAM para GPU
- Configuración mediante variables de entorno (sin hardcoded secrets)
- .env y transcriptions/ agregados a .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:35:39 +00:00
renato97
dcf887c510 feat: Sistema LaTeX mejorado con sanitización automática y corrección de TikZ
Cambios principales:

## Nuevos archivos
- services/ai/parallel_provider.py: Ejecución paralela de múltiples proveedores AI
- services/ai/prompt_manager.py: Gestión centralizada de prompts (resumen.md como fuente)
- latex/resumen.md: Template del prompt para resúmenes académicos LaTeX

## Mejoras en generación LaTeX (document/generators.py)
- Nueva función _sanitize_latex(): Corrige automáticamente errores comunes de AI
  - Agrega align=center a nodos TikZ con saltos de línea (\\)
  - Previene errores 'Not allowed in LR mode' antes de compilar
- Soporte para procesamiento paralelo de proveedores AI
- Conversión DOCX en paralelo con generación PDF
- Uploads a Notion en background (non-blocking)
- Callbacks de notificación para progreso en Telegram

## Mejoras en proveedores AI
- claude_provider.py: fix_latex() con instrucciones específicas para errores TikZ
- gemini_provider.py: fix_latex() mejorado + rate limiting + circuit breaker
- provider_factory.py: Soporte para parallel provider

## Otros cambios
- config/settings.py: Nuevas configuraciones para Gemini models
- services/webdav_service.py: Mejoras en manejo de conexión
- .gitignore: Ignora archivos LaTeX auxiliares (.aux, .toc, .out, .pdf)

## Archivos de ejemplo
- latex/imperio_romano.tex, latex/clase_revolucion_rusa_crisis_30.tex
- resumen_curiosidades.tex (corregido y compilado exitosamente)
2026-02-07 20:50:27 +00:00
renato97
915f827305 feat: Implementación de Resúmenes Matemáticos con LaTeX y Pandoc
##  Novedades
- **Soporte LaTeX**: Generación de PDFs y DOCX con fórmulas matemáticas renderizadas correctamente usando Pandoc.
- **Sanitización Automática**: Corrección de caracteres Unicode (griegos/cirílicos) y sintaxis LaTeX para evitar errores de compilación.
- **GLM/Claude Prioritario**: Cambio de proveedor de IA predeterminado a Claude/GLM para mayor estabilidad y capacidad de razonamiento.
- **Mejoras en Formato**: El formateo final del resumen ahora usa el modelo principal (GLM) en lugar de Gemini para consistencia.

## 🛠️ Cambios Técnicos
- `document/generators.py`: Reemplazo de generación manual por `pandoc`. Añadida función `_sanitize_latex`.
- `services/ai/claude_provider.py`: Soporte mejorado para variables de entorno de Z.ai.
- `services/ai/provider_factory.py`: Prioridad ajustada `Claude > Gemini`.
- `latex/`: Añadida documentación de referencia para el pipeline LaTeX.
2026-01-26 23:40:16 +00:00
renato97
f9d245a58e Token already removed 2026-01-26 17:31:17 +00:00
renato97
6058dc642e feat: Integración automática con Notion + análisis completo del código
- Instalado notion-client SDK oficial para integración robusta
- Refactorizado services/notion_service.py con SDK oficial de Notion
  - Rate limiting con retry y exponential backoff
  - Parser Markdown → Notion blocks (headings, bullets, paragraphs)
  - Soporte para pages y databases
  - Manejo robusto de errores

- Integración automática en document/generators.py
  - PDFs se suben automáticamente a Notion después de generarse
  - Contenido completo del resumen formateado con bloques
  - Metadata rica (tipo de archivo, path, fecha)

- Configuración de Notion en main.py
  - Inicialización automática al arrancar el servicio
  - Validación de credenciales

- Actualizado config/settings.py
  - Agregado load_dotenv() para cargar variables de .env
  - Configuración de Notion (NOTION_API, NOTION_DATABASE_ID)

- Scripts de utilidad creados:
  - test_notion_integration.py: Test de subida a Notion
  - test_pipeline_notion.py: Test del pipeline completo
  - verify_notion_permissions.py: Verificación de permisos
  - list_notion_pages.py: Listar páginas accesibles
  - diagnose_notion.py: Diagnóstico completo
  - create_notion_database.py: Crear database automáticamente
  - restart_service.sh: Script de reinicio del servicio

- Documentación completa en opus.md:
  - Análisis exhaustivo del codebase (42 archivos Python)
  - Bugs críticos identificados y soluciones
  - Mejoras de seguridad (autenticación, rate limiting, CORS, CSP)
  - Optimizaciones de rendimiento (Celery, Redis, PostgreSQL, WebSockets)
  - Plan de testing (estructura, ejemplos, 80% coverage goal)
  - Roadmap de implementación (6 sprints detallados)
  - Integración avanzada con Notion documentada

Estado: Notion funcionando correctamente, PDFs se suben automáticamente
2026-01-26 17:31:17 +00:00
renato97
47896fd50a docs: nuevo README completo con especificaciones del dashboard y API 2026-01-10 19:34:57 +00:00
renato97
f04c1cd548 feat: dashboard integrado en thread separado + documentación
🚀 Mejoras principales:
- Dashboard Flask ahora corre en thread daemon independiente
- Integración con python-dotenv para variables de entorno
- Configuración de puerto vía DASHBOARD_PORT (default: 5000)
- Mejor logging con Thread-ID para debugging

📦 Nuevos archivos:
- kubectl: binary de Kubernetes para deployments
- plus.md: documentación adicional del proyecto
- todo.md: roadmap y tareas pendientes

🔧 Cambios técnicos:
- run_dashboard_thread(): ejecuta Flask en thread separado
- start_dashboard(): crea y arranca daemon thread
- Configuración de reloader desactivado en threaded mode

Esto permite que el dashboard corra sin bloquear el loop principal
de procesamiento, mejorando la arquitectura del servicio.
2026-01-10 19:32:08 +00:00
renato97
75ef0afcb1 feat(dashboard): agregar panel de versiones y corregir carga de transcripciones
- Corregir endpoints /api/transcription y /api/summary para manejar filenames con extensión
- Agregar endpoint /api/versions para listar archivos generados
- Agregar tab 'Versiones' en panel lateral con lista de archivos
- Mejorar modal de progreso con barra animada y estados
- Cambiar archivos para que se abran en pestaña en lugar de descargarse
- Agregar botón 'Regenerar' en lista de archivos procesados
2026-01-10 19:18:14 +00:00
312e303563 Cleanup: Remove legacy Docker files (Dockerfile, docker-compose) and docs 2026-01-09 18:35:15 -03:00
f7fdb0b622 Refine formatting: Justified text, robust PDF/DOCX generation, clean markdown style 2026-01-09 18:33:38 -03:00
e6a01d08d4 Restore full pipeline: 3-step summarization, formatting, PDF/DOCX generation 2026-01-09 17:01:22 -03:00
b017504c52 CBCFacil v8.0 - Refactored with AMD GPU support 2026-01-09 13:05:46 -03:00
renato97
cb17136f21 Fix Claude CLI permissions and clean docker context 2025-12-17 17:15:03 +00:00
renato97
b26248076b Refactor: streamline core service and clean workspace 2025-12-16 23:09:48 +00:00
renato97
9fb01d5c22 Initial commit 2025-12-16 22:32:27 +00:00