# Arquitectura IA — CaptaJaus

## Cómo está conectada

CaptaJaus (scraper inmobiliario + dashboard) es **local** (`:3000`, tray PM2). La IA no genera ofertas: **aprende del scraper** y propone mejoras vía multiagente + Cursor.

```
Dashboard /dashboard/ia  ·  API /api/ai/*
        │
        ├─ learning local (feedback.json, insights)
        │
        ▼
supervisorAiService.ts
        SUPERVISOR_BASE_URL = http://192.168.1.16:8787
        SUPERVISOR_DASHBOARD_TOKEN = (secreto)
        │
        ├─ GET  /health, /api/rag/...
        ├─ POST /api/agent-templates/recommend
        └─ ingest insights / project → RAG
                │
                ▼
        Cursor Bridge (EQUIPITELLO :8095)
        project=captajaus · propose=1 · revisión humana
```

Detalle operativo: ver también `docs/AGENT-IA.md`.

## Qué ayuda la IA

1. **Evolve:** detecta portales rotos, huecos, duplicados → propuestas priorizadas.
2. **Recommend:** plantillas de agente (ops/code) del supervisor lab.
3. **Feedback 👍/👎:** afinado local de prioridades.
4. **Ingest → RAG:** memoria operativa en el lab para futuras recomendaciones.
5. **Bridge:** el agente Cursor propone diffs; el operador confirma.

No usa Ollama a pelo desde CaptaJaus: el **supervisor** del lab orquesta Ollama/RAG detrás.

## Arranque Windows

- `HKCU\...\Run\CaptaJausTray` → `pm2-tray\captajaus_start.ps1`
- Mantiene PM2 / app en `:3000`

## Variables

```env
SUPERVISOR_BASE_URL=http://192.168.1.16:8787
# Alternativa Tailscale: http://100.69.11.89:8787
CURSOR_BRIDGE_URL=http://100.78.198.98:8095   # o 127.0.0.1:8095 en el mismo PC
```

Tras cambiar `.env`, reiniciar el proceso CaptaJaus (tray / PM2).

## Comprobación

```powershell
Invoke-RestMethod http://192.168.1.16:8787/health
# En la app: GET /api/ai/status (autenticado) → supervisor_online
```
