Token Weather: previsão do contexto do Claude Code em uma linha
Previsão do tempo para a janela de contexto do Claude Code acima do prompt, com tendência e contagem do cache.
Permissões
- Lê arquivosPode ler arquivos e listar diretórios na sua máquina ($.fs.read / list / stat / exists).
- Executa comandosPode executar programas de shell na sua máquina ($.process.run / spawn). Confira no código-fonte exatamente quais.
- Altera a interfaceDesenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).
- Armazena dadosGuarda dados entre sessões no armazenamento privado do plugin ($.store.*).
- testado com
- v2.1.307
- último teste
- requer
- Claude Code ≥ 2.1.287
- superfícies
- acima do prompt
- código-fonte
- Hamza Zafar (hamzafer) (MIT)
Instale dentro do Claude Code:
/plugin install token-weather --marketplace hamzafer/claude-code-modsO que este mod faz?
O Token Weather é um mod da comunidade de Hamza Zafar (hamzafer), parte da coleção claude-code-mods dele. Ele traz uma previsão do contexto do Claude Code em uma linha acima do prompt: uma palavra do tempo com ícone para mostrar o quanto a janela está cheia, a porcentagem, os tokens em relação ao tamanho da janela, um sparkline dos últimos turnos e uma contagem regressiva de quanto tempo o cache de prompt continua quente.
A previsão vai de ☀ Clear (abaixo de 25%) passando por ☁ Cloudy, ☂ Showers e ☇ Storm até ↯ Compact soon a partir de 90%. Ao lado, last turns desenha até 12 leituras com ▁▂▃▄▅▆▇█, na escala da maior delas, seguidas de quanto o último turno aumentou ou diminuiu, como ▲ +39.4k last turn. Se a linha for larga o bastante, ❄ cache 4:12 faz a contagem regressiva até o cache expirar, fica amarelo no último minuto e depois mostra ❄ cache cold.
O Token Weather se sobrepõe às nossas páginas do Context Bar, do Context Meter e do Cache Clock. O Context Bar detalha a janela por categoria; o Context Meter coloca a porcentagem e o uso do plano na linha de status; o Cache Clock mostra detalhes do cache abaixo da linha de status. O Token Weather dá um veredito em uma linha e a tendência. O marketplace do autor o lista na versão 0.2.2.
Demonstração
A gravação inicia o Claude Code com o mod carregado no pequeno projeto de demonstração. Antes de qualquer prompt, a linha acima da entrada diz ☀ Clear 0% of context 0 / 1M. Em seguida pedimos ao Claude que leia o README.md e diga em uma frase o que é o projeto. Enquanto a primeira requisição roda, aparece uma contagem regressiva ❄ cache 5:00. Quando o turno termina, a linha mostra ☀ Clear 4% of context 39.4k / 1M, um sparkline, ▲ +39.4k last turn e ❄ cache 60:00, porque a resposta gravou um cache de uma hora.
Instalação
Use qualquer um dos métodos do bloco de instalação; eles instalam direto do marketplace do autor. A linha aparece no início da próxima sessão. O plugin tem uma única opção: a duração do cache de prompt.
$ install token-weather
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 token-weather --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 token-weather@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/token-weatherCarrega o mod só para uma sessão. Nada é adicionado às suas configurações.
Como funciona
O mod guarda suas leituras em átomos $.state mantidos pelo host, então elas sobrevivem a um hot reload. Uma leitura é feita no início da sessão e depois de cada turno do agente principal, com os números de contexto de $.session.usage. O relógio do cache reinicia quando termina cada requisição de modelo da thread principal, inclusive as do laço de ferramentas dentro de um turno. Este é o manipulador de turn.step, de hooks/register.tsx:
on('turn.step', async function* ($, e, next) {
const result = yield* next(e)
if (!e.agentId && result.stopReason !== null) {
const now = await $.clock.now()
await update($, lastRequestAt, () => now)
restart($, now, now, await ttlMsFor($, override))
}
return result
})No modo auto, depois de cada turno ele lê o último megabyte da transcrição da sessão (<config dir>/projects/<project>/<session id>.jsonl) e procura tokens de 1 hora ou de 5 minutos em cache_creation na última resposta da thread principal. O resultado fica guardado no armazenamento do plugin para a próxima sessão. Um temporizador redesenha a linha quando o texto da contagem muda: a cada 30 segundos com mais de dez minutos restantes, a cada 15 segundos abaixo disso e a cada segundo nos últimos dois minutos.
Personalize
A única opção é cacheTtl nas configurações do plugin: auto (padrão), 5m ou 1h. Um valor fixo tem prioridade sobre a detecção. As faixas da previsão, o histórico de 12 leituras e o aviso de 60 segundos são constantes no início de register.tsx. O mod também lê um arquivo de ordem opcional, <config dir>/claude-code-mods/bands.json, que define a ordem quando vários mods de faixas do mesmo autor se desenham acima do prompt.
Permissões e segurança
Antes de executar, lemos todos os arquivos que o plugin pode executar: .claude-plugin/plugin.json, hooks/hooks.json, hooks/register.tsx, hooks/bands.ts, as declarações de tipos e os três arquivos de teste. Não há package.json, script de instalação, binário nem código empacotado, e o texto que ele desenha é montado a partir de números; nada é injetado no prompt do modelo. O repositório tem um LICENSE MIT.
O que ele faz, por completo:
- Rede: nenhuma.
- Processos: um,
tail -c 1048576 <caminho da transcrição>, somente quando a transcrição passa de 1 MB. Caso contrário, lê o arquivo diretamente. - Arquivos lidos: a sua própria transcrição de sessão (para detectar a duração do cache), o
bands.jsonopcional no diretório de configuração do Claude e as configurações do Claude Code por$.settings.read(para ver se a linha de status do Cache Clock está definida). Ele lê as variáveis de ambienteHOMEeCLAUDE_CONFIG_DIRpara encontrá-los. - Arquivos gravados: nenhum diretamente. Ele salva a duração de cache detectada (
5mou1h) com$.store, o armazenamento próprio do plugin. - Trabalho em segundo plano: um temporizador de redesenho dentro do Claude Code, que para quando a sessão termina. Sem daemon.
- Bloqueios: nenhum. Ele não bloqueia nem reescreve chamadas de ferramentas ou prompts.
O claude plugin validate não relatou erros nem avisos do próprio plugin (o verificador de diretório aponta a falta de um ícone). Os 24 testes do autor passaram no Claude Code 2.1.307.
- Lê arquivos
- Pode ler arquivos e listar diretórios na sua máquina ($.fs.read / list / stat / exists).
- Executa comandos
- Pode executar programas de shell na sua máquina ($.process.run / spawn). Confira no código-fonte exatamente quais.
- Altera a interface
- Desenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).
- Armazena dados
- Guarda dados entre sessões no armazenamento privado do plugin ($.store.*).
Compatibilidade e solução de problemas
Verificado com o Claude Code 2.1.307 no macOS (validate, testes e gravação). Se a linha não aparecer:
- Você iniciou uma sessão nova depois da instalação; o mod é carregado no início da sessão.
- Não há uma pesquisa aberta acima da entrada. A linha dá lugar às pesquisas e volta depois.
- A janela tem pelo menos 60 colunas. Em terminais mais estreitos só aparecem a palavra do tempo, a porcentagem e os tokens.
- Se a contagem regressiva estiver errada, defina
cacheTtlcomo5mou1hem vez deauto. Um caminho de projeto muito longo ou um projeto movido durante a sessão pode impedir que a transcrição seja encontrada; nesse caso o último valor detectado permanece. - Depois de
/clearou de retomar uma sessão, a contagem regressiva fica oculta até a próxima requisição.
Perguntas frequentes
- O Token Weather chama a API ou gasta tokens?
- Não. Não há chamadas de rede nem chamadas ao modelo. Ele lê os números de contexto que o Claude Code já tem por meio de $.session.usage. O único processo que inicia é o `tail`, sobre a sua própria transcrição de sessão, para detectar a duração do cache.
- O que significam Clear, Cloudy, Showers, Storm e Compact soon?
- São faixas de preenchimento do contexto, todas medidas em relação ao tamanho de janela informado pelo Claude Code. Clear é abaixo de 25%, Cloudy abaixo de 50%, Showers abaixo de 75%, Storm abaixo de 90%, e a partir de 90% aparece Compact soon.
- Como ele sabe se o cache de prompt dura 5 minutos ou 1 hora?
- No modo `auto`, o padrão, depois de cada turno da thread principal ele lê o fim da transcrição e verifica se a última resposta gravou tokens de cache de 5 minutos ou de 1 hora. Até ver um, assume 5 minutos. Você pode fixar `5m` ou `1h` nas opções do plugin.
- Por que a contagem regressiva do cache não aparece na minha tela?
- Ela precisa de pelo menos 60 colunas de largura e de espaço na linha, e só aparece depois da primeira requisição da sessão. Também se esconde quando a linha de status do Cache Clock está configurada, pois essa mostra a contagem exata.
- Qual é a diferença para o Context Bar?
- O Context Bar divide a janela em categorias coloridas com legenda. O Token Weather é uma única linha com um veredito, a porcentagem, um sparkline dos últimos 12 turnos e a contagem regressiva do cache. Os dois podem ficar juntos acima do prompt.
# Mods relacionados
DestaqueContext Bar
A janela de contexto do Claude Code como uma barra empilhada acima do prompt, uma cor por categoria, com tokens.
- acima do prompt
- Altera a interface
- Adiciona comandos/ferramentas
- Armazena dados
testado com v2.1.291
DestaqueCache Clock
Uma linha do cache de prompt sob a barra de status: tempo restante, taxa de acertos e tokens recacheados a frio.
- status
- Lê arquivos
- Grava arquivos
- Executa comandos
- Adiciona comandos/ferramentas
testado com v2.1.296
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
DestaqueUsage Meter
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.
- acima do prompt
- notificação
- Altera a interface
testado com v2.1.291
Mais em Contexto, cota e custo, Linha de status e barra do prompt.