/save: exporta cualquier sesión como JSON, Markdown o HTML — incluso desde el chat

Es viernes por la tarde. Acabas de pasar tres horas con Hermes rastreando un problema de producción — revisando logs, ajustando la configuración, ejecutando una docena de rondas de depuración — y por fin está resuelto. Lo siguiente que quieres hacer es convertir toda esa investigación en un documento para tu colega, o archivarla en tu base de conocimientos. Pero si tu única opción es capturar la terminal pantalla por pantalla, ese conocimiento ganado con esfuerzo queda atrapado para siempre en el scrollback. No tiene por qué ser así: el comando /save de Hermes exporta la sesión completa a un archivo en una sola línea — JSON, Markdown o HTML, con la opción de redactar los secretos antes de que nada toque el disco.
Qué es /save
/save es el comando de exportación de sesión de Hermes: escríbelo en una conversación y todo el intercambio se guarda en un archivo. El snapshot JSON puro lleva un tiempo entre nosotros, pero una actualización reciente (fusionada en main a mediados de agosto de 2026, PR #86806) lo convirtió en una herramienta de exportación multiplataforma:
/save json— un snapshot completo de la sesión con mensajes, llamadas a herramientas y metadatos. Es la «fuente de la verdad» legible por máquina, ideal para copias de seguridad y migraciones;/save md— una transcripción Markdown legible que puedes pegar directamente en documentos, notas o un mensaje a un compañero;/save html— una página HTML independiente de un solo archivo que se abre en cualquier navegador sin dependencias: lo más fácil de compartir.
Esos tres formatos cubren las tres necesidades más comunes: archivar, leer y compartir. Y no se limita a la terminal: en plataformas de mensajería como Telegram, Discord o Slack basta con enviar /save md al agente y este devuelve el archivo exportado al chat — tu registro completo, justo en tu teléfono.
Cómo usarlo
En la terminal, la sintaxis es:
/save <json|md|html> [filename] [redact]
Unos cuantos ejemplos prácticos:
/save # no arguments: prints the full usage help
/save json # full snapshot, auto-named, saved under ~/.hermes/sessions/saved/
/save md # Markdown transcript
/save html my-report.html # custom filename, single-file HTML
/save json backup redact # force-redact API keys and secrets before writing
Dos detalles que vale la pena conocer: los nombres de archivo se sanean hasta su último componente de ruta, así que no hay forma de colar un path traversal; y cuando no das un nombre, se genera uno por ti. En la CLI, los archivos exportados van a parar a ~/.hermes/sessions/saved/.
redact: limpia antes de exportar
Las sesiones acumulan secretos muy rápido — pegaste una API key mientras depurabas, mostraste un token en un fragmento de configuración, y todo eso vive en la transcripción. Exportarla tal cual es entregar las llaves.
El flag redact existe exactamente para esto: antes de escribir, la exportación pasa por una pasada de redacción de secretos en force-mode que limpia cualquier cosa que parezca una API key, un token o una contraseña. Hermes ya redacta los secretos de la salida de las herramientas por defecto (security.redact_secrets), y /save redact añade una segunda capa de protección en la frontera de la exportación. Cuando compartes una sesión con otra persona, convertir redact en un hábito te ahorra muchos problemas.
Más allá: exportación por lotes y otros comandos
Si necesitas algo más que la sesión actual, la CLI tiene hermes sessions export, que maneja varias sesiones a la vez:
# Export to JSONL (the default format)
hermes sessions export backup.jsonl
# Export as Markdown into a directory
hermes sessions export out/ --format md
# Export as a Claude Code trace and upload to the Hugging Face Trace Viewer
hermes sessions export --format trace --upload
--format acepta jsonl, md, qmd, html y trace. El formato trace emite Claude Code JSONL y, combinado con --upload, lo envía al Agent Trace Viewer de Hugging Face para análisis visual (esto requiere un HF_TOKEN); --no-redact omite la redacción forzada — solo después de haber revisado el contenido manualmente.
Además, no confundas /save con /export: /save exporta la sesión actual, mientras que /export archiva un perfil completo (config, skills y tema empaquetados en un tar.gz para migración y uso compartido). Trabajos distintos, comandos distintos.
Algunas cosas que vale la pena saber
- Exportar no toca la sesión: cada mensaje ya se persiste de forma incremental en la base de datos SQLite local de la sesión, así que
/savesolo produce un snapshot — la sesión sigue siendo reanudable conhermes --resume <id>cuando quieras recuperarla. - La exportación multiplataforma json/md/html es nueva: la exportación completa de tres formatos llegó a
mainel 15 de agosto de 2026; en v0.20.1 y versiones anteriores,/saveseguía siendo un snapshot JSON solo para CLI. Ejecutahermes updatepara obtener la última versión (o espera a la próxima release) y tendrás toda la funcionalidad. - ¿Qué formato? Quieres un archivo, migrar o alimentar herramientas →
json. Leer y pegar en documentos →md. Compartir con alguien que lo abre en un navegador →html.
Resumen
/save es uno de esos comandos en los que no piensas hasta que lo usas una vez y ya no puedes volver atrás: archiva una sesión después de una larga jornada de depuración, convierte una conversación en Markdown para el documento de la reunión, entrega a un colega un registro HTML compartible. Combinado con redact para la higiene de secretos y con las plataformas de chat que te devuelven el archivo directamente, libera de la terminal el conocimiento que vive en tus sesiones — archivar y organizar, recuperar y migrar se vuelve tan fácil como enviar un mensaje. Para más detalles sobre comandos, consulta la referencia de comandos de sesión o nuestras notas de la release v0.20.0.