Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Claude GalaxyNew to Visual Studio Code? Get it now.
Claude Galaxy

Claude Galaxy

MANOEL HENRIQUE DE ASSIS FILHO

|
3 installs
| (1) | Free
Suas sessões do Claude Code viram uma galáxia animada: o sol é o projeto, cada planeta é uma sessão.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🪐 Claude Galaxy

VS Code Marketplace Licença MIT

Suas sessões do Claude Code viram uma galáxia animada dentro do VSCode.

O sol é o projeto aberto. Cada planeta é uma sessão do Claude Code naquele projeto — ele brilha e pulsa enquanto o Claude pensa ou roda uma tool, mostra há quanto tempo está trabalhando, e vai apagando conforme a sessão esfria. Um ping discreto avisa quando alguma sessão termina de responder.

Claude Galaxy em ação

Instalação

No VSCode: Ctrl+Shift+X → busque Claude Galaxy → Install.

Pela linha de comando:

code --install-extension MANOELHENRIQUEDEASSISFILHO.vscodeanimated

Ou pela página do Marketplace: marketplace.visualstudio.com/items?itemName=MANOELHENRIQUEDEASSISFILHO.vscodeanimated

O ID do publisher foi registrado em caixa alta e a URL do Marketplace diferencia maiúsculas de minúsculas: a variante minúscula devolve 404. A linha de comando (code --install-extension) aceita qualquer caixa.

Por que

Quando você tem 3, 5, 8 sessões do Claude Code abertas em terminais diferentes, é impossível saber quem está trabalhando e quem já terminou sem ficar alternando de janela. A galáxia fica dockada na barra lateral (ou numa janela flutuante) e responde isso de relance.

Como usar

  1. Clique no ícone 🪐 na Activity Bar.
  2. Trabalhe normalmente com o Claude Code neste projeto — os planetas aparecem sozinhos.
  3. Janela flutuante: arraste a view "Galáxia" para fora do VSCode (funciona desde o VSCode 1.85) e deixe num canto do monitor.
  4. Clique num planeta para ver os detalhes da sessão (estado, tool atual, tempos, tokens, último prompt, modelo, branch).
  5. Duplo-clique no planeta (ou o botão "abrir chat") retoma aquela conversa. Com a extensão oficial do Claude Code instalada, ela abre numa aba; sem ela, abre um terminal com claude --resume <id>.
  6. Clique no sol para abrir o projeto no Explorer.
  7. A engrenagem no canto superior direito abre as configurações (sons, efeitos, tempos) sem sair da galáxia.
  8. A barra de status mostra 🪐 N ativas — clicar nela foca a galáxia.

Os dois relógios

Rótulo O que mede
trabalhando há quanto tempo o Claude levou (ou está levando) no turno atual — congela quando ele termina de responder, e aí vira "esse comando durou tanto"
ativo há quanto tempo faz que você mandou o último comando nessa sessão — nunca para de contar

A diferença entre os dois é exatamente há quanto tempo a sessão está te esperando.

Tokens

O painel mostra o total de tokens que passaram pela API na sessão (entrada + cache + saída), quantos foram gerados pelo modelo e o contexto da última chamada. Passe o mouse para ver a quebra completa.

Sessões grandes (acima de ~576 KB) só têm o começo e o fim lidos na carga inicial; o miolo é somado em background, em pedaços de 512 KB, e até terminar o total aparece como ≥ X.

Estados dos planetas

Planeta Estado O que significa
🟢 verde pulsando tool_running rodando uma tool (o nome aparece acima do planeta)
🟣 roxo pulsando thinking o Claude está pensando/escrevendo a resposta
⚪ aceso, sem pulso waiting_user terminou, esperando você
⚫ apagado idle sem escrever há mais de 5 min
— sumiu dead sem escrever há mais de 30 min (configurável)

O rótulo embaixo do planeta ativo é o timer: há quanto tempo aquela sessão está trabalhando na sua última mensagem. Enquanto a sessão está ativa, um anel tracejado, um arco de rastro e três satélites giram ao redor do planeta (claudeGalaxy.orbitEffects desliga).

Sons

Tudo sintetizado em código (Web Audio API) — nenhum arquivo de áudio, nada de sino de igreja:

Evento Som
nova sessão "bloom" ascendente
sessão terminou de responder ping cristalino de duas notas
tool iniciando tick grave (desligado por padrão)
sessão esfriou descendente suave
erro na sessão tom dissonante curto

Proteções: no máximo 1 som por tipo/sessão a cada 2s e no máximo 2 sons por segundo no total. O botão 🔊 no cabeçalho liga/desliga tudo, e a ⚙ ajusta volume e tick (com um botão de testar som).

Configurações

Setting Padrão Descrição
claudeGalaxy.activeThresholdSeconds 15 escrita há menos que isso = sessão ativa
claudeGalaxy.idleMinutes 5 minutos sem escrita até virar idle
claudeGalaxy.deadMinutes 30 minutos sem escrita até virar morta
claudeGalaxy.hideDeadSessions true esconder os planetas mortos
claudeGalaxy.orbitEffects true satélites e anéis girando nos planetas ativos
claudeGalaxy.multiRoot true em workspace multi-root, monitorar todas as pastas
claudeGalaxy.sounds.enabled true sons ligados
claudeGalaxy.sounds.volume 0.5 volume (0–1)
claudeGalaxy.sounds.toolTick false tick a cada tool iniciada

Comandos

Comando O que faz
Claude Galaxy: Abrir galáxia foca a view na Activity Bar
Claude Galaxy: Ligar/desligar sons atalho para o mute
Claude Galaxy: Recarregar sessões re-escaneia a pasta de sessões
Claude Galaxy: Modo demo (planetas mockados) planetas falsos, para ver o visual sem sessão real
Claude Galaxy: Abrir pasta de sessões abre ~/.claude/projects/<projeto>

Como funciona por dentro

O Claude Code grava cada sessão em ~/.claude/projects/<slug-do-projeto>/<uuid>.jsonl, onde o slug é o caminho absoluto do projeto com todo caractere não alfanumérico trocado por - (c:\Workspace\VSCode Galaxy → c--Workspace-VSCode-Galaxy).

A extensão vigia essa pasta (chokidar + poll de 2s como rede de segurança) e lê os arquivos de forma estritamente incremental: guarda o byte offset de cada .jsonl e só consome o que cresceu. Sessões longas passam de 10 MB — nunca há re-parse do arquivo inteiro (na carga inicial ela lê só 64 KB do começo, para o nome, e 512 KB do fim, para o estado atual).

O único trecho lido "para trás" é o miolo das sessões grandes, e só para somar tokens: em pedaços de 512 KB, um por vez, com respiro entre eles e descartando qualquer linha sem "usage" antes de parsear.

Nada sai da sua máquina: a extensão só lê arquivos locais e não faz nenhuma requisição de rede.

Requisitos

  • VSCode 1.85 ou superior.
  • Claude Code instalado e usado no projeto aberto (é ele quem gera os .jsonl).

Desenvolvimento

npm install
npm run watch      # bundle em modo watch
# F5 no VSCode -> Extension Development Host
npm test           # testes do watcher/parser (node:test)

Assets do Marketplace (opcionais, precisam das devDependencies):

npm run assets     # gera media/icon.png e media/demo.gif (com o renderer real)

Publicação

npm run package                       # gera o .vsix
code --install-extension *.vsix       # testa o pacote localmente
npx vsce login manoelhenriquedeassisfilho   # cola o PAT (Azure DevOps, escopo Marketplace > Manage)
npm run publish                       # ou: npx vsce publish patch|minor|major

Licença

MIT — veja LICENSE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft