Panel Alexamigo
← Memory

vps-capabilities-index.md

# VPS Capabilities Index — Routing de Intenciones

> Este archivo es el MAPA MAESTRO para que la IA sepa QUE ejecutar segun lo que el usuario pide.
> VPS: Hetzner "Stargate" — `ssh ubuntu@204.168.170.41`
> Base path: `/home/ubuntu/proyectos-cloud/`

---

## ROUTING: Intencion del usuario → Accion

### SEO & Auditorias

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "hazme una auditoria SEO de X" / "audita X" | Lanzar auditoria SEO web (crawl + analisis) | `auditoria-seo` | URL: `auditoriaseogratis.es` · Puerto 5001 · `systemctl restart auditoria-seo` |
| "informe premium de X" / "report premium X" | Informe completo: audit + KWR + roadmap + PDF | `auditoria-seo` | `POST /api/v1/report` · Premium key required · Devuelve PDF · Timeout 10min |
| "auditoria premium de X" | Audit técnico profundo (SF sin límite, AI vis) | `auditoria-seo` | `POST /api/v1/audit/premium` · Premium key · Async polling |
| "audita X con Screaming Frog" / "crawl SF de X" | Auditoria headless Screaming Frog via API | `sf-api` + `sf-automation` | API: `http://127.0.0.1:8080` · Key: `sf_vps_secret_2026` · Ver `screaming-frog-vps.md` |
| "miranos las SERPs de X" / "ranking de X" | Consultar capturas diarias de SERPs | `hub-beepeek` → BEE-Rank/Serps | URL: `hub.beepeek.com/tools/rank` o `/tools/serps` · API: `/api/serps/*`, `/api/rank/*` |
| "visibilidad de X" / "indice de visibilidad" | Indice de visibilidad SEO del cliente | `hub-beepeek` → Visibility | URL: `hub.beepeek.com/tools/visibility` · API: `/api/visibility/*` |
| "metricas SEO de X" / "DR de X" / "datos Ahrefs" | Metricas Ahrefs + SEMrush del cliente | `hub-beepeek` → Analytics | API: `/api/analytics/seo-metrics/*` · Cron: dia 1 y 16 a las 07:00 UTC |
| "freshness de X" / "fecha de contenido" | Detectar frescura/fecha del contenido web | `hub-beepeek` → BEE-Fresh | Python: `python/freshness/` · Puerto 5002 interno · Ruta: `/api/fresh/*` |
| "content gap de X vs Y" | Analisis gap de contenido | `hub-beepeek` → BEE-Gap | Python: `python/gap/` · Ruta: `/api/gap/*` |
| "keyword research de X" / "KWR de X" | Keyword research automatizado | `hub-beepeek` → BEE-KWR | Python: `python/kwr/` · Puerto 5030 · Ruta: `/api/kwr/*` |
| "espia X" / "analiza competidor X" | Crawl competidor (sitemap, URLs, fechas) | `hub-beepeek` → BEE-Spy | Python: `python/spy/` · Puerto 5006 · Ruta: `/api/spy/*` |
| "visibilidad IA de X" / "AI visibility de X" / "como aparece X en ChatGPT" | Check AI Visibility (ChatGPT+Gemini+Perplexity) | `ai-visibility` (microservicio) + `hub-beepeek` | Puerto 5035 interno · Hub API: `/api/ai-visibility/check` · Hub UI: tab SEMrush en Visibility · `systemctl restart ai-visibility` |
| "ejecuta los prompts LLM" / "lanza BEE LLM" / "procesa prompts" | Ejecutar prompts LLM (OpenAI+Gemini+Perplexity) con extracción | `hub-beepeek/apps/llm/server` (bee-llm-processor) | Puerto 5045 · URL: `hub.beepeek.com/api/llm/` · Endpoints: `/health`, `/process`, `/extract`, `/auto-execute` · Cron: cada 15min via node-cron · `systemctl restart bee-llm-processor` |

### Clientes & CRM

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "como esta el cliente X" / "mirame X" | Ver dashboard del cliente en Hub | `hub-beepeek` | URL: `hub.beepeek.com` · API: `/api/clients/*` · DB: PostgreSQL `hub_beepeek` |
| "portal del cliente X" / "dashboard cliente" | Portal de clientes SEO (PWA) | `portal-clientes` | URL: `clientes.alexamigo.com` · Puerto 5015 · `systemctl restart portal-clientes` |
| "facturas" / "CRM" / "gestion" | CRM + facturacion | `crm-beepeek` | URL: `suite.beepeek.com` · Puerto 5007 · `systemctl restart crm-beepeek` |
| "informe del cliente X" / "report de X" | Generar/ver informe SEO del cliente | `hub-beepeek` → Board/Reports | API: `/api/board/*`, `/api/reports/*` |

### Reputacion & Marca

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "reputacion de X" / "que dicen de X" | Monitor de reputacion de marca | `sentinel` | URL: `sentinel.beepeek.com` · Puerto 5005 · `systemctl restart sentinel` · Cron: 04:00 |
| "menciones de X" / "donde mencionan a X" | Menciones de marca en ChatGPT/Gemini | `hub-beepeek` → BEE-Mention | URL: `hub.beepeek.com/tools/mention` · API: `/api/mention/*` · Cron: 07:00 |
| "detector de X" / "contenido IA de X" | Detectar contenido generado por IA | `hub-beepeek` → BEE-Detector | Ruta: `/api/detector/*` |

### Leads & Prospecting

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "busca leads de X" / "prospection" / "encuentra empresas" | Prospector de leads | `prospector` | URL: `prospector.beepeek.com` · Puerto 3005 · `systemctl restart prospector` |

### Facturas & OCR

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "sube una factura" / "extrae datos de factura" / "OCR" | Extraccion OCR de facturas | `factura-ocr` | URL: `invoice.beepeek.com` · Puerto 5010 · `systemctl restart factura-ocr` |

### Transcripciones

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "transcribe X" / "transcripcion de video" | Transcripcion de video/audio (YouTube, etc) | `transcrip-beepeek` | URL: `transcrip.beepeek.com` · Puerto 5020 · `systemctl restart transcrip-beepeek` |
| "transcribe en local" / "transcripcion CLI" | Transcripcion por CLI (yt-dlp + RunPod GPU) | `transcript-tool` | Path: `transcript-tool/` · Manual: `python3 transcribe.py` |

### Local SEO

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "grid local de X" / "local SEO de X" / "mapa local" | Grid tracker de posiciones locales | `hub-beepeek` → BEE-Local | URL: `hub.beepeek.com/tools/local` · API: `/api/local/*` · Cron: miercoles 03:00 |

### Nectar (Link Building)

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "oportunidades de enlace" / "link building" / "nectar" | Analisis de oportunidades de link building | `hub-beepeek` → BEE-Nectar | Python: `python/nectar/` · Puerto 5004 · Ruta: `/api/nectar/*` |

### Traffic & Analytics

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "trafico de X" / "analytics de X" / "GA4 de X" | Datos Google Analytics 4 del cliente | `hub-beepeek` → BEE-Analytics | URL: `hub.beepeek.com/tools/analytics` · Cron GA4: 05:00 · Tablas: `ga_properties`, `ga_traffic_data` |
| "simula trafico a X" / "starlord" | Simulacion de trafico (experimental) | `starlord` | URL: `starlord.beepeek.com` · Puerto 5025 · `systemctl restart starlord` |

### AI / Modelo SEO

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "entrena el modelo SEO" / "fine-tune" | Pipeline AI SEO model | `ai-seo-model` | Path: `ai-seo-model/` · Ver `ai-seo-model.md` · Dataset: 20,666 QA |
| "genera articulo SEO" / "contenido con IA" | Generacion de articulos SEO con modelo | `ai-seo-model` | Script: `generate_articles.py` |
| "pregunta RAG" / "consulta base conocimiento" | Consulta RAG al vector DB | `ai-seo-model` | Script: `rag_query.py` · VectorDB: `build_vectordb.py` |

### NexusLex (Asistente Legal IA)

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "nexuslex" / "asistente legal" / "Navas y Cusí" | Chat legal IA con RAG sobre legislacion bancaria | `nexuslex` | URL: `navas.alexamigo.com` · Puerto 5040 · `systemctl restart nexuslex` |
| "ingesta leyes" / "reindexar BOE" | Reingestar leyes del BOE en ChromaDB | `nexuslex` | `cd nexuslex/backend && source venv/bin/activate && python -m ingestion.embedder` |
| "stats nexuslex" / "documentos indexados" | Ver estadisticas de documentos | `nexuslex` | API: `navas.alexamigo.com/api/documents/stats` |

### Decisiona

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "decisiona" / "plus decisiona" | Frontend React Decisiona | `decisiona-react` | URL: `plus.decisiona.es` · Puerto 5000 · `systemctl restart decisiona` |

### Panel & Monitoring

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "panel VPS" / "estado del servidor" | Panel de control del VPS | `vps-panel` | URL: `panel.beepeek.com` · Puerto 8091 · `systemctl restart vps-panel` |
| "que servicios estan corriendo" | Ver estado de todos los servicios | SSH directo | `systemctl list-units --type=service --state=running` |
| "reinicia X" / "restart X" | Reiniciar un servicio | SSH directo | `sudo systemctl restart <servicio>` |
| "logs de X" | Ver logs de un servicio | SSH directo | `journalctl -u <servicio> -n 50 --no-pager` |

### Modulards

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "audita Modulards" / "interlinking Modulards" | Scripts analisis/auditoria Modulards | `Modulards` | Scripts: `crawl.py`, `modulards_audit.py`, `modulards_interlinking.py` |

### NAL3 / LOAFA

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "KWR NAL3" / "investigacion keywords LOAFA" | KW Research LOAFA/NAL3 | `NAL3` | Path: `NAL3/` · Web: `nal3.alexamigo.com` · Ver `loafa.md` |

### Borja Tormos

| El usuario dice... | Que hacer | Servicio/Path | Comando/URL |
|---|---|---|---|
| "datos Borja" / "collector Borja" | Recoger datos panel Borja Tormos | `/var/www/borja-panel` | Cron: 06:00 UTC · Script: `collector/collect.py` |

---

## MAPA DE PUERTOS

| Puerto | Servicio | Proceso |
|--------|----------|---------|
| 3000 | Hub Beepeek (Node) | node |
| 3001 | PostgREST (Hub Beepeek) | postgrest |
| 3002 | PostgREST (Prospector) | postgrest |
| 3005 | Prospector | node |
| 5000 | Decisiona React | node |
| 5001 | Auditoria SEO (Gunicorn) | gunicorn |
| 5002 | BEE-Fresh (interno) | python3 |
| 5004 | BEE-Nectar (interno) | uvicorn |
| 5005 | Sentinel | uvicorn |
| 5006 | BEE-Spy (interno) | python3 |
| 5007 | CRM Beepeek | python3 |
| 5010 | Factura OCR | uvicorn |
| 5015 | Portal Clientes | uvicorn |
| 5020 | Transcrip Beepeek | uvicorn |
| 5025 | Starlord | python |
| 5030 | BEE-KWR | uvicorn |
| 5432 | PostgreSQL | postgres |
| 8000 | (servicio sin identificar) | uvicorn |
| 8080 | SF API (Screaming Frog) | uvicorn |
| 8090 | FileBrowser | filebrowser |
| 8091 | VPS Panel | uvicorn |

## MAPA DE DOMINIOS

| Dominio | Puerto interno | Servicio |
|---------|---------------|----------|
| `hub.beepeek.com` | 3000 | Hub Beepeek (todas las BEE-Tools) |
| `prospector.beepeek.com` | 3005 | Prospector |
| `sentinel.beepeek.com` | 5005 | Sentinel (Reputacion) |
| `invoice.beepeek.com` / `factura-ocr.beepeek.com` | 5010 | Factura OCR |
| `clientes.alexamigo.com` | 5015 | Portal Clientes |
| `transcrip.beepeek.com` | 5020 | Transcripciones |
| `starlord.beepeek.com` | 5025 | Starlord |
| `suite.beepeek.com` | 5007 | CRM Beepeek |
| `panel.beepeek.com` | 8091 | VPS Panel |
| `plus.decisiona.es` | 5000 | Decisiona |
| `auditoriaseogratis.es` | 5001 | Auditoria SEO |
| `alexamigo.com` | 443 (nginx) | Web personal + blog PHP (migrada de Raiola) |
| `nal3.alexamigo.com` | static | NAL3 KWR site |
| `borja.alexamigo.com` | static | Panel Borja |
| `seo-chat.beepeek.com` | 8050 | SEO Chat (si activo) |
| `status.beepeek.com` | 8100 | VPS Status |

## CRONS AUTOMATICOS

| Schedule | Que hace | Tipo |
|----------|----------|------|
| `*/5 * * * *` | Health check Prospector (restart si cae) | crontab ubuntu |
| `0 2 * * *` | Captura SERPs de todos los clientes | node-cron hub |
| `0 3 * * *` | Backup BD bee_invoice | crontab ubuntu |
| `0 3 * * 1` | Auditorias Screaming Frog semanales | node-cron hub |
| `0 3 * * 3` | Presets BEE-Local (grid scans) | node-cron hub |
| `0 4 * * *` | Sentinel: scan reputacion | node-cron hub |
| `0 5 * * *` | GA4 Sync | node-cron hub |
| `0 6 * * *` | Visibility index | node-cron hub |
| `30 6 * * *` | GA4 daily sync (Python script) | crontab ubuntu |
| `0 7 * * *` | BEE-Mention: menciones marca | node-cron hub |
| `0 7 1,16 * *` | SEO metrics Ahrefs+SEMrush | crontab ubuntu |
| `0 8 * * *` | SEMrush healthcheck | crontab ubuntu |

## SERVICIOS SYSTEMD (para restart)

```
auditoria-seo.service       → Auditoria SEO Gratis
crm-beepeek.service         → CRM BeePeek
decisiona.service            → Decisiona React
factura-ocr.service          → Factura OCR
hub-beepeek.service          → Hub BeePeek (Node + Python apps)
portal-clientes.service      → Portal Clientes SEO
postgrest.service            → PostgREST API Hub
postgrest-prospector.service → PostgREST API Prospector
prospector.service           → Prospector API
sentinel.service             → BEE Sentinel
sf-api.service               → Screaming Frog API
starlord.service             → Starlord Traffic Sim
transcrip-beepeek.service    → Transcripciones
vps-panel.service            → VPS Panel
```

## BASES DE DATOS

| DB | Tipo | Puerto | Uso |
|----|------|--------|-----|
| `hub_beepeek` | PostgreSQL | 5432 | Hub principal (94 tablas: clients, scans, serps, visibility, ga4, etc.) |
| `bee_invoice` | PostgreSQL | 5432 | Factura OCR |
| `portal_clientes` | PostgreSQL | 5432 | Portal Clientes SEO |
| `prospector` | Supabase cloud | - | Prospector (leads) |
| `transcrip.db` | SQLite | - | Transcripciones |

## CARPETAS AUXILIARES

| Carpeta | Que es |
|---------|--------|
| `backups/` | Backups automaticos (bee-invoice) |
| `plantillas/` | Templates HTML/WordPress/admin |
| `postgrest/` | Config PostgREST (hub + prospector) |
| `seo-shorts/` | SEO Shorts Factory (APARCADO) |
| `claude-code-leak/` | (investigacion, no servicio) |
| `Jarvis/` | Proyecto Jarvis (Docker, Python, inactivo) |
| `vps-status/` | App status VPS (Flask, `status.beepeek.com`) |
| `plus-decisiona-php-backup/` | Backup PHP legacy Decisiona |
| `ovh_vps_monitor.py` | Script monitor VPS OVH |

---

## COMO USAR ESTE INDICE

Cuando el usuario pida algo:
1. Buscar en la tabla "ROUTING" la intencion mas cercana
2. Identificar el servicio/path correspondiente
3. Ejecutar via SSH: `ssh ubuntu@204.168.170.41 "<comando>"`
4. Si es una web, dar la URL
5. Si necesita restart: `sudo systemctl restart <servicio>`
6. Si necesita logs: `journalctl -u <servicio> -n 50 --no-pager`
7. Si necesita datos DB: conectar via PostgREST o psql directo