Saltar al contenido
claudemods

Medidor de contexto: uso de contexto de Claude Code en la barra de estado

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.

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
estado, aviso
código fuente
ClaudeMods (MIT)

Instalar dentro de Claude Code:

/plugin install cm-context-meter --marketplace rotbit/claudemods-marketplace
Todas las opciones de instalación ↓

¿Qué hace este mod?

Medidor de contexto muestra el uso de contexto de Claude Code en la barra de estado. Escribe una única línea compacta en la barra de estado: ctx 42% · 5h 23% · 7d 61.5% · $1.20. Es decir, cuánto está ocupada la ventana de contexto, qué parte de tus ventanas de plan de 5 horas y 7 días has gastado (con una suscripción) y cuánto ha costado la sesión hasta ahora. Cuando el contexto llega al 80 por ciento, un toast te avisa una vez para que puedas usar /compact o /clear antes de que Claude empiece a perder detalles anteriores.

La idea es dejar de adivinar. Ya no necesitas ejecutar /cost o /context para saber si una tarea larga va a caber, y el aviso llega con antelación suficiente para compactar cuando a ti te convenga. Requiere Claude Code 2.1.287 o posterior.

Demo

La grabación inicia una sesión con el mod cargado. La barra de estado muestra ctx – hasta la primera respuesta y, cuando termina el turno, se rellenan el porcentaje de contexto, las ventanas del plan y el coste.

Instalación

Elige uno de los métodos del bloque de instalación. No hace falta configurar nada; los valores por defecto muestran todo lo que ofrece la cuenta.

$ install cm-context-meter

Requiere Claude Code ≥ 2.1.287

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

    /plugin install cm-context-meter --marketplace rotbit/claudemods-marketplace

    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 rotbit/claudemods-marketplace
    claude plugin install cm-context-meter@claudemods

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

  3. 3.Pruébalo sin instalarlo

    git clone https://github.com/rotbit/claudemods-marketplace
    claude --plugin-dir ./claudemods-marketplace/cm-context-meter

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

Cómo funciona

Todo el mod son tres hooks y una función de actualización. Extraído de hooks/register.ts:

async function refresh($: EngineInterface, meter: Meter): Promise<void> {
  // No `breakdown`: the status-line figures alone, which cost no request.
  const usage = await $.session.usage()
  $.ui.status(formatMeter(usage, meter))
  const percent = contextPercent(usage)
  const step = warnStep(percent, meter.warnAtPercent, meter.warned)
  meter.warned = step.warned
  if (step.toast) {
    $.ui.toast(`Context is ${percent}% full. Consider /compact or /clear soon.`)
  }
}

$.session.usage() devuelve los tokens de contexto y la ventana, los límites de uso del plan y el coste. Si se llama sin desglose, lee números que Claude Code ya tiene, así que el medidor puede ejecutarse tantas veces como quiera sin coste alguno. formatMeter, en hooks/format.ts, construye el texto y omite cualquier cifra que el motor no tenga en lugar de imprimir un cero. warnStep recuerda si ya avisó, de modo que el toast aparece una vez cada vez que se cruza el umbral; si una compactación devuelve el contexto por debajo del umbral, puede volver a avisar.

refresh se llama desde session.start (que además inicia un temporizador con $.clock.every), desde turn.complete solo para los turnos del bucle principal, y desde session.compact. session.compact puede cancelar una compactación, así que su hook espera primero a next(e) y lleva un .catch que devuelve aquello en lo que se resolvió next. El medidor nunca detiene una compactación.

Personalízalo

Ajusta estas opciones en /config. format: verbose escribe la línea completa como Context 42% (84k/200k) · 5-hour 23% · 7-day 61.5% · Cost $1.20. Las etiquetas están en la tabla LIMIT_LABELS de hooks/format.ts, así que ese es el lugar para renombrar 5h o 7d. El texto del aviso es la plantilla de cadena dentro de refresh.

AjusteTipoValor por defectoQué hace
showCostbooleantrueShow cost. Show the session's cost in US dollars, as /cost totals it.
showRateLimitsbooleantrueShow plan usage. Show the 5-hour and 7-day plan usage windows (subscriptions only).
warnAtPercentnumber80Warn at context %. Show a toast once when the context window reaches this percentage; 0 turns the warning off.
formatstring (compact | verbose)"compact"Format. compact: ctx 42% · 5h 23% · $1.20. verbose: Context 42% (84k/200k) · 5-hour 23% · Cost $1.20.
intervalMsnumber60000Refresh interval (ms). How often to refresh between turns, in milliseconds (at least 5000).

Cámbialos en Claude Code con /config: el mod se recarga en caliente.

Permisos y seguridad

La única insignia es Modifica la interfaz: el mod escribe en la barra de estado y muestra un toast. No ejecuta comandos, no lee ni escribe archivos, no usa la red, no lee tus prompts ni llama al modelo. Eso lo convierte en uno de los mods más seguros que puedes instalar, y en un buen primer mod.

Para desactivarlo, ejecuta /plugin disable cm-context-meter. Para iniciar una sesión con todos los mods desactivados, usa claude --safe-mode.

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

Probado con Claude Code 2.1.291 en la terminal de macOS. Si el medidor no aparece:

  • Comprueba claude --version; los mods necesitan la 2.1.287 o posterior.
  • Asegúrate de que el mod esté habilitado en la pestaña Installed de /plugin.
  • Después de una instalación desde la shell, ejecuta /reload-plugins en las sesiones que ya estaban abiertas.
  • Otro mod o un comando de barra de estado personalizado puede compartir la línea. Desactiva brevemente otros mods de estado para ver si el texto está quedando desplazado.
  • Que no aparezcan cifras del plan con una clave de API es el comportamiento esperado.

La cifra de coste es la misma estimación de sesión que totaliza /cost; no es una factura.

Preguntas frecuentes

¿El medidor de contexto consume tokens o cuota del plan?
No. Llama a $.session.usage() sin desglose, lo que devuelve cifras que Claude Code ya registra y no envía ninguna solicitud.
¿Por qué no veo las cifras de 5h y 7d?
Las ventanas de uso del plan solo existen en las suscripciones. Con una clave de API no están disponibles, y el medidor las omite en lugar de mostrar 0%.
¿Por qué la barra de estado muestra ctx – al principio?
No hay cifra de contexto hasta que Claude ha respondido una vez. El guion se sustituye cuando termina el primer turno.
¿Puedo desactivar el aviso del 80%?
Pon warnAtPercent a 0 en /config. Cualquier otro valor de 1 a 100 mueve el umbral.
¿Con qué frecuencia se actualiza?
Después de cada turno del bucle principal, después de cada compactación y cada 60 segundos entre medias. Cambia el temporizador con intervalMs, con un mínimo de 5 segundos.
Contador de llamadas a herramientas funcionando en Claude Code

Contador de llamadas a herramientas

Cuenta las llamadas a herramientas por turno y sesión, muestra el total junto al spinner y añade /tally con un desglose.

  • spinner
  • transcripción
  • estado
  • Intercepta llamadas a herramientas
  • Modifica la interfaz
  • Añade comandos/herramientas

probado con v2.1.291

Rama git sobre el prompt funcionando en Claude Code

Rama git sobre el prompt

Tu rama git, los archivos cambiados y el estado ahead/behind en una franja de una línea sobre el prompt de Claude Code.

  • sobre el prompt
  • Ejecuta comandos
  • Intercepta llamadas a herramientas
  • Modifica la interfaz

probado con v2.1.291

Aviso de finalización funcionando en Claude Code

Aviso de finalización

Un toast «Done in 2m 14s» y un sonido al terminar un turno largo de Claude, más un aviso de escritorio opcional.

  • aviso
  • Ejecuta comandos
  • Modifica la interfaz
  • Reproduce sonido

probado con v2.1.291

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