{"id":301,"date":"2026-04-30T07:36:54","date_gmt":"2026-04-30T10:36:54","guid":{"rendered":"https:\/\/www.bernabauer.com\/blog\/?p=301"},"modified":"2026-04-30T07:36:54","modified_gmt":"2026-04-30T10:36:54","slug":"como-economizar-tokens-claude-code-token-dashboard-nate","status":"publish","type":"post","link":"https:\/\/www.bernabauer.com\/blog\/como-economizar-tokens-claude-code-token-dashboard-nate\/","title":{"rendered":"Como economizar tokens no Claude Code com o Token Dashboard do Nate"},"content":{"rendered":"<p>Se voc\u00ea j\u00e1 trabalha com o Claude Code, sabe que cada chamada consome tokens e, consequentemente, afeta o seu plano de uso ou a fatura da API. Por\u00e9m, nem sempre \u00e9 evidente onde esses tokens est\u00e3o sendo gastos. Foi pensando nisso que o desenvolvedor Nateherkai criou o <strong>Token Dashboard<\/strong>, uma ferramenta local que transforma os arquivos JSONL gerados pelo Claude Code em an\u00e1lises claras de consumo, permitindo que voc\u00ea veja exatamente onde est\u00e1 ocorrendo o desperd\u00edcio.<\/p>\n<h2>O que \u00e9 o Token Dashboard?<\/h2>\n<p>O Token Dashboard \u00e9 um projeto open\u2011source escrito em Python (stdlib only) que l\u00ea os arquivos <code>.jsonl<\/code> armazenados em <code>~\/.claude\/projects\/<\/code> e os converte em um banco SQLite local. A partir desse banco, uma interface web (servida em <code>http:\/\/127.0.0.1:8080<\/code>) exibe v\u00e1rias abas com m\u00e9tricas detalhadas:<\/p>\n<ul>\n<li><strong>Overview<\/strong>: vis\u00e3o geral de tokens de entrada, sa\u00edda e cache, custo estimado, gr\u00e1ficos di\u00e1rios e por projeto.<\/li>\n<li><strong>Prompts<\/strong>: lista dos prompts mais caros, permitindo clicar para ver a resposta do assistente, as ferramentas chamadas e o tamanho de cada resultado.<\/li>\n<li><strong>Sessions<\/strong>: visualiza\u00e7\u00e3o turno a turno de uma sess\u00e3o espec\u00edfica, com tokens por turno e chamadas de ferramenta.<\/li>\n<li><strong>Projects<\/strong>: compara\u00e7\u00e3o entre projetos, mostrando quais arquivos foram mais acessados.<\/li>\n<li><strong>Skills<\/strong>: frequ\u00eancia de uso de cada skill e, quando poss\u00edvel, o custo em tokens.<\/li>\n<li><strong>Tips<\/strong>: sugest\u00f5es baseadas em regras para reduzir o consumo (leituras repetidas de arquivos, resultados de ferramentas muito grandes, baixa taxa de cache hit, etc.).<\/li>\n<li><strong>Settings<\/strong>: troca entre os planos API, Pro, Max ou Max\u201120x para que os valores de custo reflitam exatamente o seu contrato.<\/li>\n<\/ul>\n<p>Tudo isso ocorre localmente: nenhum dado deixa sua m\u00e1quina, n\u00e3o h\u00e1 telemetria nem chamadas externas. O dashboard apenas l\u00ea os arquivos j\u00e1 existentes e mant\u00e9m um cache em <code>~\/.claude\/token-dashboard.db<\/code>.<\/p>\n<h2>Como instalar e colocar em funcionamento<\/h2>\n<ol>\n<li>Clone o reposit\u00f3rio:\n<pre><code>git clone https:\/\/github.com\/nateherkai\/token-dashboard.git\r\ncd token-dashboard<\/code><\/pre>\n<li>Certifique\u2011se de ter o Python 3.8+ instalado (macOS e a maioria das distribui\u00e7\u00f5es Linux j\u00e1 v\u00eam com ele; no Windows, use <code>winget install Python.Python.3.12<\/code> ou baixe de <a href=\"https:\/\/python.org\">python.org<\/a>).<\/li>\n<li>Execute o Claude Code ao menos uma vez para que ele gere os arquivos JSONL.<\/li>\n<li>Inicie o dashboard:\n<pre><code>python3 cli.py dashboard<\/code><\/pre>\n<p>   O comando faz um escaneamento inicial (pode levar de 20 a 60 segundos em m\u00e1quinas com bastante uso), sobe um servidor local em <code>http:\/\/127.0.0.1:8080<\/code> e abre o navegador padr\u00e3o.<\/li>\n<li>Para usar apenas o cache (pular o escaneamento): <code>python3 cli.py dashboard --no-scan<\/code>.\n<li>Para mudar a porta, defina a vari\u00e1vel de ambiente <code>PORT<\/code> antes de rodar, por exemplo: <code>PORT=9000 python3 cli.py dashboard<\/code>.<\/li>\n<\/ol>\n<h2>Principais insights que voc\u00ea pode obter<\/h2>\n<h3>Identificando prompts caros<\/h3>\n<p>Na aba <strong>Prompts<\/strong> voc\u00ea v\u00ea uma lista ordenada pelo n\u00famero de tokens consumidos. Clicando em qualquer linha, o dashboard mostra:<\/p>\n<ul>\n<li>O prompt completo que voc\u00ea enviou.<\/li>\n<li>A resposta do assistente (com os trechos que foram armazenados em cache, se houver).\n<li>Cada chamada de ferramenta feita pelo agente, com o tamanho do retorno em tokens.<\/li>\n<\/ul>\n<p>Esse n\u00edvel de detalhe permite responder \u00e0 pergunta \u201cpor que esse prompt foi t\u00e3o caro?\u201d \u2013 exatamente o ponto que Nate costuma enfatizar em seus v\u00eddeos: entender o <em>porqu\u00ea<\/em> antes de aplicar qualquer t\u00e9cnica de otimiza\u00e7\u00e3o.<\/p>\n<h3>Detectando padr\u00f5es de desperd\u00edcio<\/h3>\n<p>A aba <strong>Tips<\/strong> gera sugest\u00f5es autom\u00e1ticas baseadas em regras simples, tais como:<\/p>\n<ul>\n<li>Leitura repetida do mesmo arquivo em uma sess\u00e3o (ex.: ler <code>config.json<\/code> 20 vezes).<\/li>\n<li>Resultados de ferramentas que retornam blocos de texto excessivamente grandes (por exemplo, um <code>grep<\/code> que devolve 80\u202fk tokens).<\/li>\n<li>Baixa taxa de cache hit, indicando que voc\u00ea est\u00e1 reprocessando o mesmo conte\u00fado in\u00fameras vezes.<\/li>\n<\/ul>\n<p>Cada sugest\u00e3o vem com uma breve explica\u00e7\u00e3o e, muitas vezes, um link direto para o prompt ou sess\u00e3o onde o problema ocorreu, facilitando a corre\u00e7\u00e3o.<\/p>\n<h3>Comparando projetos e skills<\/h3>\n<p>Se voc\u00ea trabalha em m\u00faltiplos reposit\u00f3rios ou experimenta diferentes abordagens, a aba <strong>Projects<\/strong> mostra o consumo total por projeto, permitindo identificar quais c\u00f3digos s\u00e3o mais \u201cgulosos\u201d em tokens. J\u00e1 a aba <strong>Skills<\/strong> revela quais habilidades (por exemplo, <code>web_search<\/code>, <code>file_read<\/code>, <code>code_edit<\/code>) voc\u00ea invoca com mais frequ\u00eancia e quanto cada uma custa em m\u00e9dia. Essa vis\u00e3o ajuda a decidir se vale a pena criar uma skill personalizada ou reutilizar um trecho de c\u00f3digo j\u00e1 em cache.<\/p>\n<h2>Dicas pr\u00e1ticas para economizar tokens no dia a dia<\/h2>\n<ul>\n<li><strong>Revise os prompts mais caros<\/strong>: use a aba Prompts para identificar os top 5 e tente reescrev\u00ea\u2011los de forma mais direta, removendo contexto desnecess\u00e1rio.<\/li>\n<li><strong>Aproveite o cache<\/strong>: sempre que poss\u00edvel, pe\u00e7a ao Claude Code para reutilizar resultados anteriores (por exemplo, ao pedir m\u00faltiplas edi\u00e7\u00f5es no mesmo arquivo, mantenha o contexto em vez de solicitar leituras novas).<\/li>\n<li><strong>Limite o tamanho das sa\u00eddas de ferramentas<\/strong>: ao usar <code>grep<\/code>, <code>ls<\/code> ou comandos similares, adicione filtros que reduzam o volume de dados retornados.<\/li>\n<li><strong>Monitore a taxa de cache hit<\/strong>: a aba Overview mostra essa m\u00e9trica; valores abaixo de 30\u202f% indicam grande oportunidade de melhoria.<\/li>\n<li><strong>Ajuste o plano nas Settings<\/strong>: se voc\u00ea est\u00e1 no plano Pro ou Max, verifique se o dashboard est\u00e1 calculando o custo com a tabela correta; isso evita surpresas na fatura.<\/li>\n<\/ul>\n<blockquote>\n<p>Como Nate costuma dizer: \u201cN\u00e3o adianta sair aplicando qualquer t\u00e9cnica sem entender como voc\u00ea est\u00e1 usando o Claude Code.\u201d O Token Dashboard \u00e9 exatamente o espelho que revela esse uso.<\/p>\n<\/blockquote>\n<h2>Conclus\u00e3o<\/h2>\n<p>O Token Dashboard do Nateherkai transforma os dados brutos do Claude Code em informa\u00e7\u00f5es acion\u00e1veis, permitindo que voc\u00ea veja, entenda e aja sobre o consumo de tokens. Ao instalar essa ferramenta local, voc\u00ea ganha controle total sobre seus custos, melhora a produtividade e ainda aprende a escrever prompts mais eficientes \u2013 tudo sem sair da sua m\u00e1quina ou compartilhar dados com terceiros.<\/p>\n<p>Pronto para colocar em pr\u00e1tica? Clone o reposit\u00f3rio, rode o dashboard e descubra onde seus tokens est\u00e3o sendo queimados. Depois, compartilhe nos coment\u00e1rios qual foi a maior economia que voc\u00ea conseguiu alcan\u00e7ar!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Descubra como o Token Dashboard do Nate ajuda a visualizar e reduzir o consumo de tokens no Claude Code, economizando custos e melhorando produtividade.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[45],"tags":[85,97,93,90,95,92,96,94,89,91],"class_list":["post-301","post","type-post","status-publish","format-standard","hentry","category-dicas","tag-claude-code","tag-custos-de-api","tag-desenvolvimento","tag-economia-de-tokens","tag-ferramentas-de-ia","tag-ia","tag-nateherkai","tag-otimiza-o","tag-produtividade","tag-token-dashboard"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts\/301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/comments?post=301"}],"version-history":[{"count":1,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts\/301\/revisions"}],"predecessor-version":[{"id":303,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts\/301\/revisions\/303"}],"wp:attachment":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/media?parent=301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/categories?post=301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/tags?post=301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}