Asistente inteligente que se ejecuta continuamente como servicio Docker:
- 📧 Se conecta a cualquier servidor de correo vía IMAP (Gmail, Outlook, Yahoo, etc.)
- 🤖 Analiza correos con un modelo LLM local (Ollama) para detectar información de reuniones
- 📅 Crea automáticamente eventos en Google Calendar
- 🔄 Funciona como servicio continuo verificando correos periódicamente
- ✅ IMAP Universal: Compatible con cualquier proveedor de correo
- ✅ Integración Google Calendar: API oficial con OAuth2
- ✅ IA Local: Usa Ollama para análisis privado de correos
- ✅ Servicio Continuo: Ejecuta en bucle verificando correos automáticamente
- ✅ Containerizado: Desplegable fácilmente con Docker
- ✅ Configuración Flexible: Todo configurable vía variables de entorno
- ✅ Logging: Logs estructurados para monitoreo
- Docker y Docker Compose
- Google Calendar API:
credentials.jsondesde Google Cloud Console - Servidor IMAP: Credenciales de tu proveedor de correo
# Clonar el repositorio
git clone <tu-repo-url>
cd secretaria
# Copiar configuración de ejemplo
cp .env.example .env
# Editar variables de entorno
nano .envEdita el archivo .env con tus datos:
IMAP_SERVER=imap.gmail.com # Tu servidor IMAP
IMAP_USER=tu.email@gmail.com # Tu email
IMAP_PASSWORD=tu_app_password # App password (recomendado)
CHECK_INTERVAL=300 # Verificar cada 5 minutos- Ve a Google Cloud Console
- Crea un proyecto o selecciona uno existente
- Habilita la Google Calendar API
- Crea credenciales OAuth2 para aplicación de escritorio
- Descarga el archivo como
credentials.jsonen el directorio del proyecto
# Construir y ejecutar
docker-compose up -d
# Ver logs
docker-compose logs -f secretaria
# Detener
docker-compose down# IMAP (REQUERIDO)
IMAP_SERVER=imap.gmail.com
IMAP_PORT=993
IMAP_USER=tu.email@gmail.com
IMAP_PASSWORD=tu_contraseña
# Servicio
CHECK_INTERVAL=300 # Segundos entre verificaciones
TIMEZONE=Europe/Madrid # Zona horaria
OLLAMA_MODEL=llama3:8b-instruct-q4_K_M # Modelo LLMsecretaria/
├── credentials.json # Credenciales Google Calendar
├── .env # Variables de entorno
├── data/ # Tokens persistentes (auto-creado)
└── logs/ # Logs del servicio (opcional)
uv synccp .env.example .env
# Editar .env con tus credenciales# Ejecución única
uv run python hello.py
# Servicio continuo
uv run python secretaria_service.py# Logs en tiempo real
docker-compose logs -f secretaria
# Últimas 100 líneas
docker-compose logs --tail=100 secretaria
# Logs con timestamps
docker-compose logs -t secretariaEl contenedor incluye un healthcheck que verifica si el servicio está ejecutándose correctamente.
# Verificar estado
docker-compose ps| Proveedor | Servidor IMAP | Puerto |
|---|---|---|
| Gmail | imap.gmail.com |
993 |
| Outlook/Hotmail | imap-mail.outlook.com |
993 |
| Yahoo | imap.mail.yahoo.com |
993 |
| Apple iCloud | imap.mail.me.com |
993 |
- App Passwords: Usa contraseñas de aplicación en lugar de tu contraseña principal
- OAuth2: Autenticación segura con Google
- LLM Local: El análisis se hace localmente, no se envían datos a terceros
GPL v3 - Ve el archivo LICENSE para más detalles.