Skip to content

About

Dashboard 100% local pra monitorar uso do Claude Code em todos os repositórios da sua máquina — tokens, custo, atividade e memória, sem conta e sem nuvem.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cortex

Um dashboard que roda na sua própria máquina e mostra pra onde o uso do Claude Code está indo — tokens, custo, atividade, memória — sem mandar nada pra fora dela.

Comecei a rodar Claude Code em vários projetos ao mesmo tempo e perdi completamente a noção de onde o consumo estava concentrado: qual repositório puxava mais tokens, o que ainda tinha sessão ativa, o que a memória persistente já tinha acumulado de contexto em cada um. As ferramentas que existem por aí ou exigem conta/login em algum serviço, ou mandam telemetria pra nuvem de alguém. Este projeto não faz nenhuma das duas coisas: é um binário, roda em 127.0.0.1, lê os arquivos que o próprio Claude Code já grava na sua máquina, e ponto final.

O que ele mostra

  • Tokens e custo por repositório, por modelo, por dia — com estimativa de custo baseada nos preços reais da API, não em heurística chutada.
  • Ranking de atividade: quem consome mais tokens não é necessariamente onde você mais trabalhou; o dashboard separa as duas métricas.
  • Sessões ativas agora, cruzando processos claude de verdade rodando com um fallback por horário de modificação do arquivo de transcript, pro caso do processo ter sumido mas a sessão ainda estar "quente".
  • Núcleo de aprendizado: um grafo de tudo que o sistema de memória do Claude Code já escreveu em cada projeto, junto com os wikilinks entre notas — inclusive os que apontam pra nota nenhuma, porque isso também é informação.
  • Extrato de uso: granularidade de prompt individual, cada resposta do Claude com seu custo próprio, filtrável por repositório e período.
  • SDD: se o repositório segue Spec-Driven Development (uma pasta spec/ com arquitetura, design, histórico), o Cortex indexa e mostra os arquivos.
  • Aprovação de repositório novo: por padrão o Cortex não sai rastreando qualquer pasta que encontra. Repositório novo aparece como notificação pendente — você decide se quer que ele seja monitorado ou não.

Por que não é só "mais um SaaS de observabilidade"

Não tem conta, não tem login, não tem plano pago, não tem endpoint de telemetria em lugar nenhum do código. O daemon (cortexd) faz bind só em 127.0.0.1, lê exclusivamente ~/.claude/projects/ (onde o próprio Claude Code já guarda tudo) e escreve num SQLite local. Se você apagar a pasta do projeto, não sobra rastro em servidor nenhum — porque nunca existiu servidor nenhum.

Como é feito

Duas partes, um binário só:

  • cortexd/ — backend em Go, sem CGO (driver SQLite é modernc.org/sqlite, puro Go, então go build funciona em qualquer máquina sem toolchain C instalada). Faz polling a cada 7 segundos: descobre repositórios novos, faz tail incremental dos arquivos de sessão (nunca reprocessa o arquivo inteiro), reconstrói o grafo de memória, detecta transição de sessão ativa↔ociosa e de link quebrado, e serve tudo via HTTP.
  • webui/ — frontend em React + TypeScript + Vite, com GSAP pras transições. O cortexd embute o build final via go:embed, então o resultado é um único executável — sem processo de frontend separado rodando em produção.

A regra de contagem de tokens é a parte mais chata de acertar: o Claude Code repete o mesmo message.id em várias linhas do NDJSON durante o streaming, cada linha com um pedaço novo de conteúdo mas o mesmo usage completo — contar direto sem agrupar por message.id duplica tudo. Isso está isolado num deduplicador próprio, testado contra dado real.

Rodando

Precisa de Go 1.22+ e Node 18+.

git clone <este-repositório>
cd claude-cortex
./scripts/build-and-install.sh

O script builda o frontend, embute no binário, instala em ~/.local/bin/cortexd e sobe o daemon. Depois é abrir http://127.0.0.1:4477.

Se quiser uma janela própria em vez de uma aba de navegador — ícone fixável na barra de tarefas, sem barra de endereço — tem um segundo script:

./scripts/launch-cortex-app.sh

Ele garante o cortexd de pé e abre o Chrome/Chromium em modo app, com perfil isolado do seu navegador normal.

Ideia de uso além do pessoal

Isso não precisa ficar só no uso individual. Um time de engenharia inteiro poderia rodar isso em cada máquina e ter, sem depender de conta nenhuma, visibilidade real de quanto Claude Code custa por pessoa, por time, por projeto — inclusive pra conversa com quem cuida do orçamento. Fica em aberto tocar a versão hospedada (agregando várias máquinas num painel único, algo que faria sentido publicado num serviço como o Vercel) como próximo passo, mas o núcleo — rodar 100% local, sem enviar nada pra fora — não é negociável.

Stack

  • Go 1.22+, modernc.org/sqlite (sem CGO)
  • SQLite (modo WAL), migração incremental via arquivos .sql versionados
  • React 19 + TypeScript + Vite
  • GSAP pra animação, ECharts pros gráficos

About

Dashboard 100% local pra monitorar uso do Claude Code em todos os repositórios da sua máquina — tokens, custo, atividade e memória, sem conta e sem nuvem.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages