/save: exporte qualquer sessão como JSON, Markdown ou HTML — até pelo chat

É sexta-feira à tarde. Você acabou de passar três horas com o Hermes caçando um problema de produção — vasculhando logs, ajustando a config, rodando uma dúzia de rodadas de depuração — e finalmente está resolvido. A próxima coisa que você quer fazer é transformar toda essa investigação em um documento para o seu colega, ou arquivá-la na sua base de conhecimento. Mas se a sua única opção é tirar screenshots do terminal tela por tela, esse conhecimento conquistado a duras penas fica preso no scrollback para sempre. Não precisa ser assim: o comando /save do Hermes exporta a sessão inteira para um arquivo em uma linha — JSON, Markdown ou HTML, com a opção de redigir segredos antes que qualquer coisa toque o disco.
O que é o /save
/save é o comando de exportação do Hermes dentro da sessão: digite-o em uma conversa e todo o diálogo é gravado em um arquivo. O snapshot simples em JSON já existe há um tempo, mas uma atualização recente (integrada à main em meados de agosto de 2026, PR #86806) o transformou em uma ferramenta de exportação multiplataforma:
/save json— um snapshot completo da sessão, incluindo mensagens, tool calls e metadados. É a “fonte da verdade” legível por máquina, ideal para backups e migração;/save md— uma transcrição legível em Markdown que você pode colar direto em docs, notas ou em uma mensagem para um colega de equipe;/save html— uma página HTML autônoma em um único arquivo que abre em qualquer navegador sem nenhuma dependência — a opção mais fácil de compartilhar.
Esses três formatos cobrem as três necessidades mais comuns: arquivar, ler e compartilhar. E não é limitado ao terminal: em plataformas de mensagens como Telegram, Discord ou Slack, você pode simplesmente enviar /save md para o agente e ele devolve o arquivo exportado no chat — seu registro completo, direto no celular.
Como usar
No terminal, a sintaxe é:
/save <json|md|html> [filename] [redact]
Alguns exemplos práticos:
/save # sem argumentos: mostra a ajuda completa de uso
/save json # snapshot completo, nome gerado automaticamente, salvo em ~/.hermes/sessions/saved/
/save md # transcrição em Markdown
/save html my-report.html # nome de arquivo personalizado, HTML em um único arquivo
/save json backup redact # força a redação de API keys e segredos antes de gravar
Dois detalhes que valem a pena saber: os nomes de arquivo são sanitizados até o último componente do caminho, então não tem como enfiar um path traversal; e quando você não dá um nome, um é gerado para você. Na CLI, os arquivos exportados vão para ~/.hermes/sessions/saved/.
redact: limpe antes de exportar
Sessões acumulam segredos rápido — você colou uma API key durante a depuração, mostrou um token em um trecho de config, e tudo isso fica na transcrição. Exportar isso como está é entregar as chaves de bandeja.
A flag redact existe exatamente para isso: antes de gravar, a exportação passa por uma rodada de redação de segredos em force-mode que remove qualquer coisa que pareça uma API key, token ou senha. O Hermes já redige segredos da saída das ferramentas por padrão (security.redact_secrets), e o /save redact adiciona uma segunda camada de proteção na fronteira da exportação. Quando você vai compartilhar uma sessão com outra pessoa, criar o hábito de usar redact evita muita dor de cabeça.
Indo além: exportação em lote e outros comandos
Se você precisa de mais do que a sessão atual, a CLI tem o hermes sessions export, que lida com várias sessões de uma vez:
# Exporta para JSONL (o formato padrão)
hermes sessions export backup.jsonl
# Exporta como Markdown para um diretório
hermes sessions export out/ --format md
# Exporta como um trace do Claude Code e envia para o Hugging Face Trace Viewer
hermes sessions export --format trace --upload
O --format aceita jsonl, md, qmd, html e trace. O formato trace gera JSONL do Claude Code e, combinado com --upload, envia para o Agent Trace Viewer do Hugging Face para análise visual (isso exige um HF_TOKEN); o --no-redact pula a redação forçada — use apenas depois de revisar o conteúdo manualmente.
E não confunda /save com /export: o /save exporta a sessão atual, enquanto o /export arquiva um perfil inteiro (config, skills e tema empacotados em um tar.gz para migração e compartilhamento). Trabalhos diferentes, comandos diferentes.
Algumas coisas que vale a pena saber
- Exportar não altera a sessão: cada mensagem já é persistida incrementalmente no banco de dados local de sessões (SQLite), então o
/saveapenas produz um snapshot — a sessão continua retomável comhermes --resume <id>sempre que você quiser voltar a ela. - A exportação multiplataforma em json/md/html é nova: a exportação completa nos três formatos chegou à
mainem 15 de agosto de 2026; nas versões v0.20.1 e anteriores, o/saveainda era um snapshot JSON apenas via CLI. Rodehermes updatepara pegar a versão mais recente (ou espere o próximo release) e a capacidade completa é sua. - Qual formato? Quer manter um arquivo, migrar ou alimentar ferramentas →
json. Ler e colar em documentos →md. Compartilhar com alguém que abre no navegador →html.
Conclusão
/save é um daqueles comandos em que você não pensa até usar uma vez e não conseguir mais viver sem: arquive uma sessão depois de uma longa depuração, transforme uma conversa em Markdown para o documento da reunião, entregue a um colega um registro HTML compartilhável. Combinado com o redact para a higiene dos segredos e com as plataformas de chat devolvendo o arquivo direto para você, ele liberta do terminal o conhecimento acumulado nas suas sessões — arquivar e organizar, recuperar e migrar ficam tão fáceis quanto enviar uma mensagem. Para mais detalhes sobre comandos, confira a referência de comandos de sessão ou as notas do release v0.20.0.