aprende ia.
Material del curso

Guía rápida de Hermes

Este material es exclusivo para estudiantes del curso. Escribe el correo con el que compraste y tu clave de acceso.

Esa clave no es. Revisa tu correo de bienvenida e inténtalo de nuevo.

¿No tienes la clave? Está en tu correo de bienvenida. ¿Aún no eres estudiante? Escríbele a Lala: @ia_con_lala

‹ Volver al hub
Material de las clases 9 y 10 · Hermes

Tu guía rápida de Hermes

Todos los comandos en un solo lugar, con botón de copiar. Guárdate esta página: es la que vas a abrir cada vez que se te olvide algo — que va a ser seguido, y está bien.

Empieza por aquí

  1. Haz el atajo de la sección 1. Te ahorra escribir un comando larguísimo cada vez.
  2. Déjalo fijo para que no se borre al cerrar la terminal. Ese paso casi nadie lo hace y luego se pregunta por qué dejó de funcionar.
  3. El resto lo consultas cuando lo necesites.
⬇ Descargar la guía

1 · El atajo

El comando completo de Hermes en Docker es insoportable de escribir. Le ponemos un apodo: herk.

Pégalo en la terminal
alias herk='docker run -it --rm -v ~/hermes-docker:/opt/data nousresearch/hermes-agent'
Ojo con esto: ese atajo se borra cuando cierres la terminal. Es el error más común y luego uno no entiende por qué dejó de funcionar. Para dejarlo fijo para siempre, pega los dos comandos de abajo.
Para que quede para siempre
echo "alias herk='docker run -it --rm -v ~/hermes-docker:/opt/data nousresearch/hermes-agent'" >> ~/.zshrc
source ~/.zshrc

Compruébalo: cierra la terminal, ábrela de nuevo y escribe herk version. Si te responde, quedó.

2 · Comandos de la terminal

▶ Para arrancar

⚙️ Para el día a día

Dejarlo prendido · solo la primera vez
docker run -d --name hermes-demo --restart unless-stopped \
  -v ~/hermes-docker:/opt/data -p 8643:8642 \
  nousresearch/hermes-agent gateway run
Actualizarlo · tus datos NO se pierden
docker pull nousresearch/hermes-agent:latest
docker rm -f hermes-demo
docker run -d --name hermes-demo --restart unless-stopped \
  -v ~/hermes-docker:/opt/data -p 8643:8642 \
  nousresearch/hermes-agent gateway run
Borrarlo sin dejar rastro · el segundo SÍ borra de verdad
docker rm -f hermes-demo
rm -rf ~/hermes-docker

3 · Comandos del chat

Estos se escriben adentro de la conversación con Hermes, con barra.

⭐ El único que hay que memorizar

Los del día a día

Los que valen la pena

4 · Cuando algo falla

Los errores de siempre

Y si nada funciona · pégaselo a Claude Code
Estoy usando Hermes Agent dentro de Docker, en la carpeta ~/hermes-docker.
Me está saliendo este error: [pega el error aquí]

Explícame en español sencillo qué pasó y arréglalo paso a paso.
No soy programador.

5 · Nivel avanzado: el servidor

Esto no es para hoy. Es para cuando Hermes ya te sea indispensable y quieras que corra 24/7 con tu computador apagado.

Advertencia seria: asegurar un servidor implica tocar la forma en que entras a él. Si lo haces mal, te quedas por fuera de tu propio servidor. El prompt de abajo está escrito para evitarlo —siempre prueba que la puerta nueva funciona antes de cerrar la vieja— pero ten una segunda ventana de terminal abierta mientras lo corre, y ubica dónde está la consola de rescate de tu proveedor antes de empezar.

Qué necesitas antes

Instalar Hermes en el servidor
sudo apt update && sudo apt install -y git
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
hermes setup --portal

Y ahora el blindaje. Copia el bloque completo y pégaselo a Claude Code (o al mismo Hermes) estando conectado al servidor. Va paso a paso, explicando cada cosa y parando antes de lo peligroso.

El prompt del blindaje · cópialo completo
Vas a blindar un servidor Ubuntu nuevo donde corre mi agente Hermes
(un agente de IA que trabaja solo) y su tablero. Déjalo lo más seguro
que sea razonable para una sola persona, SIN dejarme por fuera y SIN
romper Hermes.

Reglas de trabajo:
- Ve paso a paso. Antes de cada cambio, dime en una línea qué vas a
  hacer y por qué.
- NUNCA hagas un cambio que pueda dejarme por fuera del servidor sin
  antes: (a) confirmar que mi entrada con llave SSH ya funciona, y
  (b) pedirme que deje ESTA sesión abierta y abra una NUEVA conexión
  de prueba antes de reiniciar el servicio SSH. Párate y espera mi
  "confirmado" antes de tocar sshd.
- Cualquier cosa destructiva o sin vuelta atrás (prender el cortafuegos,
  reiniciar un servicio, quitar un paquete): muéstrame el comando exacto,
  explícame qué pasa si sale mal, y espera mi sí.
- Prefiere cambios que se puedan deshacer. Deja una bitácora de todo lo
  que hagas en ~/bitacora-blindaje.md para que yo pueda revertirlo.
- NO toques los datos de ~/.hermes, ni el gateway corriendo, ni mis claves.

Haz lo siguiente, en este orden, y ve marcando cada punto:

1. USUARIO Y ACTUALIZACIONES
   - Confirma que estoy trabajando como usuario normal con sudo, no como
     root. Si soy root, créame uno, agrégalo a sudo, cópiale mi llave SSH
     y hazme verificar que entro antes de seguir.
   - Corre apt update y una actualización completa. Deja prendidas las
     actualizaciones de seguridad automáticas.

2. CANDADO DEL SSH (la parte delicada)
   - Primero confirma que entro con llave. Después, y solo cuando yo
     confirme, deja en /etc/ssh/sshd_config.d/: PermitRootLogin no,
     PasswordAuthentication no, KbdInteractiveAuthentication no,
     MaxAuthTries 3, y AllowUsers .
   - Valida con `sshd -t` antes de reiniciar nada. Hazme abrir una
     conexión nueva para comprobar que funciona antes de depender de ella.

3. CORTAFUEGOS
   - Instala y configura UFW: negar todo lo que entra, permitir lo que
     sale, permitir OpenSSH. Agrega 80/443 SOLO si te digo que tengo un
     sitio público. Préndelo solo después de confirmar que SSH está
     permitido.

4. PROTECCIÓN CONTRA ATAQUES
   - Instala y prende fail2ban con la jaula de sshd.

5. QUÉ SE VE DESDE INTERNET (lo más importante para un agente)
   - Audita los puertos abiertos con `ss -tulpn`. Márcame todo lo que esté
     escuchando en 0.0.0.0 y no debería ser público — sobre todo el
     gateway y el tablero de Hermes.
   - Asegúrate de que el gateway y el tablero escuchen en 127.0.0.1, NO en
     0.0.0.0. Si algo del agente es alcanzable desde internet, ayúdame a
     arreglarlo. Ofréceme montar Tailscale, que es lo más simple.

6. SECRETOS Y EL AGENTE
   - chmod 600 en el archivo de claves, y confirma que no quedaron
     legibles para todo el mundo ni subidas a git.
   - Confirma que Hermes corre como mi usuario, no como root.
   - En la configuración de Hermes: que las acciones destructivas pidan
     aprobación manual, que las tareas programadas no puedan hacer nada
     destructivo, y que los secretos se tapen en los registros.

7. HIGIENE
   - Zona horaria y hora en red. Archivo de intercambio si hay menos de
     4 GB de memoria. Quita servicios de red que claramente no se usan.

8. RESPALDOS
   - Confirma que existe un respaldo de los datos de Hermes fuera del
     servidor. Si no existe, móntame uno diario, sin las claves o con
     ellas cifradas.
   - Enséñame a leer el registro de intentos de entrada.

Al final: imprime la bitácora, resume qué cambió, dime qué decidiste NO
hacer, y dame una línea de "cómo deshacer esto" por cada cambio. Después
vuelve a auditar los puertos y dime exactamente qué se ve desde internet.
La regla que te salva: nunca apagues la entrada por contraseña hasta que la entrada por llave esté comprobada. Si la apagas antes y se te cae la conexión, quedas por fuera para siempre — salvo por la consola de rescate de tu proveedor. Deja esta sesión abierta, abre una segunda ventana, comprueba que entras por ahí, y ahí sí deja que cierre la puerta vieja.