diff --git a/01_ARQUITECTURA/entidades/modelo-cero.md b/01_ARQUITECTURA/entidades/modelo-cero.md new file mode 100644 index 0000000..8c4a42a --- /dev/null +++ b/01_ARQUITECTURA/entidades/modelo-cero.md @@ -0,0 +1,256 @@ +# MODELO CERO + +**Tipo:** Plantilla Base / Desarrollo +**IP:** 72.62.1.113 +**Dominio:** tzzrdeck.me + +--- + +## Rol en el Ecosistema + +MODELO CERO es la **plantilla base replicable** del sistema. Sirve como entorno de **desarrollo y experimentación** antes de replicar cambios a instancias de producción (como PABLO). + +Es el **servidor central** y **punto de iniciación** de todas las conexiones hacia los servicios de IA en cualquier instancia del sistema. + +``` +┌─────────────────────────────────────────────────────────────────┐ +│ PRINCIPIO MODELO CERO │ +│ │ +│ "MODELO CERO inicia TODAS las conexiones. Los servicios son │ +│ stateless. Cada request lleva su contexto completo." │ +└─────────────────────────────────────────────────────────────────┘ +``` + +--- + +## Funciones + +| Función | Descripción | +|---------|-------------| +| **Iniciador** | Todas las llamadas a GRACE, PENNY, FACTORY se originan aquí | +| **Gestor contexto** | Envía información de contexto con cada request | +| **Router despliegue** | Decide si usar self-hosted o externos | +| **Almacén credenciales** | Gestiona API keys vía Key Vault | + +--- + +## Arquitectura + +``` +┌─────────────────────────────────────────────────────────────────┐ +│ MODELO CERO │ +│ (Servidor Central) │ +├─────────────────────────────────────────────────────────────────┤ +│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ +│ │ PostgreSQL │ │ Directus │ │ FileBrowser │ │ +│ └──────────────┘ └──────────────┘ └──────────────┘ │ +│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ +│ │ Vaultwarden │ │ Shlink │ │ Addy.io │ │ +│ │ (Key Vault) │ │ │ │ │ │ +│ └──────────────┘ └──────────────┘ └──────────────┘ │ +│ │ +│ ┌──────────────────────────────────────────────────────────┐ │ +│ │ DEPLOYMENT ROUTER │ │ +│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ +│ │ │ GRACE │ │ PENNY │ │ FACTORY │ │ │ +│ │ │ Connector │ │ Connector │ │ Connector │ │ │ +│ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ │ +│ └─────────┼────────────────┼────────────────┼───────────────┘ │ +└────────────┼────────────────┼────────────────┼──────────────────┘ + │ │ │ + ▼ ▼ ▼ + ┌────────────────────────────────────────────────────┐ + │ SERVICIOS DE IA │ + ├────────────────────────────────────────────────────┤ + │ ┌─────────────────┐ ┌─────────────────┐ │ + │ │ SELF-HOSTED │ │ EXTERNAL │ │ + │ │ (RunPod/GPU) │ │ (APIs) │ │ + │ ├─────────────────┤ ├─────────────────┤ │ + │ │ Faster Whisper │ │ Groq API │ │ + │ │ Local LLM │ │ OpenRouter │ │ + │ │ Tesseract │ │ OpenAI │ │ + │ │ Embeddings │ │ Anthropic │ │ + │ └─────────────────┘ └─────────────────┘ │ + └────────────────────────────────────────────────────┘ +``` + +--- + +## Componentes Internos + +| Componente | Puerto | Función | +|------------|--------|---------| +| Clara (secretaría) | 5051 | Ingesta inmutable | +| Alfred (producción) | 5052 | Flujos predefinidos | +| Mason (administración) | 5053 | Enriquecimiento | +| Feldman (contable) | 5054 | Consolidación | + +--- + +## Modos de Despliegue + +### EXTERNAL + +```yaml +grace: + mode: EXTERNAL + external: + providers_allowed: [groq, openrouter, openai, anthropic] +``` + +- Todas las llamadas a proveedores externos +- Sin infraestructura propia +- Ideal para: inicio rápido, bajo volumen + +### SELF_HOSTED + +```yaml +grace: + mode: SELF_HOSTED + self_hosted: + endpoint: "https://your-runpod-endpoint.runpod.net" + timeout_ms: 30000 +``` + +- Todas las llamadas a infraestructura propia +- Requiere RunPod/GPU configurado +- Ideal para: privacidad total, alto volumen + +### SEMI (Recomendado) + +```yaml +grace: + mode: SEMI + tier_preference: + - SELF_HOSTED + - EXTERNAL + self_hosted: + endpoint: "..." + retry_on_failure: true + external: + providers_allowed: [groq, openrouter] +``` + +- Intenta self-hosted primero +- Fallback automático a external +- Balance privacidad/disponibilidad + +--- + +## Flujo de Request + +``` +┌──────────┐ ┌──────────┐ ┌───────────────┐ ┌──────────────┐ +│ Cliente │────▶│ MODELO CERO │────▶│ Deployment │────▶│ Servicio │ +│ │ │ │ │ Router │ │ (IA) │ +└──────────┘ └────┬─────┘ └───────┬───────┘ └──────────────┘ + │ │ + │ 1. Recibe request │ + │ 2. Lee config/deployment.yaml + │ 3. Obtiene credenciales de Vaultwarden + │ 4. Construye S-CONTRACT request + │ │ + │ ┌────────▼────────┐ + │ │ mode: SEMI │ + │ ├─────────────────┤ + │ │ 1. Try SELF_HOSTED + │ │ 2. If fail → EXTERNAL + │ └─────────────────┘ +``` + +--- + +## Servicios Docker + +| Servicio | Puerto | Descripción | +|----------|--------|-------------| +| PostgreSQL | 5432 | Base de datos principal | +| Directus | 8055 | Interface datos | +| FileBrowser | 8081 | Gestión archivos | +| Vaultwarden | 8082 | Key Vault | +| Shlink | 8083 | Acortador URLs | +| Addy.io | 8084 | Alias correo | +| Redis | 6379 | Cache y colas | + +--- + +## Conectores de IA + +### GRACE Connector + +- Procesa requests de módulos GRACE +- Soporta todos los M-CONTRACTs +- Maneja fallback chain según M-CONTRACT + +### PENNY Connector + +- Conexión WebSocket para real-time voice +- Sesiones de voz bidireccionales +- Integración con ASR/TTS + +### FACTORY Connector + +- Jobs de generación iterativa +- Gestión de iteraciones y convergencia +- Tracking de costos + +--- + +## Gestión de Credenciales + +Las credenciales se referencian con URIs `kv://`: + +| URI | Contenido | +|-----|-----------| +| `kv://deck/credentials/groq` | API key Groq | +| `kv://deck/credentials/openrouter` | API key OpenRouter | +| `kv://deck/credentials/runpod` | API key RunPod | +| `kv://deck/credentials/grace` | Credenciales consolidadas GRACE | +| `kv://deck/credentials/penny` | Credenciales PENNY | +| `kv://deck/credentials/factory` | Credenciales FACTORY | + +--- + +## Integración S-CONTRACT + +MODELO CERO construye requests siguiendo S-CONTRACT v2.1: + +```json +{ + "contract_version": "2.1", + "profile": "FULL", + "envelope": { + "trace_id": "uuid-generado-por-deck", + "idempotency_key": "sha256-del-contenido" + }, + "routing": { + "module": "ASR_ENGINE" + }, + "deployment": { + "mode": "SEMI", + "tier_preference": ["SELF_HOSTED", "EXTERNAL"], + "credentials_ref": "kv://deck/credentials/grace" + }, + "payload": { + "type": "audio", + "encoding": "url", + "content": "https://storage.tzzrdeck.me/audio/file.mp3" + } +} +``` + +--- + +## Estructura de Directorios + +``` +deck/ +├── config/ +│ └── deployment.yaml # Modos de despliegue +├── docker-compose.yml # Servicios +├── docs/ +│ ├── ARQUITECTURA.md +│ └── ESPECIFICACION_SERVIDOR.md +├── .env # Variables entorno +└── README.md +``` diff --git a/01_ARQUITECTURA/entidades/pablo.md b/01_ARQUITECTURA/entidades/pablo.md new file mode 100644 index 0000000..4d31bb9 --- /dev/null +++ b/01_ARQUITECTURA/entidades/pablo.md @@ -0,0 +1,128 @@ +# PABLO + +**Tipo:** Instancia de Producción del Usuario +**IP:** 72.62.115.124 +**Dominio:** tzzr.me + +--- + +## Rol en el Ecosistema + +PABLO es la **instancia de producción** del sistema TZZR. Es una réplica operativa de MODELO CERO que sirve como herramienta de trabajo diario del usuario. + +Todas las características y arquitectura documentadas en MODELO CERO aplican a PABLO, con la diferencia de que esta instancia está optimizada para uso en producción con todos los servicios activos y estables. + +--- + +## Relación con MODELO CERO + +``` +┌──────────────────┐ ┌──────────────────┐ +│ MODELO CERO │ │ PABLO │ +│ (Desarrollo) │ ──────► │ (Producción) │ +│ 72.62.1.113 │ replica │ 72.62.115.124 │ +│ tzzrdeck.me │ │ tzzr.me │ +└──────────────────┘ └──────────────────┘ + + Experimentación Uso diario + Nuevas features Estable + Pruebas Operativo +``` + +Cuando una característica o configuración es validada en MODELO CERO, se replica a PABLO para uso en producción. + +--- + +## Servicios Activos + +| Servicio | Puerto | Estado | Descripción | +|----------|--------|--------|-------------| +| Caddy | 443 | ✓ | Reverse proxy y SSL | +| PostgreSQL | 5432 | ✓ | Base de datos principal | +| PostgREST | 3000 | ✓ | API REST auto-generada | +| Directus | 8055 | ✓ | CMS headless | +| Nextcloud | 8084 | ✓ | Almacenamiento cloud | +| Vaultwarden | 8085 | ✓ | Gestor de contraseñas | +| Shlink | 8083 | ✓ | Acortador de URLs | +| Ntfy | 8080 | ✓ | Notificaciones push | +| Windmill | 8100 | ✓ | Orquestación de flujos | +| HST Web | 5002 | ✓ | Interfaz etiquetas | + +--- + +## Servicios TZZR Internos + +| Componente | Puerto | Estado | Función | +|------------|--------|--------|---------| +| Clara (secretaría) | 5051 | ✓ | Ingesta inmutable | +| Alfred (producción) | 5052 | ✓ | Flujos predefinidos | +| Mason (administración) | 5053 | ✓ | Enriquecimiento | +| Feldman (contable) | 5054 | ✓ | Consolidación | + +--- + +## Sistema de Correo + +PABLO incluye un sistema completo de correo electrónico: + +| Componente | Puerto | Función | +|------------|--------|---------| +| Haraka | 25, 587 | SMTP server | +| Dovecot | 143, 993 | IMAP server | +| mail-ui | 3080 | Interfaz web | +| Stalwart | 8899 | Admin panel | +| Snappymail | 8280 | Webmail | + +Datos almacenados en: `tzzr_communications.mail` + +--- + +## Base de Datos + +### DB Principal: `tzzr` + +Base de datos PostgreSQL con esquema completo del sistema TZZR. + +### DB Usuario: `pablo` + +Base de datos PostgreSQL dedicada para gestión personal: + +```bash +ssh pablo "docker exec tzzr-postgres psql -U pablo -d pablo" +``` + +#### Tablas Provisionales + +| Tabla | Campos | Propósito | +|-------|--------|-----------| +| **notas** | id, nota, created, fecha_inicio, fecha_finalizacion | Agenda personal | + +--- + +## Conectividad + +```bash +# SSH +ssh pablo + +# Acceso web +https://tzzr.me +``` + +--- + +## Arquitectura + +PABLO implementa la misma arquitectura documentada en MODELO CERO: + +- Router de deployment (SEMI mode por defecto) +- Gestión de credenciales via Vaultwarden +- Integración S-CONTRACT v2.1 +- Conectores para GRACE, PENNY, FACTORY +- Context Manager para gestión de contexto IA + +Consultar [MODELO CERO](modelo-cero.md) para detalles arquitectónicos completos. + +--- + +**Actualizado:** 22 Enero 2026 diff --git a/04_INFRAESTRUCTURA/overview.md b/04_INFRAESTRUCTURA/overview.md index fcbc2ef..517c082 100644 --- a/04_INFRAESTRUCTURA/overview.md +++ b/04_INFRAESTRUCTURA/overview.md @@ -1,7 +1,7 @@ # 04_INFRAESTRUCTURA -**Versión:** 10.0 -**Fecha:** 6 Enero 2026 +**Versión:** 10.1 +**Fecha:** 22 Enero 2026 **Sistema:** TZZR --- @@ -13,7 +13,8 @@ | Servidor | IP | Propósito | |----------|-----|-----------| | **ARCHITECT** | 69.62.126.110 | Desarrollo | -| **DECK** | 72.62.1.113 | Usuario | +| **PABLO** | 72.62.115.124 | Usuario - Producción | +| **MODELO CERO** | 72.62.1.113 | Plantilla - Desarrollo | | **CORP** | 92.112.181.188 | Corporativo | | **HST** | 72.62.2.84 | API tags semánticos | @@ -32,10 +33,27 @@ --- -## DECK +## PABLO -**IP:** 72.62.1.113 +**IP:** 72.62.115.124 +**Dominio:** tzzr.me +**Tipo:** Instancia de producción del usuario + +| Servicio | Puerto | Estado | +|----------|--------|--------| +| Clara | 5051 | OK | +| Alfred | 5052 | OK | +| Mason | 5053 | OK | +| Feldman | 5054 | OK | +| Context-Manager | 5500 | OK | + +--- + +## MODELO CERO + +**IP:** 72.62.1.113 **Dominio:** tzzrdeck.me +**Tipo:** Plantilla base para replicar instancias | Servicio | Puerto | Estado | |----------|--------|--------| @@ -91,7 +109,8 @@ | Bucket | Acceso | |--------|--------| | architect | Privado | -| deck | Privado | +| pablo | Privado | +| modelo-cero | Privado | | corp | Privado | | hst | Público | | locker | Privado | @@ -123,11 +142,12 @@ # SSH ```bash -ssh root@72.62.1.113 -i ~/.ssh/tzzr # DECK +ssh pablo # PABLO (producción) +ssh modelo-cero # MODELO CERO (desarrollo) ssh root@92.112.181.188 -i ~/.ssh/tzzr # CORP ssh root@72.62.2.84 -i ~/.ssh/tzzr # HST ``` --- -*SKYNET v10 - 04_INFRAESTRUCTURA - 6 Enero 2026* +*SKYNET v10.1 - 04_INFRAESTRUCTURA - 22 Enero 2026*