/compact — Compactação de Contexto
O comando/compact reduz o tamanho do histórico de conversa para que ele caiba dentro da janela de contexto do modelo, preservando as informações mais importantes.
Modos de Uso
- Automático
- Guiado
Sem argumentos, executa o pipeline de compactação de 3 níveis:O pipeline automático segue está ordem:Pressione ESC ou Ctrl+C para abortar o Nivel 2 (LLM). O cancelamento propaga via contexto e preserva o histórico intacto (sem cair para Nivel 3 cegamente).
- Nivel 1 — Trimming (quase sem perda): remove tags
<plan>, compacta XML, elimina duplicatas - Nivel 2 — Sumarização estruturada: extrai fatos (arquivos lidos, modificados, comandos executados, decisoes) em formato bullet point
- Nivel 3 — Truncamento de emergencia: descarta mensagens do meio, mantendo system prompt e mensagens recentes
Como Funciona
Preservacao de Mensagens
Em ambos os modos:- System messages são sempre preservadas integralmente
- Ultimas mensagens (4 no guiado, 10 no automático) são mantidas verbatim
- Apenas o bloco do meio e sumarizado ou removido
- Metadados indicam que a mensagem e um resumo (
IsSummary: true)
Exemplo de Saida
Após compactação, uma mensagem de resumo substitui as mensagens do meio:/rewind — Voltar no Tempo
O/rewind permite restaurar a conversa a um ponto anterior, desfazendo mensagens e respostas indesejadas.
Como Funciona
O ChatCLI salva automaticamente checkpoints da conversa antes de cada chamada ao LLM. Você pode voltar a qualquer um desses pontos.Atalho de Teclado: Esc+Esc
Pressione Esc duas vezes rapidamente (menos de 500ms entre pressionamentos) para abrir o menu de rewind diretamente do prompt, sem precisar digitar/rewind.
/rewind compact — desfazer uma compactação
Toda reescrita do histórico (auto-compact no chat, agent/coder e one-shot, /compact, recovery de overflow) guarda o histórico que substituiu. /rewind compact o traz de volta:
- A visão compactada vira checkpoint antes, então
/rewindreverte o undo. - Depois de retomar (
/session load), o snapshot é reconstruído a partir do journal de transcript: eventosrewriteregistram os hashes ordenados do histórico que substituíram, e o journal guarda toda mensagem já vista. Um journal podado (além deCHATCLI_SESSION_TTL) significa nada a desfazer. - O histórico restaurado é registrado no journal como nova reescrita, e a telemetria de cache de prompt conta um rebuild esperado.
Limites
- Máximo de 20 checkpoints são mantidos (os mais antigos são descartados)
- Checkpoints persistem com a sessão salva como listas de hash de mensagens e são reconstruídos do journal de transcript no load (descartados quando o journal não tem mais suas mensagens)
- Ao fazer rewind, checkpoints posteriores ao ponto restaurado são removidos
Histórico Unificado
O ChatCLI usa um unico array de histórico compartilhado entre todos os modos (chat, agent, coder). Isso significa que:- A troca entre
/agent,/codere chat preserva todo o contexto - A IA não “esquece” o que foi feito em outro modo
/compacte/rewindoperam sobre o histórico completo, independente do modo
Sessões salvas com versões anteriores do ChatCLI que usavam historicos separados por modo são automaticamente convertidas ao carregar — os historicos são mesclados em ordem cronologica.
Quando Usar
/compact (automático)
Quando o ChatCLI avisar que o contexto está grande, ou quando perceber respostas degradadas.
/compact <instrução>
Quando você sabe exatamente quais informações são críticas e não podem ser perdidas na compactação.
/rewind
Quando a IA tomou um caminho errado, gerou código incorreto, ou você quer tentar uma abordagem diferente.
Esc+Esc
Atalho rápido para rewind sem sair do fluxo de digitacao.
Próximos Passos
Gerenciamento de Sessões
Salve e reutilize conversas entre projetos.
Bootstrap e Memória
Personalize a IA e mantenha contexto de longo prazo entre sessões.