Arranca claude en modo interactivo. Mismo comportamiento que en CLI: slash commands, plan mode, permission prompts. En movil usa la barra de teclas inferior para ESC / Tab / Ctrl+C / flechas.
Cargando actividad...
-
Nodos online
21
Repos git fraidey/*
11/13
Proyectos PAW OT en git
03:30
Snapshot daily pa-ot
Grafo del ecosistema (BD en vivo — es lo que se inyecta a cada tarea en cualquier nodo)
Cargando grafo…
SCADA Health (via monitorSalud en pa-ot)
Sin datos. Activa
CEREBRO_PUSH_ENABLED=true en monitorSalud/.env de pa-ot.Topologia
Detalle por nodo
personal NITRO15SFP
workdir: C:\PythonApps\claude-workspace · bypassPermissions
8001OutlookReaderrunning
8002GmailReaderrunning
8003JiraReadertoken 2026-12-31
8004OutlookCOMReaderrunning
8005PlaudManagerdisabled
8006PlaudSchedulerrunning
8007WebMonitor (_infra)running
WSclaude-agent → cerebrorunning
claude-ecosystem droplet DO
165.232.66.22 · s-1vcpu-2gb · ufw 22+8000
8000cerebro.service (uvicorn)active
WSclaude-agent.serviceactive
5432postgres-16 (localhost)db: ecosystem
croncerebro-backup (03:00 UTC)7d rotacion
22sshdrunning
pa-ot CLISCADA02
red OT · acceptEdits · sandbox 8 dirs · workspace OneDrive corporativo
WSclaude-agent → cerebroonline
CLIclaude-code v2.1.150opus-4-7
MQTTMQTTserver (amqtt + NSSM)prod
OPCOpcUaBridge → SRVSCADA01:4990key en OneDrive
8090MonitorSalud (svc Windows)prod
cronETL_EnergiasExogenos (180min)prod
pa-laptop PaW corporativo
no conectado · Fase 4 pendiente
-agente sin desplegar (toml con token placeholder)offline
Inventario de proyectos
pa-ot · DT Py Projects — 13 proyectos en OneDrive corporativo (PortAventura Entertainment S.A)
OT / SCADA — producción crítica
MQTTserverBroker amqtt :1883/9001 + receptor QTs (HiveMQ Cloud + paho + asyncio-mqtt), NSSM serviceprodgit
OpcUaBridgeCapa OPC UA 64-bit → SRVSCADA01:4990 (asyncua 1.1.8, Python 3.13, ~1400 tags/s)prodgitkey OneDrive
monitorSaludDashboard salud SCADA — Flask :8090 como servicio Windowsprodgit
appPLCremotoControl remoto PLCs Allen-Bradley/Rockwell (Python + OPC + MQTT + VBA)prodgit
ETL / datos / energías
energias-pawETL medallion bronze→silver→gold (Postgres/Supabase + AWS Athena/S3 + Nedgia + Agbar + AEMET/NASA + Jira + SharePoint). El proyecto más grande del workspace.activogitgrande
newLlumsETL réplica SQL Server → SQLite con scheduleractivogit
BDDRepositorio SQLite central: BDD_energias, PeticionesQTs, QT_Estados, Llums_Master, TipusDia, Replica_SQLServeractivogit
PowerBIDashboards PBIP (BI Electricidad, BI IoT PAW) + GUIA_EXOGENAS_PBIP.mdactivogit
Aplicaciones / herramientas usuario
appOnlinePeticionQTsWebApp Flask para peticiones de Quadres Tèrmics (MQTT/HiveMQ Cloud)activogit
ProgramaLlumsDesktop QTs (FiltroCeco) — port C# WinForms → PySide6activogit
Transversal / utilidades / contenedores
GenericNotifiers compartidos: email_notifier, graph_mail, telegram_notifier, mini_webhook.py — índice del workspaceactivogit
GeneralContenedor (solo Python/), sin README — propósito poco clarovacío
iot_managerPlaceholder OneDrive sin sync (carpeta vacía en pa-ot)sin sync
personal · fraidey/* — 10 repos privados en GitHub (C:\Users\SergioFrailePérez\PythonApps + C:\PythonApps)
Lectores de email / mensajería
OutlookReader:8001 — MSAL multi-cuenta (leannovo + portaventura + outlook personal)running
GmailReader:8002 — OAuth Google + Telegram botrunning
OutlookCOMReader:8004 — COM (requiere Outlook desktop abierto)running
Productividad / asistente personal
JiraReader:8003 — REST API Jira PortAventuratoken 2026-12-31
PlaudSummarizer:8006 — Pipeline modular fetch/identify/process/dispatch (4 tests + /status)running
PlaudLectorAppPlaud reader con cifrado local (no corre como servicio)local
PlaudManager:8005 — Legacy desde 2026-05-10, kept for historydisabled
Infraestructura / plataforma
pythonapps-infra:8007 WebMonitor + setup_tasks.ps1 + master_monitor + start_services.ps1running
claude-ecosystemCerebro + agente + docs/ (este mapa) — deploy por scp al dropletdeploy
openplawdRepointed desde nicolasglg → fraidey (único commit 034f8fb)archive
claude-ecosystem · droplet DO — componentes en 165.232.66.22 (fra1)
Servicios runtime
cerebro.serviceuvicorn :8000 — API + WS hub + UI estática (este frontend)active
claude-agent.serviceAgente del propio droplet (workdir local)active
postgres-16DB "ecosystem" — tablas nodes, tasks, memory, events (localhost:5432)4 tablas
cerebro-backupCron 03:00 UTC — pg_dump → /var/backups/cerebro/ (rotación 7d)activo
pa-laptop · PaW corporativo — Fase 4 pendiente
Estado
agenteSin desplegar (config toml con token placeholder). Rol futuro: stack de retrieval V2+ con acceso al corpus DT 200koffline
Integraciones externas
Cloud / infra
DigitalOceandroplet fra1 s-1vcpu-2gb (cerebro) + doctl en personal
AWS S3LoRaWAN bucket (telemetria IoT)pa-ot
AWS Athenaqueries sobre S3 (energias-paw scripts)pa-ot
SupabasePostgres gestionado (silver/gold energias-paw)pa-ot
HiveMQ Cloudbroker MQTT externo (espejo del propio)pa-ot
SCADA / OT industrial
SRVSCADA01FactoryTalk Linx Gateway · trust store en \\PKI\trusted\key OneDrive
OPC UAopc.tcp://SRVSCADA01:4990 Basic256+SignEncrypt (asyncua)
OPC DAlegacy 32-bit subprocess (bloqueado DCOM 2026-03-20)legacy
Allen-BradleyPLCs accesibles via appPLCremoto
Rockwellstack PLC + FactoryTalk
MQTT propioamqtt :1883/9001 + receptor QTs (NSSM)
Energias / utilities (RPA + APIs)
Nedgiagas — RPA + extraccion (10 ventanas JSON commit)datos en git
Agbaragua — web scraping playwright → Supabase
AEMETmeteo Espana (API)
NASA POWERmeteo global (API)
Open-Meteometeo backup
TarsisDB legacy electricidad (lectura directa)
Productividad / colaboracion
Jira PAREST API (JiraReader :8003)token 2026-12-31
GmailOAuth Google (GmailReader :8002)
Outlook 365MSAL multi-cuenta — leannovo + portaventura + personal
Outlook COMdesktop COM (requiere Outlook abierto)
SharePointMSGraph (sharepoint_client.py en energias-paw)
Telegrambot API (GmailReader + Generic notifier)
Plaud Cloudbearer token (PlaudLectorApp + Summarizer)
Anthropic / Claude
Claude APISDK directo (Anthropic SDK en agente y skills)
claude CLIinteractivo + --print + --resume (en los 3 nodos)
MCP serversclaude.ai web: Atlassian, Gmail, Drive, Notion, Linear, etc.web
API + BD del cerebro
Endpoints publicos · http://165.232.66.22:8000
GET /dashboard movil (HTML + JS, este frontend)no auth
POST /api/loginbootstrap token en navegador (localStorage)no auth
GET /api/nodeslista nodos + inventoryBearer
POST /api/taskslanza tarea one-shot a un nodoBearer
GET /api/tasks/{id}/eventsstream completo de eventos de una tareaBearer
WS /ws/agentcanal agente ↔ cerebroBearer
WS /ws/dashboardstream de eventos al navegadorBearer
WS /ws/terminalbyte stream PTY (xterm.js + persistencia 60min)Bearer
Postgres 16 · DB "ecosystem" (localhost:5432)
nodes~3 filas · id, hostname, online, last_seen, inventory(JSONB)
tasks~40+ filas · histórico tareas one-shot
memory~1 fila · memoria compartida k/v (JSONB)
events~600+ filas · bus task_event, file_change, dispatch
backups/var/backups/cerebro/*.sql.gz · cron 03:00 UTC · 7d rot114KB/dump
Servicios systemd · droplet
cerebro.serviceuvicorn server:app :8000 · ~40MB RAM
claude-agent.serviceagente WS local del droplet · ~17MB RAM
postgresql@16-mainDB ecosystem · localhost only
cron · cerebro-backup/etc/cron.d/cerebro-backup · 03:00 UTC
ufwdeny incoming · open 22/tcp + 8000/tcp
do-agentmonitoring DigitalOcean
Stack tecnologico (versiones clave)
Cerebro (droplet)
Python3.12 · venv en /opt/claude-ecosystem/cerebro/venv
FastAPI+ uvicorn[standard]
asyncpgcon jsonb codec custom
Postgres16 (apt)
OSUbuntu (systemd)
Agentes (Windows + Linux)
Python (win)3.9 + pywinpty (ConPTY)
Python (linux)misma version + pty stdlib
websockets13.1 (usa extra_headers, NO additional_headers)
watchdogpara file_change events
Claude Code2.1.150 · opus-4-7 por defecto
OT stack (pa-ot)
OpcUaBridgePython 3.13 + asyncua 1.1.8 + cryptography 42+ · venv aislado
MQTTserveramqtt 0.11.0b1 + paho 2.0+ + asyncio-mqtt 0.16+
PySide6ProgramaLlums (port C# WinForms)
NSSMwrapping Python como servicio Windows (MQTT + monitorSalud)
Workspace3 venvs: .venv (64) · .venv32 (OPC DA legacy) · env
Frontend (este dashboard)
xterm.js+ FitAddon + WebLinksAddon
Vanilla JSsin framework · localStorage para token + term session
Mobile-firstvisualViewport + safe-area · keybar + teclado HTML · topbar scrollable
Flujo de datos · energias-paw (medallion)
FUENTES BRONZE SILVER GOLD CONSUMO
─────── ────── ────── ──── ───────
AEMET / NASA / Open-Meteo ──┐
Nedgia (gas RPA) ──┤
Agbar (agua scraping) ──┼──> Postgres ──> Postgres ──> Postgres ──> PowerBI (BI Elec, BI IoT)
Tarsis (electricidad DB) ──┤ raw / land cleaned balance & Jira (epicas)
AWS S3 / Athena (LoRaWAN) ──┤ repartos SharePoint (reports)
SharePoint (MSGraph) ──┘ scripts utils/ (50+)
ORQUESTACION: scripts/orquestador_etl_exogenos.py (Task Scheduler \PortAventura\ETL_EnergiasExogenos · cada 180 min)
VENV: OneDrive workspace (.venv compartido) ENV: .env declara solo Jira → falta postgres/sharepoint/aemet/nedgia/agbar (deuda)
DEUDA TOP: requirements.txt no declara psycopg2/pandas/openpyxl/playwright/pdfplumber/office365 (existen pero no listados)
Riesgos top (post-update 2026-05-30)
🚨 Clave privada OPC UA en OneDrive
pa-ot · OpcUaBridge/pki/opcua_prod_key.pem permite firmar contra SRVSCADA01 (16728+ tags). Gitignored, pero la key sigue en OneDrive sync. Palanca J urgente.
Tokens en plaintext
monitorSalud/.env, configs varias en OneDrive sincronizado. Sin cifrado mas alla de permisos NTFS.
energias-paw requirements obsoleto
Declara 5 deps pero usa 20+ (psycopg2, pandas, playwright, pdfplumber, msal...). Runtime depende del venv compartido de OneDrive.
✓ Git personal (A done)
10 repos en fraidey/* desde 2026-05-23.
✓ Backups BD (B done)
pg_dump diario 03:00 UTC + rotacion 7d. 5+ dumps consecutivos.
✓ Sandbox pa-ot (F done)
additionalDirectories 3→8: cubre C:\PythonApps, Desktop, etc.
✓ Git PAW OT (A2 done 2026-05-29/30)
11 repos en fraidey/* + auto-snapshot daily 03:30 (red de seguridad). 1.9 GB OneDrive → 14 MB git (-99.3%).
Siguientes palancas
🚨 J: mover key OPC UA (urgente)
Sacar pki/ del sync OneDrive, rotar cert, redeploy en SRVSCADA01 trust store. El gitignore lo bloquea del repo, pero la key sigue en disco sincronizado.
E: cifrar credenciales
DPAPI o keyring Python en personal + monitorSalud .env en pa-ot. Refactor loaders 1h/servicio.
D: pin de dependencias
Especialmente energias-paw/requirements.txt. pip-compile o uv para pinned hashes.
C: healthcheck unificado
WebMonitor agrega /api/nodes del cerebro. Una sola URL para todo el ecosystem. ~50 lineas.
I: healthcheck OPC UA al dashboard
monitorSalud ya hace checks. Exponer al cerebro como nodo + tab.
H: desplegar pa-laptop
Unico nodo con corpus DT 200k. Desbloquea V2+ del Cerebro DT.
Mapa completo en repo
Auditoria 2026-05-23 → ampliacion pa-ot + git multi-repo personal + backups BD 2026-05-24 → git PAW OT + snapshot daily 2026-05-29/30. Nodos online en vivo desde el cerebro.
fraidey/claude-ecosystem → docs/ (INDEX.md, personal.md, claude-ecosystem.md, pa-ot.md, pa-laptop.md, UPGRADE_PATHS.md).Auditoria 2026-05-23 → ampliacion pa-ot + git multi-repo personal + backups BD 2026-05-24 → git PAW OT + snapshot daily 2026-05-29/30. Nodos online en vivo desde el cerebro.