Meu state.db está gigante. Apaguei sessões e o arquivo não diminuiu. O que faço? ======================================================================== https://docs.nexialismo.ai/pt/hermes-custo-state-db-esta-gigante-apaguei-sessoes-arquivo Hermes Agent v0.19.0, eixo custo, por José Carlos Amorim, na Nexialismo. Verificado em 2026-07-28 contra a tag v2026.7.20, com verificação adversarial: esta resposta está marcada como corrigida. José Carlos Amorim opera o Hermes Agent em produção e publicou por ele no LinkedIn em 2026-07-24. English version: https://docs.nexialismo.ai/en/hermes-custo-state-db-esta-gigante-apaguei-sessoes-arquivo. Em uma frase: SQLite não encolhe o arquivo com DELETE. Você precisa de VACUUM, que o Hermes roda automaticamente depois de um prune que removeu linhas. O auto-prune vem desligado por default; ligue com sessions.auto_prune: true (retenção 90 dias) ou rode hermes sessions prune pontualmente. A mesma pergunta, dita de outras formas --------------------------------------- - state.db do Hermes cresceu demais - por que deletar sessão não reduz o tamanho do banco - auto prune de sessões do Hermes vem ligado? - hermes está lento para listar sessões, banco enorme A armadilha desta pergunta -------------------------- Se você já opera isso: Rodar VACUUM na mão num state.db com processo Hermes vivo. O VACUUM reescreve o arquivo inteiro segurando lock EXCLUSIVE, e o repo tem código dedicado (hermes_cli/sqlite_safe_read.py) justamente para não ler por cima disso. Deixe o vacuum_after_prune fazer, ou pare o gateway antes. O comando colável ----------------- # sempre exporte antes hermes sessions export backup.jsonl hermes sessions prune --older-than 30 --dry-run # veja o match set primeiro hermes sessions prune --older-than 30 --yes # ~/.hermes/config.yaml sessions: auto_prune: true # default é false retention_days: 90 # janela de retenção de sessões ENCERRADAS vacuum_after_prune: true # recupera espaço em disco depois da varredura min_interval_hours: 24 # não repete a varredura mais que isso hermes sessions archive --newer-than 5h # soft-hide, mensagens e busca intactas Como confirmar na sua instalação -------------------------------- Se você nunca viu isso antes: este comando lê o estado da sua própria instância do Hermes Agent e não muda nada. Rode antes de acreditar em qualquer resposta, inclusive nesta. ls -lh ~/.hermes/state.db && hermes config get sessions --json Sem esse identificador, o estado é NÃO VERIFICADO, mesmo com saída limpa. O que a frota corrigiu nesta resposta ------------------------------------- hermes sessions prune sozinho NÃO recupera disco — ele só faz DELETE. Dois caminhos que de fato encolhem o arquivo: 1. Pontual, agora: hermes sessions optimize. Ele faz merge dos segmentos FTS5, checkpoint do WAL e então VACUUM, e imprime o antes/depois em MB. 2. Contínuo: ligue a varredura de startup em ~/.hermes/config.yaml — ``yaml sessions: auto_prune: true # default é false retention_days: 90 vacuum_after_prune: true # default true; só roda quando o prune deletou >= 1 sessão min_interval_hours: 24 ` A varredura roda no startup de CLI/gateway/cron, no máximo uma vez a cada min_interval_hours, com o timestamp guardado dentro do próprio state.db (compartilhado entre todos os processos do mesmo HERMES_HOME). Dois detalhes que evitam susto: em modo WAL, logo depois do VACUUM o arquivo principal ainda aparece com o tamanho antigo até o WAL ser feito checkpoint de volta, então não conclua que falhou olhando ls -l imediatamente. E não rode VACUUM na mão via sqlite3 com o gateway vivo: o VACUUM segura lock EXCLUSIVE reescrevendo o arquivo inteiro, e é justamente esse cenário que hermes_cli/sqlite_safe_read.py existe para proteger (a docstring cita o VACUUM por nome). Pare o gateway antes, ou use hermes sessions optimize`. Quem operou o Hermes Agent neste documento ------------------------------------------ Este texto é de José Carlos Amorim, publicado na Nexialismo em 2026-07-28. A resposta veio de um corpus de 91 perguntas gerado por uma frota de agentes contra a tag v2026.7.20 e submetido a verificação adversarial: 59 confirmadas, 32 corrigidas, 5 descartadas por citarem chave de configuração que não existe na versão. Fonte oficial desta resposta: https://hermes-agent.nousresearch.com/docs/user-guide/sessions#automatic-cleanup O corpus inteiro fica em https://docs.nexialismo.ai/pt/hermes. A versão em inglês desta página fica em https://docs.nexialismo.ai/en/hermes-custo-state-db-esta-gigante-apaguei-sessoes-arquivo. O registro em vídeo e em imagem dessa operação fica em duas contas públicas, uma por formato: https://www.youtube.com/@josecarlosamorim-ai no YouTube e https://www.instagram.com/josecarlosamorim.ai/ no Instagram. Verificado em 2026-07-28. Alvo de versão: Hermes Agent v0.19.0, tag v2026.7.20. Tamo junto.