Pular para o conteúdo
claudemods

Medidor de contexto: uso de contexto do Claude Code na barra de status

Uso do contexto, dos limites de 5 horas e 7 dias e custo da sessão na barra de status, com aviso perto do limite.

Permissões

  • Altera a interfaceDesenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).
testado com
v2.1.291
último teste
requer
Claude Code ≥ 2.1.287
superfícies
status, notificação
código-fonte
ClaudeMods (MIT)

Instale dentro do Claude Code:

/plugin install cm-context-meter --marketplace rotbit/claudemods-marketplace
Todas as opções de instalação ↓

O que este mod faz?

O Medidor de contexto mostra o uso de contexto do Claude Code na barra de status. Ele escreve uma única linha compacta na barra de status: ctx 42% · 5h 23% · 7d 61.5% · $1.20. Ou seja: quanto da janela de contexto já está ocupado, quanto das suas janelas de plano de 5 horas e 7 dias você já usou (em uma assinatura) e quanto a sessão custou até agora. Quando o contexto chega a 80 por cento, um toast avisa você uma única vez, para que dê tempo de usar /compact ou /clear antes que o Claude comece a perder detalhes anteriores da conversa.

A ideia é parar de adivinhar. Você não precisa mais rodar /cost ou /context para saber se uma tarefa longa vai caber, e o aviso chega cedo o bastante para você compactar no momento que preferir. Requer Claude Code 2.1.287 ou posterior.

Demonstração

A gravação inicia uma sessão com o mod carregado. A barra de status mostra ctx – até a primeira resposta e, quando o turno termina, preenche a porcentagem de contexto, as janelas do plano e o custo.

Instalação

Escolha um dos métodos do bloco de instalação. Não há nada para configurar; os valores padrão já mostram tudo o que a sua conta oferece.

$ install cm-context-meter

Requer Claude Code ≥ 2.1.287

  1. 1.Uma linha, dentro do Claude Code

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

    Cole em uma sessão em andamento (v2.1.275+). O Claude Code pede primeiro para adicionar o marketplace.

  2. 2.Pelo seu shell

    claude plugin marketplace add rotbit/claudemods-marketplace
    claude plugin install cm-context-meter@claudemods

    Depois execute /reload-plugins em qualquer sessão que já esteja aberta.

  3. 3.Experimente sem instalar

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

    Carrega o mod só para uma sessão. Nada é adicionado às suas configurações.

Como funciona

O mod inteiro são três hooks e uma função de atualização. Trecho 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() retorna os tokens de contexto e o tamanho da janela, os limites de uso do plano e o custo. Chamada sem detalhamento, ela lê números que o Claude Code já tem, então o medidor pode rodar quantas vezes quiser sem custo. formatMeter em hooks/format.ts monta o texto e descarta qualquer número que o engine não tenha, em vez de imprimir zero. warnStep lembra se já avisou, então o toast aparece uma vez a cada vez que o limite é ultrapassado; depois que uma compactação traz o contexto de volta para baixo do limite, ele pode avisar de novo.

refresh é chamada a partir de session.start (que também inicia um temporizador $.clock.every), de turn.complete apenas para turnos do loop principal e de session.compact. Como session.compact pode cancelar uma compactação, o hook dele aguarda next(e) primeiro e tem um .catch que devolve o resultado com que next terminou. O medidor nunca interrompe uma compactação.

Personalize

Ajuste estas opções em /config. format: verbose escreve a linha por extenso como Context 42% (84k/200k) · 5-hour 23% · 7-day 61.5% · Cost $1.20. Os rótulos ficam na tabela LIMIT_LABELS em hooks/format.ts, então é ali que você renomeia 5h ou 7d. O texto do aviso é a template string dentro de refresh.

ConfiguraçãoTipoPadrãoO que faz
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).

Altere isso no Claude Code com /config — o mod recarrega na hora.

Permissões e segurança

O único selo é Altera a interface: o mod escreve na barra de status e mostra um toast. Ele não executa comandos, não lê nem grava arquivos, não usa a rede, não lê seus prompts e não chama o modelo. Isso o torna um dos mods mais seguros que você pode instalar, e uma ótima escolha para começar.

Para desligá-lo, execute /plugin disable cm-context-meter. Para iniciar uma sessão com todos os mods desligados, use claude --safe-mode.

Altera a interface
Desenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).

Compatibilidade e solução de problemas

Testado com Claude Code 2.1.291 no terminal, no macOS. Se o medidor não aparecer:

  • Verifique claude --version; os mods exigem 2.1.287 ou posterior.
  • Confirme que o mod está ativado na aba Installed de /plugin.
  • Depois de uma instalação pelo shell, execute /reload-plugins nas sessões que já estavam abertas.
  • Outro mod ou um comando de barra de status personalizado pode dividir a mesma linha. Desative temporariamente os outros mods de status para ver se o texto está sendo espremido para fora.
  • Não ter números do plano com uma chave de API é o comportamento esperado.

O valor de custo é a mesma estimativa da sessão que /cost soma; não é uma fatura.

Perguntas frequentes

O medidor de contexto consome tokens ou cota do plano?
Não. Ele chama $.session.usage() sem detalhamento, o que retorna números que o Claude Code já acompanha e não envia nenhuma requisição.
Por que não vejo os números de 5h e 7d?
As janelas de uso do plano só existem em assinaturas. Com uma chave de API elas não estão disponíveis, e o medidor as omite em vez de mostrar 0%.
Por que a barra de status mostra ctx – no início?
Não existe número de contexto até o Claude responder uma vez. O traço é substituído assim que o primeiro turno termina.
Posso desligar o aviso de 80%?
Defina warnAtPercent como 0 em /config. Qualquer outro valor de 1 a 100 muda o limite do aviso.
Com que frequência ele atualiza?
Depois de cada turno do loop principal, depois de cada compactação e a cada 60 segundos entre eles. Mude o temporizador com intervalMs, com mínimo de 5 segundos.
Contador de chamadas de ferramentas em execução no Claude Code

Contador de chamadas de ferramentas

Conta as chamadas de ferramentas do Claude por turno e por sessão, mostra o total junto ao spinner e adiciona /tally.

  • spinner
  • transcrição
  • status
  • Intercepta chamadas de ferramentas
  • Altera a interface
  • Adiciona comandos/ferramentas

testado com v2.1.291

Branch do Git acima do prompt em execução no Claude Code

Branch do Git acima do prompt

Mostra a branch do Git, a contagem de alterações e o status ahead/behind em uma faixa acima do prompt do Claude Code.

  • acima do prompt
  • Executa comandos
  • Intercepta chamadas de ferramentas
  • Altera a interface

testado com v2.1.291

Aviso de conclusão em execução no Claude Code

Aviso de conclusão

Um toast "Done in 2m 14s" e um som curto quando um turno longo do Claude termina, com notificação opcional no desktop.

  • notificação
  • Executa comandos
  • Altera a interface
  • Reproduz som

testado com v2.1.291

Mais em Contexto, cota e custo, Linha de status e barra do prompt.