Sobre o projeto

cctrace é um proxy local de interceptação TLS, sem configuração, que fica entre agentes de codificação (Claude Code, OpenAI Codex CLI, Grok CLI, Kimi Code CLI e opencode) e suas respectivas APIs, capturando cada chamada HTTP em tempo real. Diferente de proxies de URL base que só veem o endpoint de chat, o cctrace intercepta na camada de transporte, alcançando fluxos OAuth, endpoints de uso/crédito, chamadas de registro MCP, solicitações de bootstrap e telemetria que uma simples reescrita de URL não observa. A ferramenta gera automaticamente um certificado CA e configura o agente para rotear através dele via HTTPS_PROXY, sem exigir configuração manual. Hosts de primeira parte são descriptografados e totalmente capturados; hosts externos (npm, GitHub, apt) passam como túneis opacos contados por bytes, mantendo os rastros enxutos. A interface web ao vivo fornece visualizações de solicitações categorizadas com chips de filtro, streams SSE decodificados, vereditos de esforço de raciocínio e cache de prompt, latência do primeiro token e custo estimado por solicitação. As sessões são reconstruídas da forma como os humanos as contam, com uma barra de trajetória mostrando faixas ao longo do tempo, linhas de ferramentas nomeando arquivos tocados, ramificações de subagentes, épocas de modelo e limites de compactação. O replay de sessão reproduz ou executa qualquer sessão capturada, com acompanhamento ao vivo durante execuções ativas. Uma visualização de Contexto mostra a janela do agente ao longo do tempo com uma visão geral interativa: colunas empilhadas por solicitação de rede coloridas por seis categorias de contexto, marcadores de compactação e divisões de tempo de parede. A seleção pode ser lida de três maneiras: como um gráfico de contexto (decomposição em icicle), como um fluxo linear de registros ou como uma linha do tempo de eventos de injeções e compactações. O rastreamento de custos mostra para onde vai a cota, com divisões de leitura/gravação/entrada/saída de cache, identifica falhas de cache com causas (TTL expirado, mudanças de prefixo, novas tentativas 529) e exibe a cota da conta conforme consultada pelo cliente. O comando insights agrega entre execuções por dia, projeto e cliente, com varredura profunda opcional para divisões de cache e porcentagens de cota. O comando doctor diagnostica a janela de solicitações mais recente de uma sessão, identificando esquemas de ferramentas não utilizados, injeções recorrentes de harness, conteúdo duplicado e ineficiências de cache com alavancas acionáveis. Os rastros são salvos como arquivos .jsonl (arquivados em .jsonl.zst), reabertos a qualquer momento com cctrace view e exportáveis como transcrições markdown ou snapshots HTML offline. Um painel entre projetos mostra todas as execuções ao vivo e concluídas com visualizações de sessão em um clique, controles de parada e gerenciamento de armazenamento. As credenciais são redigidas de cabeçalhos, corpos e URLs antes de qualquer coisa chegar ao disco. Os rastros ficam fora da árvore do projeto em ~/.local/share/cctrace/. A ferramenta requer Bun, openssl e o CLI alvo, e está disponível via npm ou como binário compilado autônomo.