03-oct: superguardado automático
This commit is contained in:
58
scripts/monitor_estado/README.md
Normal file
58
scripts/monitor_estado/README.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# Monitor de estado — Telegram + correo + Jira
|
||||
|
||||
Proceso en segundo plano que **cada 30 minutos** recoge lo del día en curso, lo archiva
|
||||
por fuente, genera un **resumen IA** y emite un **aviso por voz local** cuando algo
|
||||
requiere atención. Nunca envía mensajes a ningún medio (solo lee y avisa localmente).
|
||||
|
||||
Spec y plan: `biblioteca_negocio_prolongo/specs/005-monitor-estado-conversaciones/`.
|
||||
|
||||
## Qué recoge
|
||||
- **Telegram** (sesión dedicada `~/.telegram-agent/sessions/monitor`): Oscar Rodríguez, Isa,
|
||||
Daniel García Jiménez, Antonio Romero y el canal "Desarrollo software".
|
||||
- **Correo** `jminguez@prolongo.es`: últimos 24 h (no marca leído).
|
||||
- **Jira** proyecto **DS**: incidencias nuevas (desde el ciclo anterior) y tickets sin asignar
|
||||
no cerrados. Solo lectura.
|
||||
|
||||
## Uso
|
||||
```powershell
|
||||
python scripts/monitor_estado.py ciclo # un ciclo y salir
|
||||
python scripts/monitor_estado.py ciclo --solo correo
|
||||
python scripts/monitor_estado.py daemon # bucle cada 30 min (segundo plano)
|
||||
python scripts/monitor_estado.py estado # último resumen + rutas
|
||||
python scripts/monitor_estado.py login-telegram --qr # autorizar sesión Telegram (una vez)
|
||||
python scripts/monitor_estado.py simular --de DAX --texto "Confirmado el desarrollo"
|
||||
```
|
||||
|
||||
- `simular` inyecta entradas ficticias en un directorio aislado (`estado/monitor/simulacion/`):
|
||||
no crea correos reales, no toca datos reales y **nunca** envía a Telegram.
|
||||
|
||||
## Arranque y vigilancia
|
||||
- **Tarea programada `Monitor Estado`** (al iniciar sesión) → `scripts/monitor_estado_watchdog.ps1 -Once`.
|
||||
- **Plugin global de OpenCode** `~/.config/opencode/plugins/monitor-estado-bootstrap.ts` → relanza el
|
||||
watchdog al arrancar OpenCode.
|
||||
- El watchdog lanza `daemon` solo si no corre; el propio monitor tiene un lock (instancia única).
|
||||
- Instalación: `scripts/instalar_global.ps1`.
|
||||
```powershell
|
||||
powershell -ExecutionPolicy Bypass -File scripts/monitor_estado_watchdog.ps1 -Once
|
||||
powershell -ExecutionPolicy Bypass -File scripts/monitor_estado_watchdog.ps1 -Stop
|
||||
```
|
||||
|
||||
## Configuración
|
||||
`estado/monitor/config.json` (se autogenera desde `config.example.json`):
|
||||
intervalo, retención (30 días), fuentes de Telegram, correo, Jira, IA (OmniRoute) y aviso de voz.
|
||||
|
||||
## Datos y logs
|
||||
```
|
||||
estado/monitor/
|
||||
conversaciones/ correo/ jira/ # ficheros del día por fuente (<YYYY-MM-DD>.md)
|
||||
visto/ # estado "ya visto" (dedup)
|
||||
resumen_actual.md/.json # último resumen
|
||||
ultimo_ciclo.json
|
||||
monitor_estado.out.log / .err.log # salida del daemon
|
||||
```
|
||||
|
||||
## Tests
|
||||
```powershell
|
||||
python -m pytest tests/ -q
|
||||
```
|
||||
Requiere: `pip install pytest qrcode` (Telethon/gspread ya usados por otros watchers).
|
||||
Reference in New Issue
Block a user