Cómo continuar una sesión larga de Qwen Code: compresión y contexto
Cuando una sesión de Qwen Code se acerca al límite de contexto, no conviene borrar el historial ni inflar el tamaño de ventana. Guarda primero el código y el estado de la tarea, elige compresión con resumen o compresión rápida, comprueba la continuidad y coloca autoCompactThreshold y contextWindowSize en el nivel de configuración que realmente se aplica.
Índice

Cuando una sesión larga de Qwen Code está casi llena, no empieces con /clear ni aumentes contextWindowSize a un número arbitrario. El orden seguro es: distinguir capacidad de contexto y cuota de cuenta, guardar el código y el estado de la tarea, elegir el tipo de compresión, verificar el resultado y después corregir el umbral automático y la ventana del modelo.
Los comandos y ajustes de esta guía se contrastaron el 11 de octubre de 2026 con la documentación de comandos, la referencia de configuración y la referencia de Model Providers de Qwen Code. Empieza siempre por la versión que tienes instalada.
Distingue contexto y cuota antes de tocar la configuración
| Síntoma | Causa más probable | Siguiente acción |
|---|---|---|
/context muestra un uso alto o la solicitud no cabe | Ventana de contexto de la sesión | Guardar el estado y comprimir |
| El proveedor habla de saldo, plan, cuota, frecuencia o cuenta | Cuota del servicio o de la API | Revisar el panel del proveedor; comprimir no añade cuota |
/context muestra una ventana total poco realista | Suposición incorrecta de Qwen Code | Corregir el valor y la ubicación de contextWindowSize |
| El contexto baja, pero el error de cuota continúa | No es un problema de contexto | Revisar clave, saldo, plan y límites de velocidad |
contextWindowSize solo indica qué capacidad debe asumir Qwen Code para sus cálculos. No amplía el límite real del servidor ni recupera una suscripción o un saldo agotado.
Comprueba la versión y el uso actual
Ejecuta:
/status
/help
/model
/doctor
/context detail
Espera a que termine cada comando. Usa /status para la versión, /model para revisar el modelo seleccionado, /doctor para comprobar autenticación y entorno, y /context detail para guardar el desglose del contexto.
Si tu versión no incluye /summary, /compress-fast o alguno de los ajustes siguientes, revisa primero las instrucciones oficiales de instalación. Un campo que tu versión no conoce no empezará a funcionar por editarlo varias veces.
Guarda dos estados antes de comprimir
La compresión modifica el historial de conversación. No guarda por sí sola el código sin confirmar ni garantiza que el resumen conserve todas las restricciones implícitas.
Guarda el estado del código
En un proyecto Git:
!git status --short
!git diff --stat
Consulta el diff completo cuando sea necesario o crea un commit de control. Debes saber qué archivos cambiaron, cuáles no están seguidos y qué pruebas faltan.
Guarda el estado de la tarea
Pide una entrega explícita sin permitir más cambios:
Sin modificar archivos, crea un punto de control con:
- objetivo final
- trabajo completado
- archivos cambiados y cambios clave
- restricciones que no deben cambiar
- verificaciones ejecutadas y resultados
- problemas pendientes
- una única acción siguiente y su comando de verificación
Revísalo y ejecuta:
/summary
Sin una ruta personalizada, el resultado se guarda en:
.qwen/PROJECT_SUMMARY.md
/summary no sustituye el historial. Puedes volver a cargar el archivo para auditarlo:
@.qwen/PROJECT_SUMMARY.md Revisa objetivo, restricciones, archivos, verificaciones y siguiente paso. Indica solo omisiones; no edites código.
Mantén la ruta predeterminada si dependes del flujo welcome-back: la documentación indica que ese flujo no detecta los resúmenes guardados en otra ruta.
Qué comando elegir
| Comando | Función | Cuándo usarlo | Riesgo principal |
|---|---|---|---|
/summary | Guarda el estado del proyecto en un archivo sin sustituir el chat | Antes de comprimir, pausar o abrir otra sesión | El resumen necesita revisión |
/compress | Sustituye el historial por un resumen | Tareas con decisiones, restricciones y dependencias | Es destructivo para el historial y puede omitir detalles |
/compress-fast | Sin IA, elimina resultados de herramientas y contenido de razonamiento antiguos | Sesiones infladas por logs con el objetivo ya documentado | Los resultados antiguos eliminados pueden contener datos necesarios después; anótelos y verifíquelos primero en el checkpoint |
/clear | Vacía el historial | Cuando vas a abandonar el chat y reiniciar desde un punto externo | Se pierde el contexto anterior |
Para la mayoría de tareas complejas: /summary → revisión manual → /compress. Usa /compress-fast si la compresión normal no termina, la llamada al proveedor no está disponible o el espacio está ocupado sobre todo por salidas antiguas de herramientas.
/summarize no guarda un archivo: la documentación actual lo define como alias de /compress.
Flujo completo y verificable
1. Prepara la entrada
Antes de comprimir, confirma que están guardados el objetivo, las restricciones, el estado Git, las pruebas realizadas y pendientes, el siguiente paso y un .qwen/PROJECT_SUMMARY.md revisado.
2. Ejecuta la compresión
Para una tarea compleja:
/compress
Para una sesión dominada por tool output y con un buen punto de control:
/compress-fast
Espera a que la operación termine y vuelva el prompt. No envíes instrucciones de edición mientras se está comprimiendo.
3. Conserva la salida
Guarda dos resultados independientes:
.qwen/PROJECT_SUMMARY.md, que conserva el estado de la tarea;- el árbol de trabajo y el diff de Git, que conservan los cambios reales.
El chat comprimido no debe ser tu única fuente de verdad. Los archivos, las pruebas y el diff dicen qué ocurrió realmente.
4. Verifica el éxito
Ejecuta de nuevo:
/context
El uso debería bajar de forma apreciable. Después haz una comprobación de continuidad, todavía sin editar:
No cambies archivos. Responde:
1. ¿Cuál es el único objetivo actual?
2. ¿Qué restricciones no deben cambiar?
3. ¿Qué archivos se modificaron?
4. ¿Qué verificaciones pasaron y cuáles faltan?
5. ¿Cuál es la siguiente acción y su señal de éxito?
Compara la respuesta con PROJECT_SUMMARY.md, git status y las pruebas reales. Cuando coincidan, ejecuta un solo paso pequeño y su verificación más cercana.
5. Recupera la tarea si algo falla
- Si
/compressfalla después de guardar el punto de control, prueba/compress-fast; si tampoco funciona, abre otra sesión e inyecta@.qwen/PROJECT_SUMMARY.md. - Si faltan restricciones, vuelve a cargar el resumen, corrige las omisiones y pide que se repita el punto de control antes de editar.
- Si el contexto baja pero la llamada sigue fallando, comprueba si el error habla de saldo, plan, rate limit o autenticación.
- Si el servidor aún rechaza el tamaño,
contextWindowSizepuede superar el límite efectivo del proveedor.
Corrige el umbral automático: la clave antigua ya no funciona
La clave actual es:
{
"context": {
"autoCompactThreshold": 0.85
}
}
Acepta un valor mayor que 0 y menor o igual que 1; el valor predeterminado es 0.85. Es un techo, no una garantía de que todos los modelos compacten exactamente al 85 %. En ventanas pequeñas, Qwen Code puede actuar antes para reservar espacio al resumen.
La ruta sustituida e ignorada sin aviso es model.chatCompression.contextPercentageThreshold:
{
"model": {
"chatCompression": {
"contextPercentageThreshold": 0.7
}
}
}
Al migrar, mueve el valor a context.autoCompactThreshold y empieza observando el valor predeterminado. Bájalo solo si confirmas que la compactación llega tarde de forma repetida; no lo subas solo para conservar más historial.
Elige conscientemente el alcance del ajuste
~/.qwen/settings.json: todos los proyectos del usuario;.qwen/settings.jsonen la raíz: solo ese proyecto y con prioridad sobre la configuración de usuario.
La precedencia documentada es: valores predeterminados, defaults del sistema, usuario, proyecto, sistema, variables de entorno y argumentos de línea de comandos. Si editar el archivo de usuario no cambia nada, revisa las capas superiores.
/config puede modificar valores simples:
/config context.autoCompactThreshold=0.85
Sin embargo, escribe en ~/.qwen/settings.json. Para un ajuste por repositorio, edita .qwen/settings.json directamente.
Comprueba la sintaxis JSON cuando corresponda:
!python3 -m json.tool ~/.qwen/settings.json >/dev/null
!python3 -m json.tool .qwen/settings.json >/dev/null
Coloca contextWindowSize donde realmente se usa
Usa el límite efectivo del proveedor para el modelo seleccionado, no el máximo publicitario ni el número deseado. Un valor demasiado alto retrasa la compactación; uno demasiado bajo la adelanta.
Modelo definido en modelProviders
El valor debe estar dentro de la entrada del proveedor. 128000 es solo un ejemplo de estructura:
{
"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" }
}
Las entradas de provider son cerradas: model.generationConfig no rellena sus campos ausentes. La misma ubicación se aplica a cualquier endpoint personalizado compatible con OpenAI —por ejemplo, BetterToken como posible servicio de API— después de verificar que admite el cliente, el recurso y el modelo elegidos.
Modelo de ejecución fuera de modelProviders
Solo en ese caso usa el nivel superior:
{
"model": {
"generationConfig": {
"contextWindowSize": 128000
}
}
}
No pongas valores distintos en ambos niveles. Revisa el modelo actual con /model, la autenticación con /doctor, identifica de dónde procede el modelo y usa una sola ubicación correcta.
Diagnóstico rápido
| Síntoma | Causa probable | Solución y comprobación |
|---|---|---|
/compress-fast no existe | Versión antigua | /status, actualizar y confirmar con /help |
| El umbral antiguo no cambia nada | La clave se ignora | Migrar a context.autoCompactThreshold |
| El ajuste de usuario no se aplica | Lo sobrescribe proyecto o sistema | Revisar .qwen/settings.json, políticas y argumentos |
| Con 0.85 compacta antes | La ventana necesita espacio para el resumen | Observar ventana y uso con /context |
/context muestra una ventana enorme | Valor o nivel incorrecto | Poner el límite efectivo en generationConfig del provider activo |
| El servidor aún informa overflow | El valor configurado supera su límite | Reducirlo al valor efectivo y volver a verificar |
| El error de cuota sigue tras comprimir | Saldo, plan o rate limit | Revisar el panel del proveedor |
| El modelo no recuerda el siguiente paso | Punto de control incompleto | Inyectar PROJECT_SUMMARY.md y contrastar Git y pruebas |
Cuatro reglas finales
- Contexto y cuota son problemas distintos. La compresión reduce historial; no crea cuota.
- Guarda antes de comprimir. Git protege el código y
/summaryprotege el estado de la tarea. - Usa
/compresspara continuidad compleja y/compress-fastpara exceso de salidas de herramientas. Verifica después. - Configura el nivel efectivo. Usa
context.autoCompactThresholdy coloca elcontextWindowSizede un provider dentro de su entradamodelProviders.
Empieza con /status, /model, /doctor, /context detail y /summary. Revisa el archivo de punto de control antes de comprimir; así podrás recuperar el trabajo aunque el resumen final no sea perfecto.