260122: Renombrado DECK → MODELO CERO y DECK PABLO → PABLO
- Actualizado 04_INFRAESTRUCTURA/overview.md con nueva nomenclatura - Creado 01_ARQUITECTURA/entidades/modelo-cero.md (plantilla base) - Creado 01_ARQUITECTURA/entidades/pablo.md (instancia producción) - MODELO CERO (72.62.1.113): desarrollo y plantilla - PABLO (72.62.115.124): producción del usuario
This commit is contained in:
256
01_ARQUITECTURA/entidades/modelo-cero.md
Normal file
256
01_ARQUITECTURA/entidades/modelo-cero.md
Normal file
@@ -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
|
||||||
|
```
|
||||||
128
01_ARQUITECTURA/entidades/pablo.md
Normal file
128
01_ARQUITECTURA/entidades/pablo.md
Normal file
@@ -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
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# 04_INFRAESTRUCTURA
|
# 04_INFRAESTRUCTURA
|
||||||
|
|
||||||
**Versión:** 10.0
|
**Versión:** 10.1
|
||||||
**Fecha:** 6 Enero 2026
|
**Fecha:** 22 Enero 2026
|
||||||
**Sistema:** TZZR
|
**Sistema:** TZZR
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -13,7 +13,8 @@
|
|||||||
| Servidor | IP | Propósito |
|
| Servidor | IP | Propósito |
|
||||||
|----------|-----|-----------|
|
|----------|-----|-----------|
|
||||||
| **ARCHITECT** | 69.62.126.110 | Desarrollo |
|
| **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 |
|
| **CORP** | 92.112.181.188 | Corporativo |
|
||||||
| **HST** | 72.62.2.84 | API tags semánticos |
|
| **HST** | 72.62.2.84 | API tags semánticos |
|
||||||
|
|
||||||
@@ -32,10 +33,27 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## DECK
|
## PABLO
|
||||||
|
|
||||||
|
**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
|
**IP:** 72.62.1.113
|
||||||
**Dominio:** tzzrdeck.me
|
**Dominio:** tzzrdeck.me
|
||||||
|
**Tipo:** Plantilla base para replicar instancias
|
||||||
|
|
||||||
| Servicio | Puerto | Estado |
|
| Servicio | Puerto | Estado |
|
||||||
|----------|--------|--------|
|
|----------|--------|--------|
|
||||||
@@ -91,7 +109,8 @@
|
|||||||
| Bucket | Acceso |
|
| Bucket | Acceso |
|
||||||
|--------|--------|
|
|--------|--------|
|
||||||
| architect | Privado |
|
| architect | Privado |
|
||||||
| deck | Privado |
|
| pablo | Privado |
|
||||||
|
| modelo-cero | Privado |
|
||||||
| corp | Privado |
|
| corp | Privado |
|
||||||
| hst | Público |
|
| hst | Público |
|
||||||
| locker | Privado |
|
| locker | Privado |
|
||||||
@@ -123,11 +142,12 @@
|
|||||||
# SSH
|
# SSH
|
||||||
|
|
||||||
```bash
|
```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@92.112.181.188 -i ~/.ssh/tzzr # CORP
|
||||||
ssh root@72.62.2.84 -i ~/.ssh/tzzr # HST
|
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*
|
||||||
|
|||||||
Reference in New Issue
Block a user