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
Como continuar uma sessão longa no Qwen Code: compressão e contexto

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

SintomaCausa mais provávelPróxima ação
/context mostra uso alto ou a solicitação não cabeJanela de contexto da sessãoSalvar o estado e comprimir
O provedor menciona saldo, plano, cota, frequência ou contaCota do serviço ou da APIVerificar o painel do provedor; compressão não aumenta cota
/context mostra uma janela total irrealSuposição incorreta do Qwen CodeCorrigir o valor e o local de contextWindowSize
O contexto cai, mas o erro de cota continuaNão é problema de contextoVerificar 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

ComandoO que fazQuando usarRisco principal
/summaryGrava o estado do projeto sem substituir o históricoAntes de comprimir, pausar ou abrir outra sessãoO resumo precisa de revisão
/compressSubstitui o histórico por um resumoTarefas com muitas decisões, restrições e dependênciasÉ destrutivo para o histórico e pode omitir detalhes
/compress-fastSem IA, remove saídas antigas de ferramentas e conteúdo de raciocínioSessões inchadas por logs, com objetivo já documentadoAs saídas antigas removidas podem conter informações necessárias depois; registre-as e confira-as primeiro no checkpoint
/clearLimpa a conversaQuando você realmente vai reiniciar a partir de um checkpoint externoO 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:

  1. .qwen/PROJECT_SUMMARY.md, com o estado da tarefa;
  2. 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 /compress falhar 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, contextWindowSize pode 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.json na 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

SintomaCausa provávelCorreção e verificação
/compress-fast não existeVersão antiga/status, atualizar e confirmar em /help
O limite antigo não muda nadaChave ignoradaMigrar para context.autoCompactThreshold
A configuração do usuário não valeProjeto ou sistema sobrescreveVerificar .qwen/settings.json, políticas e argumentos
Com 0.85 compacta antesA janela precisa de espaço para o resumoObservar janela e uso em /context
/context mostra janela enormeValor ou nível incorretoColocar o limite efetivo no generationConfig do provider ativo
O servidor ainda acusa overflowConfiguração acima do limite realReduzir ao valor efetivo e verificar novamente
O erro de cota continua após compressãoSaldo, plano ou rate limitConsultar o painel do provedor
O modelo não lembra o próximo passoCheckpoint incompletoInjetar PROJECT_SUMMARY.md e comparar Git e testes

Quatro regras finais

  1. Contexto e cota são problemas diferentes. Compressão reduz histórico; não cria cota.
  2. Salve antes de comprimir. Git protege o código e /summary protege a tarefa.
  3. Use /compress para continuidade complexa e /compress-fast para excesso de tool output. Verifique depois.
  4. Configure o nível efetivo. Use context.autoCompactThreshold e coloque o contextWindowSize de provider na entrada modelProviders correspondente.

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.

Quer otimizar seu fluxo de trabalho com LLMs?

Conecte modelos por uma única API, gerencie chaves e controle os gastos com IA.

Começar grátis