Simulación social + OSINT + IA generativa
Plataforma modular para analizar comportamiento en redes, detectar clones digitales y generar contenido automatizado con agentes virtuales.
Project AletheIA es un sistema basado en Flask que permite:
- Simular agentes sociales (con personalidades como trolls, usurpadores, normales y observadores).
- Generar publicaciones automáticamente usando IA (OpenAI API).
- Detectar posibles clones digitales (usuarios con datos similares en redes públicas).
- Analizar tendencias actuales (usando Pytrends).
- Visualizar resultados en un dashboard web intuitivo.
Este proyecto puede usarse para investigación en OSINT, análisis de redes, estudios de comportamiento social automatizado o simulación de campañas.
git clone https://github.com/HenrySpark369/Project_AletheIA.git
cd Project_AletheIApython -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activatepip install -r requirements.txtCrea un archivo .env o configura en config.py tu clave de OpenAI:
export OPENAI_API_KEY=tu_clave_aqui # En Linux/macOS
set OPENAI_API_KEY=tu_clave_aqui # En WindowsPara que ciertas funcionalidades como flash() funcionen correctamente (por ejemplo, en el módulo de clones OSINT o formularios), es obligatorio definir una SECRET_KEY.
SECRET_KEY protege sesiones y operaciones internas como flash(), autenticación, tokens CSRF, etc.
import os
SECRET_KEY = os.urandom(24)import secrets
SECRET_KEY = secrets.token_hex(32)Puedes generar una y guardarla como variable de entorno:
export FLASK_SECRET_KEY=$(python -c "import secrets; print(secrets.token_hex(32))")set FLASK_SECRET_KEY=tu_clave_segura_aquiimport os
SECRET_KEY = os.environ.get("FLASK_SECRET_KEY", os.urandom(24))
⚠️ Usa una clave aleatoria y única para cada entorno. Nunca compartas tuSECRET_KEYpública si vas a publicar el código.
El sistema utiliza SQLite por defecto (database.db). Para reiniciar o inicializar la base de datos:
python utils/init_db.pyPuedes migrar fácilmente a PostgreSQL modificando
config.pyy los modelos SQLAlchemy.
Para ejecutar el simulador de agentes como un proceso separado:
python scheduler_runner.pyAsegúrate de definir esta variable de entorno antes de correrlo:
export ENABLE_SCHEDULER=trueEste proceso se puede mantener activo por separado o gestionarse como servicio externo (ej. PM2, systemd, etc.).
Una vez configurado el entorno y la base de datos:
python app.pyAbre tu navegador en: http://localhost:5000
Este proyecto está preparado para ejecutarse en producción usando Docker con dos servicios independientes:
web: ejecuta el servidor Flask con Gunicorn.scheduler: ejecuta el simulador de agentes periódicamente.
docker compose build
docker compose upEl archivo docker-compose.yml gestiona ambos servicios. Asegúrate de tener Docker y Docker Compose instalados.
gunicorn -w 4 -b 0.0.0.0:5000 "app:create_app()"Este comando lanza la app con 4 workers usando el factory method create_app().
Construir la imagen:
docker compose buildIniciar los servicios (web + scheduler):
docker compose upIniciar en segundo plano (modo detached):
docker compose up -dDetener todos los servicios:
docker compose downVer logs de todos los servicios:
docker compose logs -fVer logs de un servicio específico (ej. scheduler):
docker compose logs -f schedulerReconstruir imagen desde cero:
docker compose build --no-cacheAcceder al contenedor web (para debug):
docker exec -it aegisnet_web /bin/bash📝 Asegúrate de tener
Dockerydocker composeinstalados antes de usar estos comandos.
| Módulo | Descripción |
|---|---|
| 🧬 Simulador | Crea agentes virtuales con distintos perfiles de personalidad. |
| 🧠 Generador IA | Produce publicaciones automáticas personalizadas con OpenAI. |
| 🔍 OSINT Clones | Busca posibles clones digitales en la web y mide su similitud textual. |
| 🔥 Tendencias | Obtiene trending topics por tipo de agente usando Google Trends (Pytrends). |
| 🖥️ Dashboard | Visualiza publicaciones, clones detectados y muros de agentes. |
- Este sistema realiza búsquedas públicas (OSINT). Úsalo con responsabilidad.
- Si manejas datos reales de personas, asegúrate de cumplir con la LFPDPPP en México u otra legislación aplicable.
.
├── app.py # Main Flask App
├── config.py # Configuración del entorno
├── models/ # Modelos de datos (SQLAlchemy)
├── repositories/ # Acceso a datos
├── services/ # Lógica de negocio (IA, OSINT, simulación)
├── routes/ # Endpoints Flask
├── templates/ # HTMLs (Jinja2)
├── static/ # JS y CSS
├── utils/ # Herramientas auxiliares (sherlock, similitud, generación)
├── database.db # Base de datos SQLite (default)
└── *.txt # Datos de prueba o referencias para simulación
Desarrollado por HenrySpark369 Contribuciones, issues y mejoras son bienvenidas vía pull request.