# 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.json` **se 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// → 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) y **`Respondido`** (hecho). - Cuando algo se responde, se mueve de `Por hacer` a `Respondido` (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 - Profesor/a: Actualizado: DD/MM/AAAA TAREAS Y ACTIVIDADES ======================================== [Pendiente|Pasada|Revisar] 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 | **Diseño intencionado:** el bot **solo avisa por Telegram**. NO vuelca los correos a Google Drive (decisión del usuario, 04-oct-2026). El Drive de tareas se gestiona aparte (entrada manual / por IA). ### Gestión del servicio (en el VPS) ```bash 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 de `jminguez@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 1. Clonar `biblioteca_conocimiento_laboratorio` y `biblioteca_negocio_prolongo`. 2. Asegurar `google/client_secret_personal.json` y `google/token_personal.json` (o regenerar con `python google/google_auth.py`). 3. Instalar deps: `pip install google-api-python-client google-auth-oauthlib pymupdf`. 4. Usar `scripts/tareas_hijas/drive.py` (helpers) para listar/leer/crear/mover en Drive. 5. Para el bot: desplegar `/opt/classroom_watcher` en el VPS + `classroom-watcher.service` (ver §4). 6. 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`): usar `python -X utf8` o 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().batchUpdate` con `deleteContentRange` desde la cabecera "SOLUCIONES". - Mover ficheros: `files().update(fileId, addParents, removeParents)`. ## 8. Conocimiento del Medio (Carolina) — flujo con temario Carpeta: `TAREAS/CAROLINA/CONOCIMIENTO DEL MEDIO/` Ciclo de vida de las tareas: **Por hacer → Respondido → Revisado**. ``` CONOCIMIENTO DEL MEDIO/ ├── Por hacer/ pendiente para la niña ├── Respondido/ entregado (escaneos/fotos) ├── Revisado/ ya corregido por el asistente (+ Doc FEEDBACK) └── Temario/ resumen del tema para estudiar + Capturas/ (páginas del libro) ``` Proceso: 1. El temario (páginas del libro) se aporta como capturas; si son del PC suelen estar en `C:\Users\\Pictures\Screenshots`. Se suben a `Temario/Capturas/`. 2. Se crea un Doc `Resumen Tema N — ` en `Temario/`. 3. Las tareas entregadas (escaneos en `Respondido/`) se corrigen contra el resumen; al corregir se genera `FEEDBACK Tema N — ` y se mueven junto a él a `Revisado/`. Ejemplo **Tema 1** (04-oct-2026): *La alimentación y la dieta saludable* — funciones de los alimentos (energéticos / constructores / reguladores), tipos por procesamiento (naturales / procesados / ultraprocesados) y dieta saludable (agua **1,5–2 L/día**). Corrección de Carolina: todo bien salvo la cantidad de agua (escribió "12 a 15 L").