Tutor virtual inteligente en CLI orientado a apoyo escolar, con agentes especializados para redaccion, correccion, explicacion y resumen.
El sistema integra la API de OpenAI con validaciones locales, personalidad configurable y manejo robusto de errores.
TutorIA busca sentirse como una conversacion real con un tutor: amable, claro, personalizado y util para avanzar rapido en tareas academicas.
- Generacion de texto sobre un tema.
- Correccion de ortografia, gramatica y estilo.
- Explicacion de temas con enfoque pedagogico.
- Resumen y sintesis de textos.
- Personalizacion de sesion (nombre, objetivo, nivel) sin persistencia.
- Manejo de errores API con mensajes claros y reintentos cortos.
.
|-- agents/ # Agentes por tarea
|-- config/ # Configuracion global y constantes
|-- core/ # Cliente OpenAI, alma del tutor y orquestador central
|-- functions/ # Menu e integracion CLI
|-- utils/ # Validacion, limpieza y utilidades reutilizables
|-- main.py # Punto de entrada
core/soul.md: guia de personalidad y estilo de TutorIA.core/tutor.py:TutorCoreySessionProfilepara orquestar contexto y flujo.core/openai_client.py: capa de llamada API con timeout, retry y errores controlados.functions/agent_selector.py: menu principal y enrutamiento de agentes.utils/validators.py: validaciones balanceadas para menu y entradas de usuario.utils/text_processing.py: saneamiento y normalizacion de texto.utils/helpers.py: helpers de contexto de sesion y formato de mensajes.
- Python 3.10 o superior.
- Cuenta OpenAI con API key activa.
pip install -r requirements.txt- Copia
.env.examplea.env. - Configura tus valores:
OPENAI_API_KEY=tu_api_key_aqui
OPENAI_MODEL=gpt-4.1-minipython main.py- El sistema solicita datos opcionales de sesion para personalizar respuestas.
- Se muestra menu de agentes.
- Se valida y limpia la entrada antes de llamar a la API.
- TutorIA responde con el estilo definido en
core/soul.md.
[Error] OPENAI_API_KEY no configurada: revisa.env.[Error] API key invalida o faltante: valida credenciales en OpenAI.[Error] El modelo '...' no existe: corrigeOPENAI_MODEL.[Error] Cuota o saldo insuficiente (429): revisa billing/usage de la cuenta.[Error] No se pudo conectar con OpenAI: verifica red y estado del servicio.
- Se recomienda ejecutar:
python -m compileall .- Para pruebas automatizadas futuras:
pytest- Crea una rama por cambio.
- Realiza cambios pequenos y atomicos.
- Ejecuta pruebas/verificaciones locales.
- Abre pull request con descripcion clara.
- Agregar tests unitarios para
TutorCorey validadores. - Mejorar contexto pedagógico por nivel academico.
- Incorporar modo historico opcional con persistencia local.