Asistente de productividad con frontend web y backend Flask para gestionar rutina diaria, pendientes, proyectos, voz y respuestas con IA.
- Python + Flask
- Frontend HTML/CSS/JavaScript
- Google Cloud Speech-to-Text V2 (
chirp_3) - Gemini y/u Ollama como proveedores de IA
pydub+ffmpegpara normalización de audio
- Gestión de rutina diaria con avisos de transición
- Tablero de pendientes por categorías
- Gestión de proyectos con archivos e imagen
- Grabación por voz y transcripción a texto
- Respuestas del asistente con validación de comandos
- Timeout de inactividad configurable
.
├── index.html
├── server.py
├── static/
│ ├── app.js
│ └── favicon/
├── .env.example
├── requirements.txt
└── README.md
Toda la configuración sensible y operativa se carga desde .env.
- Crear entorno virtual.
- Instalar dependencias.
- Copiar
.env.examplea.env. - Completar claves y rutas locales.
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .envAPP_NAME=Andromadus
APP_HOST=0.0.0.0
APP_PORT=5000
USE_GEMINI=true
GEMINI_API_KEY=...
GOOGLE_CLOUD_PROJECT=...
GOOGLE_SPEECH_API_KEY=...
DEFAULT_USER_LOCALE=es-MX
DEFAULT_PENDING_CATEGORIES=personal,casa,trabajo
FRONTEND_INACTIVITY_HOME_TIMEOUT_MS=120000
FFMPEG_PATH=C:\ffmpeg\bin\ffmpeg.exe
FFPROBE_PATH=C:\ffmpeg\bin\ffprobe.exepython server.pyAbrir en el navegador:
http://localhost:5000
- Python 3.10+
ffmpeginstalado y accesible por ruta- Credenciales válidas para Gemini y/o Google Cloud Speech
- Si usas Ollama, una instancia local activa en la URL configurada
GET /GET /api/configGET /api/config.jsPOST /api/assistantPOST /api/speech-to-textGET|POST /api/pendientesGET|POST /api/proyectosGET|POST /api/rutina
.envestá ignorado en.gitignore.env.examplesirve como plantilla públicauploads/ydb.jsontambién se ignoran para no subir datos locales
- El frontend consume configuración pública desde
GET /api/config.js. - El backend carga automáticamente
.envconpython-dotenv. - El proyecto está preparado para publicarse sin dejar claves embebidas en el código.
