Session stats panel: "Usage" shows context-window fill, not account usage — misleading when the free limit is reached

Abierto Apto para principiantes
#62,374 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
react, typescript

Línea de trabajo

Empieza por gui-plugins/src/context/tab.tsx y sigue cómo se muestran las etiquetas de las estadísticas de sesión; el issue identifica los valores y los reemplazos sugeridos. Revisa las traducciones al ruso en app/src/runtime/i18n/ru.ts para encontrar las entradas que faltan de command.usage.view. El trabajo estará listo cuando las estadísticas distingan el uso del contexto de la cuota de la cuenta y el comando de uso tenga etiquetas en ruso.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

The Context tab session stats panel uses labels that look like account limits, but they
measure the model's context window.

For opencode/deepseek-v4.1-flash-free it shows:

Лимит контекста (Context limit): 200 000
Всего токенов (Total tokens): 70 442
Использование (Usage): 35 %

while requests fail at the same time with "Free usage limit reached ... subscribe to
OpenCode Go", so it reads as if most of the allowance is still left.

Cause: gui-plugins/src/context/tab.tsx (SessionContextTab) computes
total = input + output + reasoning + cache.read + cache.write for the last assistant
message, then usage = round(total / model.limit.context * 100). The math is correct,
but "Total tokens" is the current context size, not the session total (97 messages,
70 442 tokens), and "Usage" is context-window fill, not quota.

Suggested renames: "Usage" -> "Context fill", "Total tokens" -> "Last turn tokens",
"Context limit" -> "Model context window".

Same area, minor: command.usage.view and command.usage.view.description are missing from
app/src/runtime/i18n/ru.ts, so the command stays English in the palette, while
dialog.usageExceeded.freeTier.* is translated ("Достигнут бесплатный лимит" — "Free limit
reached").

Note: the free allowance isn't available to the panel anyway — GET
/api/experimental/usage/limits returns only the Console workspace and budgets: [].

Plugins

[email protected]

OpenCode version

OpenCode version: 2.2.5 (Desktop)

Steps to reproduce
  1. OpenCode Desktop 2.2.5, UI language Russian
  2. Open a session using opencode/deepseek-v4.1-flash-free
  3. Open the Context tab -> session stats
  4. Exhaust the free allowance so requests fail with "Free usage limit reached"
  5. The stats panel still shows "Использование 35 %" ("Usage 35 %")
Screenshot
Image
Operating System

Windows 10

Terminal

OpenCode Desktop (GUI, not a terminal)

Lenguaje dominante
TypeScript
Estrellas
224k
Forks
30k
Merge medio
4 h 44 min
PR fusionados (30 d)
513

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de anomalyco/opencode

Todos los issues de anomalyco/opencode

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.