[Preservar totales de tokens heredados cuando proveedores omiten metadatos] - Agents/status: preserve carried-forward session token totals for providers that omit usage metadata, so `/status` and `openclaw sessions` keep showing the last known context usage instead of dropping back to unknown/0%.
Guía de solución de problemas para las correcciones introducidas en OpenClaw v2026.4.19-beta.2.
Síntomas
Si estás usando un proveedor que no incluye metadatos de uso en las respuestas de su API (como MiniMax a través de su endpoint compatible con Anthropic), puedes notar los siguientes síntomas:
- Al ejecutar
/statusse muestraContext: 0/264k (0%)incluso después de conversaciones extensas con miles de mensajes. - El comando
openclaw sessionsmuestraunknowno0%para el uso de contexto a pesar de actividad reciente. - Después de la compactación de sesión, el contador de uso de contexto se reinicia a cero en lugar de reflejar el valor compactado.
Estos síntomas ocurren sin ningún mensaje de error explícito, lo que hace que el problema sea fácil de pasar por alto hasta que notes la visualización incorrecta del uso.
Causa raíz
La causa raíz radica en cómo el almacén de sesiones maneja los datos de uso de tokens de las respuestas de API. Cuando un proveedor no incluye metadatos de uso (input_tokens, output_tokens) en su respuesta, la verificación hasNonzeroUsage() en persistSessionAfterRun (src/agents/command/session-store.ts) devuelve false. Esto provoca que se omita todo el bloque de actualización de totalTokens.
Como resultado, la entrada de sesión retiene totalTokens: undefined, y el comando /status interpreta este valor undefined como 0% de uso de contexto. La sesión nunca acumula totales de tokens a través de múltiples ejecuciones, incluso si ejecuciones anteriores u operaciones de compactación ya habían calculado esta información.
Solución paso a paso
Para resolver este problema, actualiza a la versión v2026.4.19-beta.2 o posterior. La corrección preserva los valores existentes de totalTokens cuando la ejecución actual carece de datos de uso, evitando que el contador se reinicie a cero.
Si no puedes actualizar inmediatamente, puedes verificar manualmente el estado de tu sesión revisando el archivo de sesión directamente:
cat ~/.openclaw/sessions/<session-id>.json | grep totalTokens
Si el valor es null o está ausente, la visualización del uso de contexto mostrará 0% hasta que actualices o el proveedor comience a enviar metadatos de uso.
Verificación
Después de actualizar a v2026.4.19-beta.2, verifica que la corrección funciona:
- Inicia una nueva sesión o continúa una existente.
- Ejecuta
/statuspara confirmar que el uso de contexto muestra tu último valor conocido en lugar de0%. - Ejecuta
openclaw sessions listy verifica que la columna de uso de contexto muestre un porcentaje significativo en lugar deunknowno0%.
Si el valor se preserva pero no se actualiza activamente, puedes ver un indicador desactualizado (como totalTokensFresh: false en la salida de depuración). Este es el comportamiento esperado: el sistema ahora muestra el último uso conocido en lugar de enmascararlo con ceros.
Errores comunes
- Compatibilidad del proveedor: Esta corrección aplica específicamente a proveedores que omiten metadatos de uso. Si tu proveedor incluye datos de uso en cada respuesta, este problema no ocurriría, y la corrección no tiene impacto en tu flujo de trabajo.
- Compactación de sesión: El valor preservado refleja el estado antes de la última compactación. Después de la compactación, la sesión puede reiniciarse con una nueva línea base de
totalTokens, lo cual es comportamiento normal. - Depuración: Si necesitas inspeccionar los datos sin procesar de la sesión, usa
openclaw sessions debug <session-id>para ver el objeto interno de la sesión, incluyendo el indicadortotalTokensFresh.
Errores relacionados
Esta corrección aborda lo siguiente:
- Versiones afectadas: Anteriores a v2026.4.19-beta.2
- Versiones corregidas: v2026.4.19-beta.2 y posteriores
- Comando relacionado:
/status - Comando relacionado:
openclaw sessions - Problema vinculado: Corrige #67667
Si encuentras problemas persistentes después de actualizar, asegúrate de que tu proveedor esté correctamente configurado y de que las respuestas de API incluyan los campos de metadatos requeridos. Contacta al soporte si el problema persiste.