Tutorial 8: Gestión de Sesiones
Tutorial 8: Session Management — easy-to-understand guide based on official docs
Tutorial 8: Gestión de Sesiones
¿Alguna vez has cerrado tu terminal y perdido una gran conversación con Hermes? ¿O has querido retomar justo donde lo dejaste ese molesto bug de ayer? Buenas noticias: Hermes lo recuerda todo. Cada conversación se guarda automáticamente como una sesión, y en este tutorial te mostraremos cómo usar ese superpoder.
Cómo Funcionan las Sesiones
Piensa en una sesión como un registro de chat con una etiqueta de nombre. Ya sea que hables con Hermes desde la CLI, Telegram, Discord, Slack, WhatsApp o cualquiera de las otras 20+ plataformas compatibles, tu conversación se almacena con todo su historial.
Todo esto vive en una base de datos SQLite en ~/.hermes/state.db. Para cada sesión, Hermes registra:
- Un título único y legible
- Qué plataforma usaste (CLI, Telegram, etc.)
- El modelo y la configuración
- El historial completo de mensajes con llamadas a herramientas y resultados
- Conteo de tokens y marcas de tiempo
- ID de la sesión padre (para cuando las conversaciones largas se dividen)
Qué Entra Realmente en el Contexto
Aquí hay un error común: Hermes no relee cada archivo o imagen que hayas compartido. Los medios se manejan por turno. Si envías una imagen y pides un meme, Hermes podría analizarla una vez con visión, y luego los turnos futuros solo llevan una descripción de texto o una ruta local — no el JPEG crudo.
Los que realmente consumen contexto son los textos verbosos: transcripciones pegadas, registros gigantes, diffs enormes. La documentación tiene un gran consejo: prefiere resúmenes, rutas de archivo y extractos enfocados en lugar de copiar artefactos grandes en el chat.
Reanudando Conversaciones desde la CLI
Aquí es donde ocurre la magia. Veamos las tres formas de retomar donde lo dejaste.
1. Continuar la última sesión:
hermes --continue
# o más corto
hermes -c
Esto toma tu sesión CLI más reciente y carga todo el historial.
2. Continuación por terminal (esto es nuevo e increíble):
Un -c simple ahora es consciente de la terminal. Hermes deja un pequeño archivo de migas de pan para cada sesión de terminal. Así que si tienes dos paneles de terminal lado a lado, cada uno reanuda su propia conversación en lugar de que ambos peleen por la misma. ¡Se acabaron las interferencias entre paneles!
Si no hay migas de pan (primer uso, o tiene más de 30 días), se usa como respaldo la sesión más reciente. Puedes desactivar esto con session.terminal_continue: false en config.yaml.
3. Reanudar por nombre:
Dale a tus sesiones títulos significativos y podrás volver directamente:
hermes -c "mi proyecto"
Si hay variantes de linaje como “mi proyecto”, “mi proyecto #2”, etc., Hermes automáticamente toma la más reciente.
Reanudando una Sesión Específica
¿Necesitas volver a una conversación en particular? Usa el ID de sesión:
hermes --resume 20250305_091523_a1b2c3d4
# o por título
hermes --resume "refactorizando auth"
# o simplemente la más reciente
hermes --resume latest
Consejos Pro de la Documentación
/compress— úsalo cuando una sesión se vuelva demasiado larga. Reduce el contexto activo (pero ten en cuenta: no es un borrado por privacidad)./new payments-refactor— inicia un hilo nuevo con un título de inmediato, lo que facilita encontrarlo después con/resume.hermes sessions prune— solo cuando quieras eliminar sesiones antiguas finalizadas.hermes sessions optimize— sistate.dbsimplemente es grande, esto fusiona los índices de búsqueda y limpia sin tocar tus datos. ¡Empieza por aquí primero!
Conclusión
La gestión de sesiones es tu superpoder de memoria. Ya sea que estés manejando múltiples proyectos en diferentes terminales o retomando una sesión de depuración de hace una semana, Hermes te cubre las espaldas. La clave: usa /compress para chats largos, nombra tus sesiones con /new <nombre>, y deja que el -c consciente de terminal mantenga tus paneles organizados.
¡Feliz chateo!
📖 Documentación oficial
Este artículo se basa en la documentación oficial de Hermes Agent :Docs oficiales › user-guide/sessions