Saltar al contenido
claudemods

Usage Meter: medidor de límites de uso de Claude Code sobre el prompt

El uso de 5 horas y de 7 días de tu plan en barras sobre el prompt de Claude Code, con cuenta atrás y coste de sesión.

Permisos

  • Modifica la interfazDibuja en la interfaz de Claude Code: bandas, paneles, texto de estado, avisos (ui.render / $.ui.*).
probado con
v2.1.291
última prueba
requiere
Claude Code ≥ 2.1.287
superficies
sobre el prompt, aviso

Instalar dentro de Claude Code:

/plugin install usage-meter --marketplace hamzafer/claude-code-mods
Todas las opciones de instalación ↓

¿Qué hace este mod?

Usage Meter es un medidor de límites de uso de Claude Code, un mod de la comunidad creado por Hamza Zafar (hamzafer), de su colección claude-code-mods. Dibuja una línea sobre el prompt de Claude Code con las ventanas de límite de uso de tu plan y el coste de la sesión, por ejemplo ⏱ 5h █▆▁▁▁ 34% · resets 2h10 · 7d ███▁▁ 61% · $0.42 session.

Cada ventana recibe una barra de cinco celdas hecha con caracteres de bloque, de modo que las celdas parciales muestran pasos más finos que los bloques enteros. La barra y el porcentaje son verdes por debajo del 75%, amarillos desde el 75% y rojos desde el 90%. La primera ventana (normalmente la de 5 horas) siempre muestra cuándo se reinicia. Las demás, como la ventana de 7 días o un límite de gasto, solo muestran su hora de reinicio cuando van altas. La cuenta atrás avanza cada minuto. Una ventana cuya hora de reinicio ya ha pasado se oculta hasta que Claude Code informa de una lectura nueva, así que nunca verás un 100% desactualizado.

Cuando una ventana supera el 90%, un toast te avisa una vez por periodo de reinicio, por ejemplo 5h usage limit at 92%, resets in 1h05. En una terminal estrecha, la línea descarta primero las ventanas secundarias y después el coste, para que la ventana principal siempre quepa. Sin suscripción (una sesión con clave de API) no hay ventanas del plan y solo se muestra el coste.

Si ya usas nuestro Context Meter, lo que se solapa son las cifras de 5 horas y de 7 días y el coste. Context Meter las escribe como texto en la barra de estado y añade el llenado de la ventana de contexto; Usage Meter las dibuja como barras sobre el prompt con una cuenta atrás en vivo y deja fuera el contexto. El README del autor pide Claude Code 2.1.287 o posterior.

Demo

La grabación inicia Claude Code con el mod cargado, envía un prompt corto y muestra la línea sobre el prompt después del turno: las ventanas del plan de 5 horas y de 7 días como pequeñas barras con sus porcentajes, el tiempo que falta para que se reinicie la ventana de 5 horas y el coste de la sesión. Las barras del plan aparecen porque la cuenta de la demo ha iniciado sesión con una suscripción de Claude.

Instalación

Usa cualquiera de los métodos del bloque de instalación; instalan directamente desde el marketplace del propio autor. No hace falta configurar nada.

$ install usage-meter

Requiere Claude Code ≥ 2.1.287

Se instala desde el marketplace del autor: hamzafer/claude-code-mods

  1. 1.Una línea, dentro de Claude Code

    /plugin install usage-meter --marketplace hamzafer/claude-code-mods

    Pégala en una sesión abierta (v2.1.275+). Claude Code te pedirá primero añadir el marketplace.

  2. 2.Desde tu shell

    claude plugin marketplace add hamzafer/claude-code-mods
    claude plugin install usage-meter@claude-code-mods

    Después ejecuta /reload-plugins en cualquier sesión que ya esté abierta.

  3. 3.Pruébalo sin instalarlo

    git clone https://github.com/hamzafer/claude-code-mods
    claude --plugin-dir ./claude-code-mods/mods/usage-meter

    Carga el mod solo para una sesión. No se añade nada a tu configuración.

Cómo funciona

Estos son los dos hooks que toman las lecturas, de hooks/register.tsx:

on('session.start', async ($, e, next) => {
  const result = await next(e)
  // Moves the reset countdown on while a window has a reset time.
  timer?.cancel()
  timer = $.clock.every(TICK_MS, () => { /* bumps the tick atom */ })
  const usage = await $.session.usage().catch(() => null)
  if (usage) await take($, usage.rateLimits, usage.cost?.usd).catch(() => {})
  return result
})

on('session.measure', async ($, e, next) => {
  const result = await next(e)
  await take($, e.rateLimits, e.cost?.usd).catch(() => {})
  return result
})

take conserva las ventanas con un porcentaje finito, las guarda en un átomo de $.state que mantiene el host y llama a warn, que muestra un toast para cualquier ventana en el 90% o más que todavía no se haya avisado en su periodo de reinicio actual. Una hora de reinicio que se ha movido más de media hora cuenta como un periodo nuevo. El hook de ui.render en AbovePrompt lee la instantánea y un átomo tick que el temporizador de 60 segundos incrementa, de modo que la cuenta atrás se redibuja sin una lectura nueva. Las funciones puras build, fit, bar, colorFor y countdown producen los segmentos, y los tests del autor las cubren.

Personalízalo

No hay opciones en /config ni comando de barra. Las constantes al principio de register.tsx controlan los detalles: CELLS (ancho de la barra, 5), TICK_MS (actualización de la cuenta atrás, 60 segundos), WARN_AT (umbral del toast, 90) y LABELS para los nombres de las ventanas (5h, 7d, spend).

Permisos y seguridad

Leemos todos los archivos que el plugin puede ejecutar antes de ponerlo en marcha: hooks/hooks.json, hooks/register.tsx, las declaraciones de tipos y los tests. No hay package.json, script de instalación ni código empaquetado.

Modifica la interfaz cubre la línea sobre el prompt y el toast del 90%. El mod lee las cifras de uso que Claude Code ya registra, a través de $.session.usage y del evento session.measure, y las mantiene en $.state. No ejecuta comandos, no lee ni escribe archivos, no usa la red, no lee variables de entorno ni llama al modelo. claude plugin validate no informó de errores ni avisos, y los 11 tests del autor pasaron en Claude Code 2.1.291.

Modifica la interfaz
Dibuja en la interfaz de Claude Code: bandas, paneles, texto de estado, avisos (ui.render / $.ui.*).

Compatibilidad y solución de problemas

Comprobado con Claude Code 2.1.291 en macOS (validate y tests). Si la línea no aparece:

  • claude --version es 2.1.287 o posterior.
  • Tienes una suscripción de Claude. Con una clave de API solo aparece el coste, y solo cuando supera $0.00.
  • Puede que Claude Code no tenga cifras de uso hasta la primera respuesta del modelo. Envía un prompt y la línea se completará.
  • Hay una encuesta abierta sobre la entrada; la línea vuelve cuando se cierra.

Preguntas frecuentes

¿Usage Meter envía alguna petición para consultar mi uso?
No. Lee las cifras que Claude Code ya tiene, a través de $.session.usage al iniciar la sesión y del evento session.measure después. El mod no hace ninguna llamada de red.
¿Y si uso una clave de API en lugar de una suscripción?
Entonces Claude Code no informa de ventanas del plan y la línea solo muestra el coste de la sesión cuando es mayor que cero. Si no hay nada que mostrar, la línea se oculta.
¿Cuándo me avisa?
Cuando una ventana supera el 90%, aparece un toast como "5h usage limit at 92%, resets in 1h05", una vez por ventana y por periodo de reinicio.
¿Qué significan los colores?
Verde por debajo del 75%, amarillo desde el 75% y rojo desde el 90%. La ventana de 7 días también muestra su hora de reinicio cuando llega al 75%.
¿En qué se diferencia de Context Meter (cm-context-meter)?
Context Meter pone como texto en la barra de estado el porcentaje de contexto, las ventanas del plan y el coste, y avisa del contexto al 80%. Usage Meter dibuja barras sobre el prompt, añade una cuenta atrás en vivo hasta el reinicio y avisa de las ventanas del plan al 90%, pero no muestra el llenado del contexto.
Medidor de contexto funcionando en Claude CodeDestacado

Medidor de contexto

Contexto ocupado, uso del plan en 5 h y 7 días y coste de la sesión en la barra de estado, con aviso cerca del límite.

  • estado
  • aviso
  • Modifica la interfaz

probado con v2.1.310

Más en Contexto, cuota y coste, Barra de estado y barra del prompt.