🤖 Bot-IA
Asistente de estudio: detecta tareas pendientes con Selenium y redacta borradores con IA local para revisar
Escala del Proyecto
Descripción General
Bot-IA automatiza la parte mecánica de estudiar: entra en el portal educativo con Selenium, detecta qué tareas están pendientes, lee el enunciado de cada una y redacta un borrador de respuesta con un modelo de lenguaje local vía Ollama. El borrador se guarda en Markdown.
La clave del diseño es lo que no hace por defecto. La configuración
viene con MODO_ESTUDIO_SEGURO = True y AUTO_ENVIAR =
False: el bot genera el borrador y ahí se detiene. Cada fichero de respuesta
incluye una lista de comprobación de revisión manual que hay que
recorrer antes de entregar nada.
Para que el borrador sea utilizable, el bot no escribe en el vacío: se le proporciona un fichero Markdown de resúmenes por asignatura con el estilo y el contenido que debe seguir. Sin ese contexto la respuesta es genérica; con él, se parece a los apuntes de la asignatura.
Tecnologías Utilizadas
Python 3.10+
Selenium
Google Chrome
Ollama
qwen2.5-coder:3b
Markdown
Tests
Estructura y Menú
Script principal con el menú interactivo de cuatro opciones.
Toda la configuración: acceso, carpetas, modelo de Ollama, banderas de seguridad y selectores del DOM.
Un fichero Markdown por asignatura con el contexto y el estilo que debe seguir el bot.
Los borradores generados, uno por actividad.
Pruebas básicas del proyecto.
Recorre las tareas pendientes y genera los borradores.
Cierre del programa.
Verifica que el servicio y el modelo estén disponibles antes de intentar generar.
Muestra cuántas tareas hay por asignatura, sin generar nada.
Arquitectura
Proyecto pequeño y muy configurable. Toda la fragilidad del scraping está aislada en
config.py, en forma de selectores del DOM y expresiones XPath: si el
portal cambia su estructura, se arregla editando la configuración en lugar de
tocando el código.
Bot-IA/ └── V0.1-inicio/ ├── main.py # menú y flujo principal ├── config.py # configuración completa ├── requirements.txt ├── resumenes/ # contexto por asignatura (.md) ├── respuestas/ # borradores generados └── tests/
Integraciones Externas
Navegación automatizada del portal educativo. Puede ejecutarse en modo headless o con la ventana visible para depurar.
Generación del borrador con un modelo local — qwen2.5-coder:3b
por defecto — sin enviar los enunciados a ningún servicio externo.
OLLAMA_MODO_PRUEBA permite ejecutar todo el flujo sin generación
real, para probar la navegación sin gastar cómputo.
Flujo Recomendado
- Diagnóstico: opción 3 del menú: se comprueba que Ollama esté activo y el modelo descargado.
- Recuento: opción 4: se ve cuántas tareas pendientes hay por asignatura, sin generar nada.
- Configurar seguridad: se verifica que
MODO_ESTUDIO_SEGUROesté activo yAUTO_ENVIARdesactivado. - Generar borradores: opción 1: el bot navega, detecta las tareas, lee los enunciados y escribe los ficheros Markdown.
- Revisar: cada borrador se corrige a mano recorriendo su lista de comprobación.
- Decidir: solo cuando todo está validado se plantea activar el envío automático.
Formato de Cada Borrador
- Título de la actividad.
- Fecha y asignatura.
- Bloque
## Enunciadocon el texto original de la tarea. - Bloque
## Respuestacon el borrador generado. - Lista de comprobación de revisión manual que hay que recorrer antes de entregar.
Retos Técnicos y Decisiones de Diseño
Diseñar la herramienta para que no se use mal
Un bot que entrega tareas automáticamente es un problema académico, no un proyecto.
Las banderas por defecto — MODO_ESTUDIO_SEGURO = True y
AUTO_ENVIAR = False — y la lista de comprobación en cada borrador están
ahí para que el camino fácil sea el correcto. El README lo dice de forma explícita:
la responsabilidad del contenido es de quien entrega.
El contexto es lo que hace útil la generación
Sin los resúmenes por asignatura, el modelo produce texto genérico que no sirve. Alimentarle un Markdown con el estilo y el contenido de la materia es lo que convierte la salida en un punto de partida real. La calidad del borrador depende más del contexto que del tamaño del modelo.
Aislar la parte que se va a romper
Cualquier automatización sobre una web ajena se rompe cuando esa web cambia. Todos
los selectores CSS y XPath están en config.py, con su sección de
solución de problemas en el README: qué ajustar si no detecta tareas, si no
encuentra el enunciado o si no consigue pegar la respuesta.
Un modo de prueba para no gastar cómputo
Depurar la navegación con Selenium requiere muchas ejecuciones, y generar con un
modelo local en cada una es lento. OLLAMA_MODO_PRUEBA desacopla ambas
cosas: se prueba el scraping sin invocar el modelo.
Mi Rol
Desarrollador — autor único.
Automatización con Selenium, integración con Ollama, sistema de contexto por asignatura, generación del Markdown con su lista de comprobación y el diseño de las salvaguardas por defecto.
Estado del Proyecto
Versión V0.1-inicio funcional. Requiere Python 3.10+, Chrome y Ollama
corriendo en local. Orientado a apoyo del estudio con revisión manual obligatoria.
Código y Enlaces
El repositorio no incluye datos de acceso: el DNI y la URL del portal se configuran
en config.py.