Pular para o conteúdo
claudemods

Context Bar: barra da janela de contexto do Claude Code por categoria

A janela de contexto do Claude Code como uma barra empilhada acima do prompt, uma cor por categoria, com tokens.

Permissões

  • Altera a interfaceDesenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).
  • Adiciona comandos/ferramentasRegistra novos comandos de barra ou ferramentas que você ou o Claude podem acionar ($.command.register / $.tool.register).
  • Armazena dadosGuarda dados entre sessões no armazenamento privado do plugin ($.store.*).
testado com
v2.1.291
último teste
requer
Claude Code ≥ 2.1.287
superfícies
acima do prompt

Instale dentro do Claude Code:

/plugin install context-bar --marketplace hamzafer/claude-code-mods
Todas as opções de instalação ↓

O que este mod faz?

O Context Bar é uma barra da janela de contexto do Claude Code, um mod da comunidade criado por Hamza Zafar (hamzafer), parte da coleção claude-code-mods dele. Ele responde a uma única pergunta: o que está ocupando a minha janela de contexto? Acima do prompt do Claude Code, ele desenha uma pequena faixa com borda contendo uma única barra empilhada da largura do terminal. A barra é dividida nas mesmas categorias que o /context usa, como prompt de sistema, ferramentas, ferramentas MCP, arquivos de memória, skills e mensagens, seguidas do espaço livre e do buffer de autocompactação.

A linha de cabeçalho mostra algo como 48k of 200k · compacts at 167k, com um selo de porcentagem colorido. O selo é verde, fica amarelo em 70% do ponto de compactação e vermelho em 90% (medido contra a janela inteira quando a autocompactação está desligada). Abaixo da barra, uma legenda lista cada categoria com a contagem de tokens e a fatia da janela, distribuída em quantas linhas a largura do terminal exigir. Os esquemas de ferramentas carregados sob demanda ficam de fora, assim como o /context os deixa fora da grade dele.

O Context Bar é parecido com o nosso Context Meter, mas os dois mostram coisas diferentes. O Context Meter é uma única string na barra de status com a porcentagem geral de contexto, as janelas do plano de 5 horas e de 7 dias, o custo da sessão e um aviso único em 80%. O Context Bar não mostra uso do plano nem custo; em vez disso, ele detalha o contexto por categoria, para você ver se o espaço está indo para as ferramentas MCP, para os arquivos de memória ou para a própria conversa. 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 no pequeno projeto de demonstração e pede ao Claude que leia o README.md e descreva o projeto em uma frase. Quando o turno termina, a faixa acima do prompt mostra a janela de contexto dividida por categoria (prompt de sistema, ferramentas de sistema, skills, mensagens, espaço livre), o total, como 54k of 200k, o ponto em que a autocompactação entra e a porcentagem usada.

Instalação

Use qualquer um dos métodos do bloco de instalação; eles instalam direto do marketplace do próprio autor. A barra aparece no próximo início de sessão, e /context-bar esconde ou mostra a barra.

$ install context-bar

Requer Claude Code ≥ 2.1.287

Instala a partir do marketplace do autor: hamzafer/claude-code-mods

  1. 1.Uma linha, dentro do Claude Code

    /plugin install context-bar --marketplace hamzafer/claude-code-mods

    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 hamzafer/claude-code-mods
    claude plugin install context-bar@claude-code-mods

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

  3. 3.Experimente sem instalar

    git clone https://github.com/hamzafer/claude-code-mods
    claude --plugin-dir ./claude-code-mods/mods/context-bar

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

Como funciona

O mod guarda a leitura mais recente em um átomo $.state mantido pelo host, então ela sobrevive a um hot reload, e a redesenha no ponto de renderização AbovePrompt. Esta é a função de atualização, de hooks/register.tsx:

// Asks the engine for /context's breakdown, estimated locally (no token-count calls).
async function refresh($: EngineInterface) {
  if (await read($, isHidden)) return
  const usage = await $.session.usage({ breakdown: 'summary' })
  const b = usage.context.breakdown
  if (!b || !(b.rawMaxTokens > 0)) return // no window to measure against
  await update($, reading, () => toReading(b))
}

refresh roda em session.start, em turn.complete quando não há agentId (os turnos de subagentes são ignorados) e em session.compact, porque um /compact esvazia a janela sem que nenhum turno termine. toReading descarta as categorias adiadas e as vazias, ordena as linhas usadas antes do espaço livre e do buffer e atribui as cores. As funções puras cells e legend transformam a leitura em trechos da barra e em linhas da legenda: toda categoria usada recebe pelo menos uma célula, e as sobras do arredondamento vão primeiro para o espaço livre. Abaixo de 20 colunas de largura interna a barra não é desenhada. Quando uma pesquisa está usando o espaço acima do prompt, a faixa sai do caminho.

Personalize

Não há opções no /config. O único interruptor é o comando /context-bar, cujo estado escondido/visível fica salvo com $.store. Para mudar a aparência, edite as constantes no início do register.tsx: PALETTE para as cores das categorias, MESSAGES para a cor das mensagens, GLYPH para os caracteres da barra e MIN_WIDTH para a largura mínima em que a barra ainda é desenhada.

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 faixa acima do prompt. Adiciona comandos/ferramentas cobre o /context-bar. O mod lê os números de contexto via $.session.usage, guarda um único valor verdadeiro/falso com $.store e mantém a leitura em $.state. Ele não executa comandos de shell, 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 6 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.*).
Adiciona comandos/ferramentas
Registra novos comandos de barra ou ferramentas que você ou o Claude podem acionar ($.command.register / $.tool.register).
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.291 no macOS (validate e testes). Se a barra não aparecer:

  • claude --version é 2.1.287 ou mais recente.
  • Você não a escondeu antes: execute /context-bar uma vez e procure "Context bar on".
  • O terminal é largo o suficiente: a faixa precisa de pelo menos 24 colunas.
  • Há uma pesquisa aberta acima da entrada; a faixa volta depois que ela fecha.
  • O detalhamento só fica disponível quando o Claude Code conhece o tamanho da janela. Se a faixa estiver faltando logo no início, envie um prompt.

Perguntas frequentes

A barra de contexto gasta tokens ou chama a API?
Não. Ela pede ao Claude Code o mesmo detalhamento resumido que o /context desenha, que os comentários do código descrevem como estimado localmente, sem chamadas de contagem de tokens. Ela não faz nenhuma requisição de rede própria.
Como escondo a barra?
Execute /context-bar. O comando liga e desliga a barra, e a escolha fica salva no armazenamento do próprio plugin, então uma nova sessão começa do jeito que você deixou.
Quando a barra é atualizada?
No início da sessão, depois de cada turno do agente principal e depois de uma compactação. Os turnos de subagentes são ignorados porque enchem a janela deles, não a sua.
Qual a diferença para o Context Meter (cm-context-meter)?
O Context Meter escreve uma linha curta na barra de status com a porcentagem de contexto, o uso do plano de 5 horas e de 7 dias, o custo da sessão e um toast de aviso em 80%. O Context Bar desenha uma faixa com borda acima do prompt que divide o contexto em categorias, sem uso do plano, sem custo e sem toast.
O que significam as cores e os símbolos?
Cada categoria usada (prompt de sistema, ferramentas, ferramentas MCP, arquivos de memória, skills e assim por diante) recebe a sua própria cor de uma paleta fixa, e as mensagens são desenhadas em laranja. O espaço livre é uma linha cinza fina e o buffer de autocompactação aparece hachurado.
Medidor de contexto em execução no Claude CodeDestaque

Medidor 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

Contador de chamadas de ferramentas em execução no Claude CodeDestaque

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.310

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