Claude Ecosystem

offline

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.

terminal
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
movil / browser localStorage token cerebro (DROPLET DO) 165.232.66.22 :8000 fra1 uvicorn + postgres-16 + ufw pg_dump diario 03:00 UTC personal NITRO15SFP 7 Flask + 10 repos git claude-ecosystem agente droplet acceptEdits pa-ot CLISCADA02 (OT) 11 repos git + snapshot 03:30 pa-laptop PaW corporate no conectado
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
Task Scheduler 9 tareas Repos git 10 en fraidey/* Integraciones Jira, Gmail, Outlook x2, Plaud, Anthropic, DO, MSAL, Telegram

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
BD nodes, tasks, memory, events Disco 3.6GB / 48GB (8%) Repo fraidey/claude-ecosystem Deploy scp (sin git pull)

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
13 proyectos DT energias-paw, MQTTserver, OpcUaBridge, monitorSalud, newLlums, BDD, PowerBI, etc. Stack OT Allen-Bradley + Rockwell + HiveMQ Cloud + AWS Athena/S3 git 11/13 en fraidey/* + auto-snapshot daily 03:30 ✓

pa-laptop PaW corporativo

no conectado · Fase 4 pendiente
-agente sin desplegar (toml con token placeholder)offline
Rol futuro stack de retrieval V2+ (unico con acceso al corpus DT 200k)
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 fraidey/claude-ecosystemdocs/ (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.

Escribir / dictar / pegar

Para dictar: pulsa el micro 🎤 del teclado y habla. "Enviar" deja el texto en la terminal (tu das Enter); "Enviar + ⏎" lo ejecuta.
Selecciona y copia con el dedo
Manten pulsado sobre el texto para seleccionar y copiar

sesion

Nueva conversacion