Usage Meter: medidor de limite de uso do Claude Code acima do prompt
O uso de 5 horas e de 7 dias do seu plano em barras acima do prompt do Claude Code, com contagem regressiva e custo.
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
- acima do prompt, notificação
- código-fonte
- Hamza Zafar (hamzafer) (MIT)
Instale dentro do Claude Code:
/plugin install usage-meter --marketplace hamzafer/claude-code-modsO que este mod faz?
O Usage Meter é um medidor de limite de uso do Claude Code, um mod da comunidade criado por Hamza Zafar (hamzafer), da coleção claude-code-mods dele. Ele desenha uma linha acima do prompt do Claude Code com as janelas de limite de uso do seu plano e o custo da sessão, por exemplo ⏱ 5h █▆▁▁▁ 34% · resets 2h10 · 7d ███▁▁ 61% · $0.42 session.
Cada janela ganha uma barra de cinco células feita com caracteres de bloco, então as células parciais mostram passos mais finos do que blocos inteiros mostrariam. A barra e a porcentagem ficam verdes abaixo de 75%, amarelas a partir de 75% e vermelhas a partir de 90%. A primeira janela (normalmente a de 5 horas) sempre mostra quando vai resetar. As outras, como a janela de 7 dias ou um limite de gastos, só mostram o horário de reset quando já estão altas. A contagem regressiva avança a cada minuto. Uma janela cujo horário de reset já passou fica escondida até o Claude Code informar uma leitura nova, então você nunca vê um 100% desatualizado.
Quando uma janela passa de 90%, um toast avisa você uma vez por período de reset, por exemplo 5h usage limit at 92%, resets in 1h05. Em um terminal estreito, a linha descarta primeiro as janelas secundárias e depois o custo, para que a janela principal sempre caiba. Sem assinatura (uma sessão com chave de API), não há janelas do plano e só o custo aparece.
Se você já usa o nosso Context Meter, a sobreposição está nos números de 5 horas e de 7 dias e no custo. O Context Meter escreve esses dados como texto na barra de status e acrescenta o preenchimento da janela de contexto; o Usage Meter os desenha como barras acima do prompt com uma contagem regressiva ao vivo e deixa o contexto de fora. O README do autor exige o Claude Code 2.1.287 ou mais recente.
Demonstração
A gravação inicia o Claude Code com o mod carregado, envia um prompt curto e mostra a linha acima do prompt depois do turno: as janelas do plano de 5 horas e de 7 dias como pequenas barras com as porcentagens, o tempo até o reset da janela de 5 horas e o custo da sessão. As barras do plano aparecem porque a conta da demonstração está conectada com uma assinatura do Claude.
Instalação
Use qualquer um dos métodos do bloco de instalação; eles instalam direto do marketplace do próprio autor. Não é preciso configurar nada.
$ install usage-meter
Requer Claude Code ≥ 2.1.287
Instala a partir do marketplace do autor: hamzafer/claude-code-mods
1.Uma linha, dentro do Claude Code
/plugin install usage-meter --marketplace hamzafer/claude-code-modsCole em uma sessão em andamento (v2.1.275+). O Claude Code pede primeiro para adicionar o marketplace.
2.Pelo seu shell
claude plugin marketplace add hamzafer/claude-code-mods claude plugin install usage-meter@claude-code-modsDepois execute /reload-plugins em qualquer sessão que já esteja aberta.
3.Experimente sem instalar
git clone https://github.com/hamzafer/claude-code-mods claude --plugin-dir ./claude-code-mods/mods/usage-meterCarrega o mod só para uma sessão. Nada é adicionado às suas configurações.
Como funciona
Estes são os dois hooks que fazem as leituras, 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 mantém as janelas com uma porcentagem finita, guarda-as em um átomo $.state mantido pelo host e chama warn, que mostra um toast para qualquer janela em 90% ou mais que ainda não tenha sido avisada no período de reset atual. Um horário de reset que avançou mais de meia hora conta como um novo período. O hook ui.render em AbovePrompt lê o snapshot e um átomo tick que o timer de 60 segundos incrementa, então a contagem regressiva é redesenhada sem uma nova leitura. As funções puras build, fit, bar, colorFor e countdown produzem os segmentos, e os testes do autor cobrem todas elas.
Personalize
Não há opções no /config nem comando de barra. As constantes no início do register.tsx controlam os detalhes: CELLS (largura da barra, 5), TICK_MS (atualização da contagem regressiva, 60 segundos), WARN_AT (limite do toast, 90) e LABELS para os nomes das janelas (5h, 7d, spend).
Permissões e segurança
Lemos todos os arquivos que o plugin pode executar antes de rodá-lo: hooks/hooks.json, hooks/register.tsx, as declarações de tipos e os testes. Não há package.json, script de instalação nem código empacotado.
Altera a interface cobre a linha acima do prompt e o toast de 90%. O mod lê os números de uso que o Claude Code já acompanha, via $.session.usage e o evento session.measure, e os mantém em $.state. Ele não executa comandos, não lê nem grava arquivos, não usa a rede, não lê variáveis de ambiente e não chama o modelo. O claude plugin validate não relatou erros nem avisos, e os 11 testes do autor passaram no Claude Code 2.1.291.
- 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
Verificado com o Claude Code 2.1.291 no macOS (validate e testes). Se a linha não aparecer:
claude --versioné 2.1.287 ou mais recente.- Você está usando uma assinatura do Claude. Com uma chave de API, só o custo aparece, e só depois que passa de $0.00.
- O Claude Code pode não ter números de uso até a primeira resposta do modelo. Envie um prompt e a linha é preenchida.
- Há uma pesquisa aberta acima da entrada; a linha volta depois que ela fecha.
Perguntas frequentes
- O Usage Meter envia alguma requisição para verificar o meu uso?
- Não. Ele lê os números que o Claude Code já tem, via $.session.usage no início da sessão e pelo evento session.measure depois disso. O mod em si não faz chamadas de rede.
- E se eu usar uma chave de API em vez de uma assinatura?
- Nesse caso o Claude Code não informa janelas do plano, e a linha mostra só o custo da sessão quando ele passa de zero. Sem nada para mostrar, a linha fica escondida.
- Quando ele me avisa?
- Quando uma janela passa de 90%, aparece um toast como "5h usage limit at 92%, resets in 1h05", uma vez por janela em cada período de reset.
- O que significam as cores?
- Verde abaixo de 75%, amarelo a partir de 75% e vermelho a partir de 90%. A janela de 7 dias também mostra o horário de reset quando chega a 75%.
- Qual a diferença para o Context Meter (cm-context-meter)?
- O Context Meter coloca a porcentagem de contexto, as janelas do plano e o custo como texto na barra de status e avisa sobre o contexto em 80%. O Usage Meter desenha barras acima do prompt, adiciona uma contagem regressiva ao vivo até o reset e avisa sobre as janelas do plano em 90%, mas não mostra o preenchimento do contexto.
# Mods relacionados
DestaqueMedidor de contexto
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.
- status
- notificação
- Altera a interface
testado com v2.1.310
Mais em Contexto, cota e custo, Linha de status e barra do prompt.