Skip to main content
Glama
AKILMAXX
by AKILMAXX
README.md
# RadarLED

RadarLED es una aplicación privada de inteligencia competitiva para Instagram y
TikTok. Captura señales públicas, conserva evidencia, compara cuentas, detecta
patrones creativos y expone la información mediante dashboard, API y MCP.

El repositorio no incluye cuentas reales, bases de datos, contenido descargado,
credenciales ni direcciones de servidores. Cada instalación mantiene su propia
configuración fuera de Git.

## Funciones principales

- Perfiles y publicaciones públicas de Instagram y TikTok mediante Apify.
- Archivo local de JSON, imágenes y videos con referencias a la fuente original.
- Comparación de audiencia, actividad, interacción y crecimiento.
- Creativos ganadores por cuenta, ranking general y top por proveedor.
- Clasificación de estrategias y calidad observable de marca.
- Preguntas frecuentes del mercado, agrupadas por intención y tema.
- Memoria diaria y semanal de métricas en SQLite.
- Dashboard responsive y PWA con modo oscuro.
- API de solo lectura y servidor MCP remoto con OAuth 2.1 + PKCE.
- Presupuesto mensual, límites por captura y scheduler configurable.

Las métricas públicas no demuestran ventas. RadarLED separa hechos observados,
inferencias y señales que requieren validación comercial.

## Requisitos

- Python 3.12
- FFmpeg
- Una cuenta de Apify y su token
- Docker y Docker Compose para despliegue en contenedores

## Instalación local

```powershell
git clone https://github.com/AKILMAXX/radarled.git
cd radarled
python -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
Copy-Item .env.example .env
Copy-Item competitors.example.yaml competitors.yaml
```

Edita `.env` y define como mínimo:

```dotenv
APIFY_TOKEN=tu_token
DASHBOARD_PASSWORD=una_contraseña_larga
RADAR_API_TOKEN=un_token_aleatorio_de_48_o_mas_caracteres
```

Configura las cuentas públicas en `competitors.yaml`:

```yaml
competitors:
  - handle: competidor_uno
    tiktok_handle: competidor_uno_tiktok
  - handle: competidor_dos

own_public_handle: mi_negocio
own_tiktok_handle: mi_negocio_tiktok
```

Después inicia la aplicación:

```powershell
insta-intel
```

El dashboard local queda en `http://127.0.0.1:8097/dashboard` y la documentación
de la API en `http://127.0.0.1:8097/api/docs`.

## Docker

```powershell
docker compose up -d --build
```

Para producción, copia `.env.example` como `.env.prod`, configura `RADAR_HOST` y
`RADAR_PUBLIC_BASE_URL`, y usa `docker-compose.vps.yml` detrás de HTTPS.

## API y MCP

RadarLED publica una API versionada en `/api/v1/intelligence` y un servidor MCP en
`/mcp`. Ambos son de solo lectura. La guía de conexión para Claude, Codex y otros
clientes está en [docs/RADAR_API_MCP.md](docs/RADAR_API_MCP.md).

## Privacidad

- `.env`, `.env.*`, `competitors.yaml`, `data/` y `reports/` están excluidos de Git.
- Usa únicamente información pública y respeta las condiciones de cada plataforma.
- No publiques tokens, bases de datos ni archivos multimedia capturados.
- Antes de compartir un fork, revisa también el historial de Git, no solo el último commit.

## Desarrollo

```powershell
python -m pytest -q
python -m ruff check .
```

## Licencia

MIT. Consulta [LICENSE](LICENSE).