Como continuar uma sessão longa no Qwen Code: compressão e contexto
Quando uma sessão do Qwen Code se aproxima do limite de contexto, não limpe o histórico nem aumente a janela sem critério. Salve primeiro o código e o estado da tarefa, escolha compressão por resumo ou compressão rápida, confira a continuidade e coloque autoCompactThreshold e contextWindowSize no nível de configuração que realmente vale.
Conteúdo

Quando uma sessão longa no Qwen Code está quase cheia, não comece com /clear e não aumente contextWindowSize para um número arbitrário. A ordem mais segura é: separar capacidade de contexto de cota da conta, salvar o código e o estado da tarefa, escolher a compressão, verificar o resultado e só então corrigir o limite automático e a janela do modelo.
Os comandos e ajustes abaixo foram conferidos em 11 de outubro de 2026 na documentação de comandos, na referência de configurações e na referência de Model Providers do Qwen Code. Comece pela versão realmente instalada.
Descubra primeiro se o problema é contexto ou cota
| Sintoma | Causa mais provável | Próxima ação |
|---|---|---|
/context mostra uso alto ou a solicitação não cabe | Janela de contexto da sessão | Salvar o estado e comprimir |
| O provedor menciona saldo, plano, cota, frequência ou conta | Cota do serviço ou da API | Verificar o painel do provedor; compressão não aumenta cota |
/context mostra uma janela total irreal | Suposição incorreta do Qwen Code | Corrigir o valor e o local de contextWindowSize |
| O contexto cai, mas o erro de cota continua | Não é problema de contexto | Verificar chave, saldo, plano e rate limit |
contextWindowSize apenas informa o tamanho que o Qwen Code deve assumir nos cálculos. Ele não amplia o limite real do servidor nem restaura uma assinatura ou saldo.
Confira a versão e o uso atual
Execute:
/status
/help
/model
/doctor
/context detail
Espere cada comando terminar. Use /status para a versão, /model para conferir o modelo selecionado, /doctor para checar autenticação e ambiente e /context detail para registrar o detalhamento do contexto.
Se /summary, /compress-fast ou uma configuração desta página não existir na sua versão, consulte primeiro as instruções oficiais de instalação. Editar repetidamente uma chave que o cliente ainda não conhece não resolve o problema.
Salve dois tipos de estado antes de comprimir
A compressão muda o histórico da conversa. Ela não salva automaticamente código não confirmado e não garante que todo requisito implícito apareça no resumo.
Salve o estado do código
Em um projeto Git:
!git status --short
!git diff --stat
Veja o diff completo quando necessário ou crie um commit de checkpoint. Saiba quais arquivos mudaram, quais ainda não são rastreados e quais testes faltam.
Salve o estado da tarefa
Peça um handoff explícito sem permitir novas edições:
Sem alterar arquivos, crie um checkpoint com:
- objetivo final
- trabalho concluído
- arquivos alterados e mudanças principais
- restrições que não podem mudar
- verificações executadas e resultados
- problemas pendentes
- uma única próxima ação e o comando de verificação
Revise o resultado e execute:
/summary
Sem caminho personalizado, o arquivo documentado é:
.qwen/PROJECT_SUMMARY.md
/summary é não destrutivo: grava um resumo sem substituir o chat. Reinjete o arquivo para fazer uma auditoria somente leitura:
@.qwen/PROJECT_SUMMARY.md Confira objetivo, restrições, arquivos, verificações e próximo passo. Aponte apenas omissões; não edite código.
Mantenha o caminho padrão se você usa o fluxo welcome-back. A documentação informa que esse fluxo não detecta resumos salvos em outro caminho.
Escolha o comando certo
| Comando | O que faz | Quando usar | Risco principal |
|---|---|---|---|
/summary | Grava o estado do projeto sem substituir o histórico | Antes de comprimir, pausar ou abrir outra sessão | O resumo precisa de revisão |
/compress | Substitui o histórico por um resumo | Tarefas com muitas decisões, restrições e dependências | É destrutivo para o histórico e pode omitir detalhes |
/compress-fast | Sem IA, remove saídas antigas de ferramentas e conteúdo de raciocínio | Sessões inchadas por logs, com objetivo já documentado | As saídas antigas removidas podem conter informações necessárias depois; registre-as e confira-as primeiro no checkpoint |
/clear | Limpa a conversa | Quando você realmente vai reiniciar a partir de um checkpoint externo | O contexto anterior desaparece |
Para tarefas complexas, prefira /summary → revisão manual → /compress. Use /compress-fast quando a compressão normal falhar, a chamada ao provedor estiver indisponível ou o espaço estiver dominado por tool output antigo.
/summarize não salva um arquivo. A documentação atual o define como alias de /compress.
Fluxo completo e verificável
1. Prepare a entrada
Antes de comprimir, garanta que estão salvos: objetivo, restrições, estado do Git, testes feitos e pendentes, próximo passo, sinal de sucesso e um .qwen/PROJECT_SUMMARY.md revisado.
2. Execute a compressão
Para uma tarefa complexa:
/compress
Para uma sessão dominada por saídas de ferramentas e com bom checkpoint:
/compress-fast
Aguarde a operação terminar e o prompt voltar. Não envie novas instruções de edição durante a compressão.
3. Guarde a saída
Mantenha dois resultados independentes:
.qwen/PROJECT_SUMMARY.md, com o estado da tarefa;- a árvore de trabalho e o diff do Git, com as alterações reais.
O chat comprimido não deve ser a única fonte de verdade. Arquivos, testes e diff mostram o que realmente mudou.
4. Verifique o sucesso
Execute novamente:
/context
O uso deve cair de forma perceptível. Depois faça uma checagem de continuidade sem editar:
Não altere arquivos. Responda:
1. Qual é o único objetivo atual?
2. Quais restrições não podem mudar?
3. Quais arquivos foram alterados?
4. Quais verificações passaram e quais faltam?
5. Qual é a próxima ação e seu sinal de sucesso?
Compare com PROJECT_SUMMARY.md, git status e os testes reais. Quando tudo coincidir, execute apenas um pequeno próximo passo e sua verificação mais próxima.
5. Recupere a tarefa se algo falhar
- Se
/compressfalhar depois de salvar o checkpoint, tente/compress-fast; se também falhar, abra outra sessão e injete@.qwen/PROJECT_SUMMARY.md. - Se uma restrição desaparecer, reinjete o resumo, corrija a omissão e peça a repetição do checkpoint antes de permitir edições.
- Se o contexto cair e a chamada continuar falhando, veja se o erro trata de saldo, plano, rate limit ou autenticação.
- Se o servidor ainda rejeitar o tamanho,
contextWindowSizepode estar acima do limite efetivo do provedor.
Corrija o limite automático: a chave antiga não vale mais
A chave atual é:
{
"context": {
"autoCompactThreshold": 0.85
}
}
O valor deve ser maior que 0 e menor ou igual a 1; o padrão é 0.85. Esse valor é um teto, não a promessa de compactar exatamente em 85%. Janelas menores podem compactar antes para reservar espaço ao resumo.
O caminho substituído e ignorado silenciosamente é model.chatCompression.contextPercentageThreshold:
{
"model": {
"chatCompression": {
"contextPercentageThreshold": 0.7
}
}
}
Ao migrar, mova o valor para context.autoCompactThreshold e observe primeiro o padrão. Reduza apenas se confirmar que a compactação chega tarde repetidamente; não aumente só para adiar a compressão.
Defina o escopo conscientemente
~/.qwen/settings.json: todos os projetos do usuário;.qwen/settings.jsonna raiz: somente o projeto e com prioridade sobre a configuração do usuário.
A precedência documentada é: padrões, padrões do sistema, usuário, projeto, sistema, variáveis de ambiente e argumentos da linha de comando. Se o arquivo do usuário não surtir efeito, procure uma camada superior.
/config altera valores simples:
/config context.autoCompactThreshold=0.85
Mas grava em ~/.qwen/settings.json. Para um valor por repositório, edite .qwen/settings.json diretamente.
Valide o JSON quando necessário:
!python3 -m json.tool ~/.qwen/settings.json >/dev/null
!python3 -m json.tool .qwen/settings.json >/dev/null
Coloque contextWindowSize no nível que realmente é usado
Use o limite efetivo do provedor para o modelo selecionado, não o máximo de marketing nem um número desejado. Um valor alto demais atrasa a compactação; um valor baixo demais a antecipa.
Modelo definido em modelProviders
O valor deve ficar na entrada correspondente. 128000 é apenas um exemplo estrutural:
{
"modelProviders": {
"openai": [
{
"id": "your-model-id",
"name": "Your model",
"baseUrl": "https://provider.example/v1",
"envKey": "OPENAI_API_KEY",
"generationConfig": {
"contextWindowSize": 128000
}
}
]
},
"security": { "auth": { "selectedType": "openai" } },
"model": { "name": "your-model-id" }
}
Entradas de provider são fechadas: model.generationConfig não preenche campos ausentes. A mesma localização vale para qualquer endpoint personalizado compatível com OpenAI — por exemplo, BetterToken como um possível serviço de API — depois de verificar suporte ao cliente, recurso e modelo escolhidos.
Modelo de runtime fora de modelProviders
Só nesse caso use o nível superior:
{
"model": {
"generationConfig": {
"contextWindowSize": 128000
}
}
}
Não configure números conflitantes nos dois lugares. Confira o modelo atual com /model, a autenticação com /doctor, identifique a origem do modelo e use um único local correto.
Diagnóstico rápido
| Sintoma | Causa provável | Correção e verificação |
|---|---|---|
/compress-fast não existe | Versão antiga | /status, atualizar e confirmar em /help |
| O limite antigo não muda nada | Chave ignorada | Migrar para context.autoCompactThreshold |
| A configuração do usuário não vale | Projeto ou sistema sobrescreve | Verificar .qwen/settings.json, políticas e argumentos |
| Com 0.85 compacta antes | A janela precisa de espaço para o resumo | Observar janela e uso em /context |
/context mostra janela enorme | Valor ou nível incorreto | Colocar o limite efetivo no generationConfig do provider ativo |
| O servidor ainda acusa overflow | Configuração acima do limite real | Reduzir ao valor efetivo e verificar novamente |
| O erro de cota continua após compressão | Saldo, plano ou rate limit | Consultar o painel do provedor |
| O modelo não lembra o próximo passo | Checkpoint incompleto | Injetar PROJECT_SUMMARY.md e comparar Git e testes |
Quatro regras finais
- Contexto e cota são problemas diferentes. Compressão reduz histórico; não cria cota.
- Salve antes de comprimir. Git protege o código e
/summaryprotege a tarefa. - Use
/compresspara continuidade complexa e/compress-fastpara excesso de tool output. Verifique depois. - Configure o nível efetivo. Use
context.autoCompactThresholde coloque ocontextWindowSizede provider na entradamodelProviderscorrespondente.
Comece com /status, /model, /doctor, /context detail e /summary. Revise o checkpoint antes de comprimir para manter uma rota de recuperação mesmo se o resumo final não ficar perfeito.