5.2 KiB
5.2 KiB
Sistema de tareas de las hijas (Inés y Carolina) — Google Drive + IA
Documentación para reproducir el sistema en cualquier equipo. Última revisión: 04-oct-2026 (portátil).
1. Qué es
Ecosistema para gestionar las tareas escolares de las hijas:
- Los correos de Classroom de Inés se vigilan y avisan por Telegram.
- Las tareas entregadas (fotos/escaneos) se suben a Google Drive por asignatura.
- El asistente (opencode/IA) lee los documentos, corrige y genera hojas nuevas de repaso.
2. Cuentas y credenciales
| Elemento | Valor |
|---|---|
| Google Drive (personal) | juan.minguez.sanz@gmail.com |
| Proyecto Google Cloud | tareasnenas |
| Client secret | biblioteca_negocio_prolongo/google/client_secret_personal.json |
| Token OAuth | biblioteca_negocio_prolongo/google/token_personal.json |
| Scopes | drive, gmail.readonly, documents |
| Correo escolar de Inés | ines.minguezlarhziale@alumnos.fundacionvictoria.edu.es |
El
token_personal.jsonse refresca solo al usarlo (guardar el fichero tras refrescar). Acceso válido desde portátil y sobremesa sin depender del otro equipo.
3. Estructura en Google Drive
TAREAS/
├── CAROLINA/
│ ├── LENGUA/
│ │ ├── Por hacer/ ← hojas en blanco (SIN soluciones) para que las haga
│ │ └── Respondido/ ← lo ya entregado (escaneos/PDF) y el modelo hecho
│ └── MATEMATICAS/
└── INES/
├── FISICA Y QUÍMICA/<Tema>/ → Doc "FEEDBACK ..." + fotos
├── HISTORIA Y GEOGRAFÍA/ → Doc "Tareas - HISTORIA Y GEOGRAFÍA"
├── LENGUA/ → Doc "Tareas - LENGUA"
├── MATEMÁTICAS/ · INGLÉS/ · E.F/ · MÚSICA/ · PLÁSTICA/ · RELIGIÓN/ · TECNOLOGÍA/ · VALORES/
Convención de organización (IMPORTANTE)
- Cada asignatura tiene subcarpetas
Por hacer(pendiente) yRespondido(hecho). - Cuando algo se responde, se mueve de
Por haceraRespondido(no se deja mezclado). - Las hojas para las niñas van sin soluciones; el asistente guarda las respuestas correctas para corregir.
Formato de los docs "Tareas - "
TAREAS INES - <ASIGNATURA>
Profesor/a: <nombre>
Actualizado: DD/MM/AAAA
TAREAS Y ACTIVIDADES
========================================
[Pendiente|Pasada|Revisar] <titulo>
Tipo: Anuncio|Tarea|Material | Fecha: DD mes AAAA
4. Bot del VPS (Inés) — classroom-watcher
Servicio systemd en el VPS Contabo que vigila el correo de Inés.
| Dato | Valor |
|---|---|
| Ruta | /opt/classroom_watcher/ |
| Script | classroom_watcher.py |
| Servicio | classroom-watcher.service (activo, enabled) |
| Ficheros | token_personal.json, client_secret_personal.json, .env (TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID), seen_messages.json, pending_alerts.json, watcher.log |
| Filtro Gmail | from:ines.minguezlarhziale classroom (tarea OR "Nueva tarea" OR "fecha de entrega" OR "Nuevo anuncio") |
| Horario avisos | 15:00–22:00 |
| Revisión Gmail | cada 5 min |
| Reaviso | cada 30 min hasta que el usuario responde S |
| Asignatura | detectar_asignatura() mapea profesor→asignatura y si no, por asunto |
Estado actual: solo avisa por Telegram. Pendiente: volcar los correos/tareas a Google Drive (es lo que faltaba).
Gestión del servicio (en el VPS)
systemctl status classroom-watcher
systemctl restart classroom-watcher
journalctl -u classroom-watcher -n 50 --no-pager
tail -n 50 /opt/classroom_watcher/watcher.log
Otros servicios relacionados en el VPS
/opt/email-watcher/(email-watcher.service, disabled) — incidencia EmailService FaccsaMissa dejminguez@prolongo.es→ grupo IDD Telegram (ámbito empresa, NO hijas).
5. Spec 004 (diseño completo, en pausa)
biblioteca_negocio_prolongo/specs/004-monitor-correo-ines/ (spec + plan + tasks):
- Flujo A: resumen IA de correos escolares → Discord DM de Inés + aviso Telegram al padre.
- Flujo B: entrega de foto en Drive → evaluación IA → mueve a "hechas" o avisa corrección.
- Prerequisitos manuales listados en
plan.md(Azure AD Graph, Service Account, bot Discord...).
6. Cómo reproducirlo en otro equipo
- Clonar
biblioteca_conocimiento_laboratorioybiblioteca_negocio_prolongo. - Asegurar
google/client_secret_personal.jsonygoogle/token_personal.json(o regenerar conpython google/google_auth.py). - Instalar deps:
pip install google-api-python-client google-auth-oauthlib pymupdf. - Usar
scripts/tareas_hijas/drive.py(helpers) para listar/leer/crear/mover en Drive. - Para el bot: desplegar
/opt/classroom_watcheren el VPS +classroom-watcher.service(ver §4). - Para corregir: descargar los PDF/imágenes, convertirlos a PNG (
pymupdf) y analizarlos con el MCP image-vision; corregir contra la hoja.
7. Notas / gotchas
- La consola Windows falla con acentos (
charmap): usarpython -X utf8o exportar a fichero. - Para crear Google Docs desde HTML:
files().create(mimeType='application/vnd.google-apps.document', media=text/html). - Quitar soluciones de un Doc existente:
documents().batchUpdatecondeleteContentRangedesde la cabecera "SOLUCIONES". - Mover ficheros:
files().update(fileId, addParents, removeParents).