Files
system-docs/v4-archive/deck/README.md
2025-12-24 17:28:34 +00:00

281 lines
10 KiB
Markdown

# DECK
![Estado](https://img.shields.io/badge/Estado-PARCIAL-orange)
**Servidor Personal del Ecosistema TZZR**
## Descripción
DECK es el **servidor personal** que gestiona la vida digital de un usuario. Incluye:
- **Vision Builder**: Crear visiones → milestones (MST) → acciones y hábitos → evidencias (BCK)
- **Mind Link**: Interfaz unificada de acceso a servicios
- **ALFRED**: Orquestador lite que decide cómo procesar cada petición
- **Windmill**: Automatización de workflows (alternativa a n8n)
- **HST Tags**: Etiquetado semántico personal
## Arquitectura
```
┌──────────────────────────────────────────────────────────────────┐
│ DECK │
│ (Servidor Personal) │
├──────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ VISION │ │ MIND │ │ WINDMILL │ │
│ │ BUILDER │ │ LINK │ │ (Workflows)│ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ └────────────────┼────────────────┘ │
│ │ │
│ ┌──────┴──────┐ │
│ │ ALFRED │ ← Orquestador Lite │
│ │ (decide) │ │
│ └──────┬──────┘ │
│ │ │
│ ┌───────────────────────┼───────────────────────┐ │
│ │ PostgreSQL + Directus │ │
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │
│ │ │Visiones│ │ MST │ │Acciones│ │Hábitos │ │ │
│ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │
│ └───────────────────────────────────────────────┘ │
│ │ │
└───────────────────────────┼──────────────────────────────────────┘
┌───────────────┼───────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ GRACE │ │ PENNY │ │ FACTORY │
│(process) │ │ (text) │ │(iterate) │
└──────────┘ └──────────┘ └──────────┘
```
## Servidor
- **IP**: 72.62.1.113
- **Dominio**: tzzrdeck.me
- **VPS**: Hostinger (Ubuntu 22.04, 8GB RAM, 100GB SSD)
- **SSH**: `ssh root@72.62.1.113` (password en credentials repo)
## Servicios Docker (Actualizado 2025-12-22)
| Servicio | Puerto | Estado | Función |
|----------|--------|--------|---------|
| PostgreSQL | 5432 | UP (healthy) | Base de datos principal |
| Directus | 8055 | UP | CMS/Admin (reemplaza al antiguo NocoDB) |
| Mailcow | 8180 + mail ports | UP | Servidor de correo |
| FileBrowser | 8082 | UP (healthy) | Gestión de archivos |
| Shlink | 8083 | UP | Acortador de URLs |
| Vaultwarden | 8085 | UP (healthy) | Gestor de contraseñas |
| ntfy | 8080 | UP | Notificaciones push |
| Odoo | 8069 | UP | ERP |
| Redis | 6379 | UP | Cache (Mailcow) |
### Directus (Admin)
```
URL: http://72.62.1.113:8055
Email: admin@tzzr.me
Password: DirectusDeck2024!
```
### Mailcow
```
URL: http://mail.tzzr.net
Puertos: 25 (SMTP), 465 (SMTPS), 587 (Submission), 143 (IMAP), 993 (IMAPS)
Admin: admin / moohoo (cambiar al primer login)
Ubicación: /opt/mailcow
```
## Bases de Datos PostgreSQL
| Base de datos | Uso |
|---------------|-----|
| tzzr | BD principal (deck_*, tablas legacy) |
| directus | Directus CMS |
| shlink | URL shortener |
## Migraciones Completadas
### NocoDB → Directus (2025-12-22)
- NocoDB eliminado completamente
- Directus instalado y operativo
- Datos preservados en PostgreSQL
## DNS (tzzrdeck.me)
```zone
; tzzrdeck.me → 72.62.1.113
@ A 72.62.1.113
mail A 72.62.1.113
directus A 72.62.1.113
db A 72.62.1.113
shlink A 72.62.1.113
link A 72.62.1.113
odoo A 72.62.1.113
erp A 72.62.1.113
vault A 72.62.1.113
files A 72.62.1.113
ntfy A 72.62.1.113
; Mail
@ MX 10 mail.tzzrdeck.me.
@ TXT "v=spf1 mx a ip4:72.62.1.113 -all"
_dmarc TXT "v=DMARC1; p=reject; rua=mailto:postmaster@tzzrdeck.me"
dkim._domainkey TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoF3v+ytuXDr7AVJ5aPkQC7EV95Nr8zjRRYxwgrYPGsNrDOcjG5/8iwJRvdporYxoMKOoeKWTVkOlnLBUMjhP5wdGtJY63jQDjs5bybtXyZpLC+3xbwTGRk4fGOodzkhRabkaz0HxZrp/5tGqjZEv77pfX7Jpm0qAmFC2wBoYRlXngp7Eno9k7jSrGDb1f/gCgWV5wWGr7J+ny0/gScSkitp2hwTB+tV5504T4hMajxkff1iQhFTAPHiUQHzNpiq3zF+yaOE1KfbtdLTIDYBvgTQsINa4qLNbQXVQfk30+CHO/rzAb1wOdByrRO+O7IXJ+OA2Reqz/jlPIOIj7o7B7QIDAQAB"
autodiscover CNAME mail.tzzrdeck.me.
autoconfig CNAME mail.tzzrdeck.me.
```
**NOTA:** Registros en "DNS only" (nube gris) para SSL automático.
## Vision Builder
Sistema de construcción de visiones que se convierten en acciones:
```
VISIÓN → MST (Milestones) → ACCIONES + HÁBITOS → BCK (Evidencias)
```
### Tipos de Visión
| Tipo | Descripción | Ejemplo |
|------|-------------|---------|
| fitness | Transformación física | Perder 10kg en 12 semanas |
| career | Desarrollo profesional | Conseguir ascenso |
| project | Proyecto específico | Lanzar MVP |
| habit | Crear hábito | Meditar diario |
| learning | Aprendizaje | Dominar Python |
| finance | Finanzas | Ahorrar €10k |
### Acciones vs Hábitos
| Concepto | Descripción | Ejemplo |
|----------|-------------|---------|
| **Acción** | Tarea única | Comprar báscula |
| **Hábito** | Comportamiento recurrente | Entrenar 5x/semana |
## ALFRED (Orquestador)
ALFRED decide automáticamente qué servicio usar:
```javascript
// Mapeo de intenciones
"resumir" GRACE.SUMMARIZER
"transcribir" GRACE.ASR_ENGINE
"generar plan" PENNY
"crear imagen" FACTORY
```
## Tablas Principales
```sql
deck_visiones -- Visiones del usuario
deck_milestones -- MST: objetivos con fecha
deck_acciones -- Tareas únicas
deck_habitos -- Comportamientos recurrentes
deck_habito_registros -- Tracking diario de hábitos
deck_bck -- Bloques de evidencia
deck_emails -- Correos sincronizados
deck_ia_solicitudes -- Peticiones a GRACE/PENNY/FACTORY
```
## Windmill Workflows
Automatizaciones predefinidas:
| Workflow | Trigger | Acción |
|----------|---------|--------|
| Training Completed | Webhook | Guarda entreno → Pide análisis a PENNY |
| Weekly Progress | Cron (Lunes 9:00) | Genera reporte semanal |
| Email Received | IMAP | Clasifica → Extrae tareas → Notifica |
| Habit Reminder | Cron | Envía recordatorio de hábitos pendientes |
## Instalación
### 1. Clonar y configurar
```bash
git clone https://github.com/tzzrgit/deck.git
cd deck
cp .env.example .env
# Editar .env con credenciales
```
### 2. Levantar servicios
```bash
docker-compose up -d
```
### 3. Aplicar schema
```bash
# Schema base
psql -U tzzr -d tzzr -f database/init-tzzr-v2.sql
# Vision Builder
psql -U tzzr -d tzzr -f database/vision-builder.sql
```
### 4. Configurar Windmill
```bash
# Windmill UI en http://localhost:8000
# Importar workflows desde /windmill/
```
## Template Clonable
DECK puede clonarse para un nuevo usuario:
```bash
# Usar template
psql -U tzzr -d nuevo_usuario -f templates/deck-template.sql
# Reemplazar variables
sed -i 's/{{USER_NAME}}/Carlos/g' ...
sed -i 's/{{START_WEIGHT}}/85/g' ...
```
## Conexión a Servicios IA
ALFRED construye S-CONTRACT v2.1 para cada petición:
```json
{
"contract_version": "2.1",
"source": { "system": "DECK", "orchestrator": "ALFRED" },
"target": { "service": "GRACE", "module": "SUMMARIZER" },
"input": { "type": "text", "data": "..." },
"limits": { "budget_usd": 0.1 }
}
```
## Repositorios Relacionados
| Repo | Descripción |
|------|-------------|
| [contratos-comunes](https://github.com/tzzrgit/contratos-comunes) | S-CONTRACT, ALFRED, CLARA, schemas |
| [grace](https://github.com/tzzrgit/grace) | 18 módulos de procesamiento IA |
| [penny](https://github.com/tzzrgit/penny) | Generación de texto |
| [the-factory](https://github.com/tzzrgit/the-factory) | Generación iterativa |
| [vision-builder](https://github.com/tzzrgit/vision-builder) | UI de Vision Builder |
| [mind-link](https://github.com/tzzrgit/mind-link) | UI de conexión |
| [locker](https://github.com/tzzrgit/locker) | Almacenamiento |
## Roadmap
- [x] Schema PostgreSQL v2
- [x] Vision Builder schema
- [x] ALFRED orquestador
- [x] Windmill config
- [ ] Integración Mail-in-a-Box → deck_emails
- [ ] API REST para Mind Link
- [ ] Push notifications
- [ ] Sync con LOCKER