🤖HermesBlog
Hermes Official Tutorials · Parte 48/9/2026

Tutorial 4: Actualizar y desinstalar Hermes

Tutorial 4: Updating & Uninstalling Hermes — easy-to-understand guide based on official docs

Hermes tutorial

Tutorial 4: Actualizar y desinstalar Hermes

¡Bienvenido de nuevo a nuestra serie de tutoriales sobre Hermes Agent! En esta entrega, vamos a hablar de algo que todo usuario necesita saber tarde o temprano: cómo mantener Hermes actualizado y cómo despedirse cuando llegue el momento. No te preocupes — es mucho más sencillo de lo que parece.

Actualizar Hermes: a un solo comando de distancia

La forma más fácil de actualizar Hermes es con un solo comando:

hermes update

Así de simple. Este comando hace todo el trabajo pesado por ti. Descarga el código más reciente de la rama main, actualiza tus dependencias e incluso te pregunta sobre las nuevas opciones de configuración que se hayan añadido desde tu última actualización. Bastante práctico, ¿verdad?

¿Qué ocurre realmente durante una actualización?

Quizá te preguntes qué pasa entre bastidores. Aquí tienes el desglose:

  1. Instantánea previa a la actualización — Antes de que cambie nada, Hermes guarda una instantánea ligera de tus archivos de estado importantes (datos de emparejamiento, trabajos cron, config.yaml, .env y más). Los archivos de más de 1 GiB se omiten para que una base de datos enorme no ralentice el proceso. Esta instantánea se toma para cada perfil de tu instalación, y cada una se guarda en su propio directorio state-snapshots/.

  2. Git pull — Hermes descarga el código más reciente de la rama main y actualiza los submódulos.

  3. Validación de sintaxis posterior al pull + reversión automática — Después de la descarga, Hermes comprueba los nueve archivos críticos que todo comando necesita al arrancar. Si alguno no se puede analizar (como un marcador de conflicto de fusión extraviado), Hermes revierte automáticamente a la versión anterior para que tu shell siga siendo arrancable. Solo tienes que volver a ejecutar hermes update cuando la corrección llegue al repositorio.

  4. Instalación de dependencias — Ejecuta uv pip install -e ".[all]" para obtener las dependencias nuevas o modificadas.

  5. Migración de configuración — Detecta nuevas opciones de configuración y te pide que las establezcas.

  6. Reinicio automático de la pasarela — Las pasarelas en ejecución se actualizan para que el nuevo código surta efecto de inmediato. Las pasarelas gestionadas por servicios (systemd en Linux, launchd en macOS) se reinician a través del gestor de servicios, mientras que las pasarelas manuales se relanzan automáticamente.

¿Te saltaste el aviso de configuración? ¡No hay problema!

Si omitiste el aviso de configuración durante una actualización, puedes ponerte al día más tarde:

hermes config check    # ver qué falta
hermes config migrate  # añadirlo de forma interactiva

Actualizar desde una rama diferente

Por defecto, hermes update sigue la rama origin/main. Pero, ¿y si quieres probar una candidata a versión final o una rama de funcionalidades? Usa la opción --branch:

hermes update --branch release-candidate
hermes update --check --branch experimental   # solo para previsualizar cuánto te has quedado atrás

Si tu copia local está en una rama diferente, Hermes guarda automáticamente cualquier trabajo sin confirmar, cambia a la rama objetivo y hace el pull. Las ramas que no existen localmente se rastrean automáticamente desde origin/<nombre>. Si una rama no existe en ningún sitio, el comando falla limpiamente y restaura tus cambios guardados.

¿Y las ramas estacionadas?

Si tu copia está en una rama de funcionalidades, hermes update lo gestiona de forma inteligente:

  • Rama totalmente fusionada — Hermes te dice que está totalmente fusionada y vuelve a main.
  • Confirmaciones sin fusionar, árbol limpio — Hermes cambia igualmente a main para que la actualización continúe (importante para llamadas no interactivas como la aplicación de escritorio o los trabajos cron). Tus confirmaciones no se tocan, y Hermes imprime un aviso bien visible con el nombre de la rama y cómo volver a ella.

Si deliberadamente mantienes parches personalizados en una rama, configúralo en config.yaml:

updates:
  parked_branch_strategy: update_in_place

Esto fusiona origin/main dentro de tu rama en lugar de cambiarte a otra. Avance rápido cuando sea posible; si hay divergencia, crea una etiqueta de seguridad y se detiene limpiamente ante un conflicto.

Cambios locales durante actualizaciones no interactivas

Cuando ejecutas hermes update en una terminal, Hermes guarda los cambios sin confirmar, hace el pull y luego te pregunta si quiere restaurarlos. Pero cuando la actualización se ejecuta sin terminal (como desde la aplicación de escritorio), Hermes omite la actualización si el árbol está sucio — con un aviso bien visible que indica el nombre de la rama y cuánto se ha quedado atrás. ¡Nada de fingir que la actualización funcionó!

Desinstalar Hermes

Cuando llegue el momento de separar caminos, desinstalar es sencillo. Asegúrate de consultar la documentación específica de tu plataforma para conocer los pasos exactos de eliminación, pero en general querrás quitar el binario de Hermes y limpiar los directorios de configuración que haya creado.

Conclusión

Mantener Hermes actualizado es pan comido con hermes update. Las redes de seguridad integradas — instantáneas, reversión automática y gestión de ramas — significan que puedes actualizar con total confianza. Y si alguna vez necesitas apartarte, desinstalar es igual de simple.

¡Mantente atento al siguiente tutorial de nuestra serie!

📖 Documentación oficial

Este artículo se basa en la documentación oficial de Hermes Agent :Docs oficiales › getting-started/updating