diff --git a/hermes/README.md b/hermes/README.md index 80bd818..d6c3862 100644 --- a/hermes/README.md +++ b/hermes/README.md @@ -1,3 +1,300 @@ -# Hermes Agent +# Hermes Agent — Documentación de Implementación +**Consultoria-AS | Abril 2026** -Documentación del agente Hermes. +--- + +## Infraestructura del Servidor LLM + +| Componente | Detalle | +|------------|---------| +| Hostname | ai-server | +| IP | 192.168.10.144 | +| CPU | AMD Ryzen 7700X | +| RAM | 32GB | +| GPU | NVIDIA RTX 3060 12GB VRAM | +| Disco | 500GB | +| OS | Ubuntu Server 24.04 LTS | + +--- + +## Stack Instalado + +| Servicio | Versión | Puerto | Estado | +|----------|---------|--------|--------| +| Ollama | Latest | 11434 | ✅ Activo | +| Hermes Agent | v0.9.0 | — | ✅ Activo | +| Kokoro TTS | v0.2.2 | 8880 | ✅ Docker | +| Hermes Dashboard | — | 9119 | ✅ Activo | + +--- + +## Modelos Instalados + +| Modelo | Uso | VRAM | +|--------|-----|------| +| qwen3.5:9b | Ollama local / respaldo | ~6.6GB | +| qwen3.6 (NaN Builders) | Hermes principal | Cloud | + +--- + +## Servicios Systemd + +```bash +# Gateway de mensajería (Telegram + Discord) +systemctl --user status hermes-gateway + +# Dashboard web +systemctl --user status hermes-dashboard + +# Kokoro TTS +docker ps | grep kokoro +``` + +### Comandos de gestión + +```bash +# Reiniciar gateway +systemctl --user restart hermes-gateway + +# Ver logs en tiempo real +journalctl --user -u hermes-gateway -f + +# Actualizar Hermes +hermes update + +# Cambiar modelo +hermes model +``` + +--- + +## Configuración de Red + +### Ollama expuesto a la red local +Archivo: `/etc/systemd/system/ollama.service` +```ini +[Service] +Environment="OLLAMA_HOST=0.0.0.0:11434" +``` + +### Firewall +```bash +sudo ufw allow 11434/tcp # Ollama API +``` + +--- + +## Archivos de Configuración + +| Archivo | Descripción | +|---------|-------------| +| `~/.hermes/config.yaml` | Configuración principal | +| `~/.hermes/SOUL.md` | Personalidad agente Lucy (General) | +| `~/.hermes/.env` | API keys y variables de entorno | +| `~/.hermes/skills/` | Skills instalados | +| `~/.hermes/profiles/` | Perfiles de agentes | +| `~/.hermes/sessions/` | Historial en SQLite | +| `~/.hermes/cron/` | Tareas programadas | + +--- + +## Variables de Entorno (.env) + +```bash +# NaN Builders (modelo principal) +# base_url: https://api.nan.builders/v1 +# model: qwen3.6 + +# Telegram Gateway +TELEGRAM_ALLOWED_USERS=1322020431,[usuario2],[usuario3] + +# Discord Gateway +DISCORD_ALLOWED_USERS=[id1],[id2],[id3] + +# Kokoro TTS +VOICE_TOOLS_OPENAI_KEY=dummy +VOICE_TOOLS_OPENAI_BASE_URL=http://localhost:8880/v1 + +# Gitea +GITHUB_TOKEN=d513c9be01ccd2044788c1895b74d5a27eec721c +GITHUB_API_URL=https://git.consultoria-as.com/api/v1 +``` + +--- + +## Agentes Configurados + +### Lucy (Agente General) +- **Perfil**: Principal (default) +- **SOUL**: `~/.hermes/SOUL.md` +- **Modelo**: qwen3.6 via NaN Builders +- **Canales**: Telegram + Discord +- **Personalidad**: Lucy Mayreel de The Extra's Academy Survival Guide, adaptada para uso de oficina +- **Rol**: Asistente general del equipo de 3 personas + +### Kratos (Marketing & SEO) +- **Perfil**: `~/.hermes/profiles/kratos/` +- **SOUL**: `~/.hermes/profiles/kratos/SOUL.md` +- **Modelo**: qwen3.6 via NaN Builders +- **Personalidad**: Kratos de God of War +- **Rol**: Marketing digital y SEO para Consultoria-AS, Nexus Autoparts y Horux 360 +- **Empresas**: Consultoria-AS, Nexus Autoparts, Horux 360 +- **Plataformas**: LinkedIn, Facebook, Instagram, Google SEO +- **Mercados**: Tijuana BC y Guadalajara JAL + +### Juan (Nexus Autoparts) +- **Perfil**: `~/.hermes/profiles/nexus/` +- **SOUL**: `~/.hermes/profiles/nexus/SOUL.md` +- **Modelo**: qwen3.6 via NaN Builders +- **Personalidad**: Experto en mecánica automotriz, serio y orientado a atención a clientes +- **Rol**: Soporte especializado para usuarios de Nexus Autoparts +- **Capacidades**: Consulta de inventario, catálogo TecDoc, CFDI 4.0, VIN decoder + +### Agente Horux (Pendiente) +- **Perfil**: `~/.hermes/profiles/horux/` +- **Estado**: En diseño +- **Rol**: Asistente financiero para clientes de Horux 360 +- **Canales**: WhatsApp + Chat embebido en Horux web +- **Arquitectura**: Multi-tenant — cada cliente ve solo su propia base de datos PostgreSQL + +--- + +## Gateways de Mensajería + +### Telegram ✅ +- Bot configurado via @BotFather +- Allowed users configurados en `~/.hermes/.env` +- Home channel: Chat privado del admin + +### Discord ✅ +- Bot configurado en discord.com/developers +- Privileged Gateway Intents activados (Presence, Server Members, Message Content) +- Allowed users configurados en `~/.hermes/.env` + +### WhatsApp ⏳ +- Pendiente de configuración +- Se usará número dedicado para bot de Horux + +--- + +## Kokoro TTS + +### Instalación +```bash +docker run -d \ + --name kokoro-tts \ + --restart unless-stopped \ + --gpus all \ + -p 8880:8880 \ + ghcr.io/remsky/kokoro-fastapi-gpu:v0.2.2 +``` + +### Voces recomendadas en español +| Voz | Género | Calidad | +|-----|--------|---------| +| ef_dora | Femenina | ⭐⭐⭐⭐ | +| em_alex | Masculino | ⭐⭐⭐⭐ | +| em_santa | Masculino | ⭐⭐⭐ | + +### Integración Open WebUI +- Engine: OpenAI +- URL: `http://192.168.10.144:8880/v1` +- API Key: `anything` +- Model: `kokoro` + +### Integración Hermes TTS +En `~/.hermes/.env`: +```bash +VOICE_TOOLS_OPENAI_KEY=dummy +VOICE_TOOLS_OPENAI_BASE_URL=http://localhost:8880/v1 +``` + +--- + +## Proveedores LLM Configurados + +| Proveedor | Modelo | Estado | Notas | +|-----------|--------|--------|-------| +| NaN Builders | qwen3.6 | ✅ Principal | RTX PRO 6000 96GB VRAM | +| Ollama Local | qwen3.5:9b | ✅ Respaldo | 12GB VRAM local | +| Groq | llama-3.3-70b | ❌ Descartado | Límite TPM muy bajo | +| Z.ai | GLM-4.7-Flash | ❌ Descartado | Rate limit bajo | + +### NaN Builders +- **URL**: `https://api.nan.builders/v1` +- **Modelo**: `qwen3.6` (35B MoE, 128K contexto) +- **Hardware**: NVIDIA RTX PRO 6000 Blackwell, 96GB VRAM +- **Rate limit**: 100 RPM, 5 concurrentes + +--- + +## Open WebUI + +- **Conexión Ollama**: `http://192.168.10.144:11434` +- **TTS**: Kokoro en `http://192.168.10.144:8880/v1` +- **Modelos disponibles**: qwen3.5:9b + cualquier modelo en Ollama + +--- + +## Arquitectura Futura (Pendiente) + +### Agente Horux Multi-tenant +``` +Cliente WhatsApp/Web + ↓ +Identificación por número de teléfono + ↓ +Lookup tabla maestra: número → DB del cliente + ↓ +Conexión a PostgreSQL específico del cliente + ↓ +Respuesta solo con datos de ese cliente +``` +**Dependencias**: Tabla maestra clientes → DB, esquema de tablas Horux + +### Agente Nexus Multi-tenant +- Similar arquitectura a Horux +- Pendiente a lanzamiento de Nexus Autoparts al mercado + +--- + +## Comandos Útiles + +```bash +# Iniciar chat con agente principal (Lucy) +hermes chat + +# Iniciar chat con agente específico +kratos chat # Marketing & SEO +nexus chat # Autopartes (Juan) + +# Ver skills disponibles +hermes skills list + +# Ver estado de todos los servicios +systemctl --user status hermes-gateway hermes-dashboard + +# Ver logs +journalctl --user -u hermes-gateway -n 50 + +# Backup de configuración +hermes backup + +# Dashboard web +# http://192.168.10.144:9119 +``` + +--- + +## Notas Importantes + +1. **IP dinámica**: La IP 192.168.10.144 es DHCP — pendiente configurar IP estática en Netplan +2. **OPNsense desactivado**: La red está sin firewall activo — prioridad configurarlo +3. **n8n workflow**: PostgreSQL en 192.168.10.148 con workflow fallando +4. **WhatsApp**: Configuración pendiente, se usará número dedicado +5. **Agente Horux**: Pendiente tabla maestra clientes y esquema de BD + +--- + +*Documentación generada: Abril 2026* +*Servidor: ai-server (192.168.10.144)* \ No newline at end of file