Saltar a contenido
Hermes Agent

agente-ia · asistente · voz-local · memoria-persistente · multi-plataforma

📌 v0.13.0 · 2026-05

Hermes Agent — Asistente IA autónomo con memoria, voz y automatización para SmallCountry

Podría ser el centro de asistencia IA de SmallCountry: un agente que unifica lo que antes requería tres servicios separados. No sería un servicio crítico — SmallCountry funcionaría sin él — sino una capa de asistencia que reduciría la carga cognitiva del mantenimiento diario.

Sustituiría a OpenClaw (agente conversacional), Whisper+Piper (transcripción/síntesis de voz) y Sherlog (análisis de logs con IA).

Como usuario

Qué podrías hacer

  • Hablar con Hermes desde Telegram, Signal o la terminal mientras conduces o trabajas en el campo
  • Grabar notas de voz en el campo: Hermes transcribe con faster-whisper (local, sin API keys), extrae datos con Ollama y registra en farmOS
  • Delegar tareas de mantenimiento: "Hermes, verifica los backups de esta noche"
  • Preguntar sobre logs del sistema: "¿Por qué falló el backup anoche?" — Hermes consulta VictoriaLogs/Loki
  • Crear y modificar workflows de n8n pidiéndoselo por chat
  • Recibir un resumen diario de noticias por Telegram (sustituye a FreshRSS para el admin)
  • Preguntar sobre el estado del sistema: "¿Cómo está la memoria del servidor Ra?"
  • Recibir alertas proactivas cuando algo necesite atención
  • Consultar decisiones pasadas: "¿Por qué usamos ZFS en lugar de Btrfs?"

Cómo accederías

Plataforma Cómo
Terminal hermes (CLI interactiva)
Telegram Bot vinculado a tu cuenta
Signal Bot vinculado a tu cuenta
Navegador Dashboard web

Primeros pasos

flowchart TD
    Inicio([Inicio]) --> Instalar[1. Instalar Hermes Agent<br>curl script de instalación]
    Instalar --> Configurar[2. Configurar modelo<br>hermes model]
    Configurar --> Conectar[3. Conectar gateway<br>Telegram, Signal]
    Conectar --> Hablar([4. Empezar a hablar])
  1. Instalar: curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
  2. Configurar modelo: hermes model (DeepSeek, Ollama local, o cualquier proveedor)
  3. Conectar gateway: hermes gateway setup (Telegram, Signal)
  4. Empezar a hablar

Integración con otros servicios de SmallCountry

Servicio Relación
Spec Kit Hermes ejecutaría comandos /speckit.* para proponer y ejecutar cambios
Forgejo Hermes leería el repo, crearía PRs, consultaría ADRs y specs
MkDocs Hermes leería la documentación existente y propondría actualizaciones
Ollama + Qdrant Proveedor local de modelos IA sin dependencia externa
n8n Hermes crearía y modificaría workflows de n8n vía API REST
farmOS Hermes registraría observaciones de voz → texto → datos estructurados
VictoriaLogs Hermes consultaría logs vía API para diagnóstico en lenguaje natural
ntfy Canal redundante de notificaciones para watchdogs sin LLM

Servicios que lo harían posible

  • Hermes Agent — el agente en sí (MIT, Python)
  • DeepSeek API o Ollama — backend de IA
  • faster-whisper — STT local (tiny/base/small/large-v3, ~150MB, sin API keys)
  • Edge TTS o NeuTTS — síntesis de voz (gratis, local)
  • Honcho — modelado dialectico del usuario (memoria avanzada)
  • SQLite (FTS5) — búsqueda en conversaciones pasadas
Para el administrador

Datos del servicio

LXC N/A — se ejecutaría en el host o en LXC dedicado (por definir)
Directorio ~/.hermes/
Memoria ~/.hermes/memories/MEMORY.md + USER.md
Skills ~/.hermes/skills/ + directorio externo skills/ del repo
Cron jobs ~/.hermes/cron/jobs.json

Instalación

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc
hermes              # primer arranque
hermes model        # elegir proveedor IA
hermes gateway setup  # conectar Telegram/Signal

Configuración de skills SmallCountry

# ~/.hermes/config.yaml
skills:
  external_dirs:
    - /ruta/al/repo/smallcountry/skills

Actualización

hermes update

Problemas comunes

  • Hermes no arranca: verificar hermes doctor
  • No responde en Telegram: hermes gateway start y verificar token
  • Memoria llena: Hermes autogestiona, consolida entradas antiguas
Para el arquitecto

Relaciones con otros servicios

flowchart LR
    Arquitecto[Arquitecto] -->|Telegram / CLI| Hermes[Hermes Agent]
    Hermes -->|lee documentación| Forgejo[Forgejo Repositorio]
    Hermes -->|ejecuta skills| Skills[skills/]
    Hermes -->|memoria persistente| Memoria[~/.hermes/memories/]
    Hermes -->|especifica cambios| SpecKit[Spec Kit]
    Hermes -->|notifica| Telegram[Telegram]
    Hermes -->|notifica| ntfy[ntfy]
    Hermes -->|consulta IA| IA
    Forgejo -->|provee contexto| Hermes

    subgraph IA[Backend de IA]
        DeepSeek[DeepSeek API]
        Ollama[Ollama local]
    end

Principios Zen aplicables

Regla Zen Cómo la cumpliría Hermes
IA nunca es requisito SmallCountry funcionaría sin Hermes; es asistencia, no dependencia
Degradación planificada Si Hermes fallara, las tareas se harían manualmente vía CLI
Soberanía operativa Hermes podría usar Ollama local (sin internet) como backend
Conocimiento compartido La memoria de Hermes reduciría la dependencia del conocimiento tácito del arquitecto
Documentación Hermes leería y propondría actualizaciones de docs, pero no decidiría solo

Riesgos identificados (de la crítica)

Riesgo Mitigación
IA como nueva capa de fallo No-agent mode para cron jobs críticos. Watchdogs sin LLM
Complejidad añadida Sus skills y memoria externalizarían conocimiento; reducirían carga cognitiva neta
Dependencia externa (API) Migrable a Ollama local cuando el hardware lo permita
Deriva de comportamiento Las 13 reglas Zen como skill obligatoria, validación en CI

Captura de pantalla

📸 Pendiente de captura

🟢 Enlaces de interés

Sitio oficial · Documentación · GitHub


🏠 Despliegue real en SmallCountry

Instalación

Elemento Ruta / Valor
WebUI https://hermes-sc.duckdns.org (vía Caddy reverse_proxy)
Proxy Caddy: reverse_proxy localhost:8787 con CSP personalizada para WebSockets y CDN
Binario ~/.local/bin/hermes (shell script → Python venv)
Entorno virtual ~/.hermes/hermes-agent/venv/ (Python 3.11.15)
Código fuente ~/.hermes/hermes-agent/ (clon de GitHub + custom skills)
Datos y skills ~/.hermes/

Configuración

Archivo Contenido
~/.hermes/config.yaml Modelo deepseek-v4-pro (provider: deepseek), toolsets hermes-cli, max_turns 60, gateway_timeout 1800s
~/.hermes/hermes-agent/cli-config.yaml.example Plantilla de configuración CLI con todos los providers soportados
~/.config/systemd/user/hermes-gateway.service Servicio systemd de usuario para el gateway de mensajería

Servicios

Servicio Tipo Estado Descripción
hermes-gateway systemd user 🟢 running Gateway de mensajería (Telegram + plataformas), ejecuta python -m hermes_cli.main gateway run --replace desde el venv
Hermes WebUI Docker compose ⬜ no desplegado Interfaz web en ~/hermes-webui/ (puerto 127.0.0.1:8787)

Dónde corre cada pieza

Hermes Agent se ejecuta íntegramente en el servidor Ra (Chapinería). No necesita nada en Garganta la Olla: los usuarios de la finca se conectan desde sus teléfonos vía Telegram, y el bot responde desde el servidor. Si la VPN con la finca cae, Hermes sigue funcionando porque no depende de ningún servicio en Garganta.

Ubicación Qué necesita Qué aporta Hermes
Chapinería — Servidor Ra Python 3.11, venv, ~/.hermes/, systemd user, API key DeepSeek, token bot Telegram Procesa mensajes, ejecuta skills, transcribe audio, consulta logs, responde por Telegram
Garganta la Olla — Finca Solo un teléfono con Telegram Nada — Hermes responde desde Chapinería. Si no hay internet en la finca, el usuario no puede chatear, pero Hermes sigue operativo para el resto

Docker Compose

Existe un docker-compose.yml en el repositorio (~/.hermes/hermes-agent/docker-compose.yml) con servicios gateway y dashboard, pero no se usa en este despliegue. Hermes corre de forma nativa: binario en ~/.local/bin/hermes, venv en ~/.hermes/hermes-agent/venv/, y el gateway como servicio systemd de usuario (hermes-gateway.service). La WebUI tiene su propio compose en ~/hermes-webui/ pero tampoco está desplegada actualmente.

Integración con opencode

Hermes y opencode comparten el mismo proveedor IA (deepseek-v4-pro), el directorio ~/.hermes/ para skills y configuraciones, y el usuario tonatiuh para commits en Forgejo.

Telegram

La integración con Telegram se gestiona desde el gateway. La configuración del bot y los tokens están en variables de entorno del servicio systemd.