Skip to content

About

Floating always-on-top Windows widget that shows what each Claude Code session is doing in real time

Topics

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

🇺🇸 Read in English

Task Bar Hero Code

License: MIT Platform No dependencies

Demonstração do Task Bar Hero Code em funcionamento

Um widget flutuante e minúsculo que fica sempre visível por cima de tudo no seu Windows, mostrando em tempo real o que cada sessão do Claude Code está fazendo — pulso animado de estado, nome do terminal, subagentes ativos, uso de contexto e do rate limit de 5h. Roda direto no seu PC (não é uma extensão de navegador nem depende de nenhum serviço externo) e é 100% livre: arraste para qualquer lugar da tela e redimensione do jeitinho que quiser — ele lembra a posição e o tamanho da próxima vez que abrir.

O que ele mostra

  • Indicador de pulso (bolinha à esquerda): verde pulsando = trabalhando, amarelo = esperando sua resposta, cinza vazado = ocioso.
  • Nome do terminal: prioriza o nome que você deu à aba no Warp (lido direto do warp.sqlite), depois o título da conversa gerado pelo Claude Code, depois um nome derivado, depois a pasta.
  • Status + tempo decorrido: ex. "Executando Bash · 12s".
  • Ícone de robô: aparece quando um subagente está rodando naquela sessão; mostra o tipo do agente e descrição, ou as estatísticas de conclusão (tool uses / tokens / tempo). Com múltiplos agentes concorrentes, mostra um contador.
  • Anel duplo de uso: anel interno = % de contexto da conversa (por sessão), anel externo = % do rate limit de 5h (global da conta — sempre o valor mais recente entre todas as sessões). Mesmas cores/thresholds do /statusline (verde <50%, amarelo <70%, vermelho daí pra cima).
  • Barra de "stories" embaixo, tipo Instagram, indicando quantos terminais existem e quando vai trocar para o próximo.

Arquitetura

Claude Code hooks (PreToolUse/PostToolUse/Notification/Stop/...)
        │  stdin JSON
        ▼
hooks/taskbar-hero-update.js  ──►  ~/.claude/taskbar-hero/status.json
                                     (por sessionId: cwd, tool, summary,
                                      agents{}, warpUuid)

statusline-command.js (já existente do usuário, com um pequeno acréscimo)
        ▼
~/.claude/taskbar-hero/usage.json   (por sessionId: contextPct, sessionPct)

~/.claude/sessions/<pid>.json       (já existente do Claude Code: status
                                      busy/idle, cwd, name)

warp.sqlite (do próprio Warp)       (nome real da aba, casado por
                                      WARP_TERMINAL_SESSION_UUID)
        │
        ▼
ticker.pyw  ──►  janela tkinter, poll a cada 1s (dados) / 4s (Warp) /
                 60ms (reafirma topmost), desenho 100% em Canvas puro.

Não há build step nem dependências externas — só a stdlib do Python 3 (ctypes, sqlite3, tkinter, json, glob, os, time, math, pathlib) e do Node (fs, path, os). Nenhum pip install/npm install necessário.

Instalação

Requisitos: Windows 10/11, Python 3.x com Tkinter, Node.js.

powershell -ExecutionPolicy Bypass -File install.ps1

Isso detecta Python/Node automaticamente, mescla os hooks no seu ~/.claude/settings.json (sem apagar hooks que você já tinha), oferece aplicar o patch do /statusline se você tiver um customizado, cria o atalho de inicialização automática e já sobe o widget. Rodar de novo não duplica nada (idempotente). Para desinstalar:

powershell -ExecutionPolicy Bypass -File uninstall.ps1

Se você é um agente (Claude Code) instalando isto para alguém, ou se o script não servir no seu ambiente, veja INSTALL.pt-BR.md — documenta o contrato exato por trás do script (formato do merge em settings.json, onde cada coisa precisa existir, checklist de verificação) para reproduzir manualmente.

Instalar como plugin do Claude Code

Alternativa mais leve ao instalador acima — sem atalhos de Menu Iniciar/Área de Trabalho/autostart, só o hook e o comando /taskbar-hero disponíveis sob demanda:

/plugin marketplace add leonardosilvamelosantos/taskbar-code
/plugin install taskbar-code@taskbar-code

Depois, rode /taskbar-code:taskbar-hero em qualquer sessão para subir o widget.

Veja CHANGELOG.md para o histórico de versões.

Limitações conhecidas

  • O menu Iniciar e a Central de Ações do Windows rodam numa camada do shell que fica sempre acima de qualquer janela "always on top" comum, por design de segurança do Windows — nenhum app (nem ferramentas consagradas como o Rainmeter) consegue sobrepor isso de forma confiável sem assinatura de código + manifesto UIAccess.
  • warp.sqlite é um schema interno do Warp, não documentado/sem contrato — o código já degrada graciosamente (cai pro nome derivado) se o schema mudar ou o Warp não estiver rodando.

Menu de contexto (clique direito no widget)

  • Pausar/retomar o carrossel
  • Resetar posição (volta a ancorar automaticamente perto da barra de tarefas)
  • Sair

Reabrindo depois de fechar: o instalador deixa três caminhos para subir o widget de novo — procurar "Task Bar Hero Code" no Menu Iniciar, o atalho na Área de Trabalho, ou o comando /taskbar-hero em qualquer sessão do Claude Code. Tentar abrir uma segunda instância enquanto uma já está rodando só mostra um aviso de "já está em execução" em vez de duplicar o widget.

Contribuindo

Contribuições são bem-vindas via fork + Pull Request. Veja CONTRIBUTING.pt-BR.md para o guia completo (convenções de encoding, como testar mudanças no instalador, etc.).

Licença

MIT

About

Floating always-on-top Windows widget that shows what each Claude Code session is doing in real time

Topics

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages