Rastreio

Cada pedido que um espaço de trabalho faz — tráfego do agente para fornecedores de LLM, transferências de pacotes, chamadas de API à sua infraestrutura — passa pelo proxy do lado do anfitrião do Bromure Agentic Coding. O painel Rastreio controla quanto desse tráfego o proxy regista para este espaço de trabalho, desde absolutamente nada até corpos completos de pedidos e respostas. Tudo o que é registado permanece no seu Mac, encriptado em repouso, e pode ser consultado no Inspetor de Rastreios ou a partir da linha de comandos bromure-cli trace.

O painel Rastreio do editor de definições do espaço de trabalho, mostrando o seletor de rastreio de sessão definido como Detalhes de pedidos de IA

O rastreio é configurado por espaço de trabalho: um espaço de trabalho de rascunho pode funcionar em silêncio enquanto um voltado para produção regista cada troca de IA. Esta página documenta o painel de definições; o nível de rastreio, a janela do Inspetor de Rastreios, as transcrições de WebSocket e a CLI de rastreio são abordados em detalhe no capítulo Rastreio.

Rastreio de sessão

O seletor Rastreio de sessão seleciona um de quatro níveis de registo:

NívelO que é registado
DesligadoNada.
Apenas atividadeUm registo de metadados por pedido: data/hora, anfitrião, método, caminho, estado, tamanhos do pedido e da resposta, latência, o relatório de troca de tokens e os avisos de fuga de credenciais. Sem corpos.
Detalhes de pedidos de IATudo o que consta em Apenas atividade, mais os corpos completos de pedidos e respostas para anfitriões de LLM conhecidos: Anthropic, OpenAI/ChatGPT, Google, Cohere, Mistral, Perplexity, x.ai/Grok, Groq, Replicate, HuggingFace e o anfitrião de inferência local quando um espaço de trabalho encaminha para um modelo local.
TudoCorpos para todos os anfitriões, não apenas para fornecedores de LLM. Consome disco mais rapidamente; limitado a 100 MB de corpos por sessão e 5 GB no total.

Os novos espaços de trabalho têm por predefinição Detalhes de pedidos de IA (através do modelo de preferências), pelo que as conversas do agente são auditáveis logo de origem. Os espaços de trabalho criados antes de esta definição existir são descodificados como Desligado.

Dica: Apenas atividade é uma boa opção quando quer o registo de auditoria — que anfitriões foram contactados, se as credenciais foram trocadas ou sofreram fuga — sem armazenar o texto dos prompts ou das respostas em disco.

Como os dados de rastreio são armazenados

Os metadados são acrescentados como uma linha JSON por pedido em ~/Library/Application Support/BromureAC/traces/YYYY-MM-DD/<sessionID>.jsonl. Os corpos capturados são armazenados um nível mais abaixo, num subdiretório por sessão, como traces/YYYY-MM-DD/<sessionID>/<recordID>.req.enc / <recordID>.res.enc, encriptados com AES-GCM com a mesma chave-mestra guardada no Keychain que protege os segredos do espaço de trabalho, com permissões de ficheiro 0600.

Antes de qualquer coisa ser escrita:

  • Os cabeçalhos sensíveis (Authorization, Proxy-Authorization, Cookie, Set-Cookie, x-amz-security-token, api-key e qualquer cabeçalho terminado em -api-key) são reescritos como <redacted>.
  • As trocas de tokens e as suspeitas de fuga são registadas apenas como pré-visualizações dos primeiros/últimos carateres — os bytes reais do segredo nunca entram num registo de rastreio.

A retenção é automática: os corpos por sessão estão limitados a 100 MB (os ficheiros de corpo mais antigos são removidos; as linhas de metadados são mantidas) e todo o diretório de rastreios está limitado a 5 GB (os diretórios de dias mais antigos são eliminados primeiro).

Aviso: Nos níveis Detalhes de pedidos de IA e Tudo, o texto completo dos prompts e das respostas das trocas de IA está em disco — encriptado, mas presente. Se a chave-mestra do cofre for alguma vez rodada, os corpos capturados anteriormente já não poderão ser desencriptados; o inspetor mostra então "(não capturado / falha na desencriptação)".

Modo privado

O interruptor Modo privado aparece apenas em Macs inscritos com um espaço de trabalho bromure.io. Quando ativado, as sessões deste espaço de trabalho deixam de transmitir metadados de sessão — ferramentas usadas, ficheiros tocados, comandos executados, utilização de tokens — para o espaço de trabalho bromure.io inscrito. O rastreio local e o Inspetor de Rastreios não são afetados.

Isto é útil quando trabalha com uma chave de API pessoal num espaço de trabalho e não quer que essa atividade fique visível para os administradores da sua organização. Em Macs não inscritos, o interruptor está oculto (não há nada a ser transmitido), razão pela qual não aparece na captura de ecrã acima. Consulte o capítulo Empresarial para saber o que as instalações inscritas transmitem.

Predefinição: desligado.

Troca de token de subscrição

Quando um agente se autentica com Subscrição (início de sessão interativo), o proxy propõe manter os tokens OAuth reais do Claude ou do Codex no anfitrião e servir tokens falsos dentro da VM — o mesmo modelo de troca de tokens falso-para-real usado para as chaves de API. Da primeira vez que isto acontece num espaço de trabalho, o proxy pede consentimento.

Depois de esse pedido ter sido respondido, aparecem uma ou duas linhas de estado na parte inferior do painel Rastreio:

  • Troca de token de subscrição do Claude — estado dos tokens OAuth do Claude.
  • Troca de token de subscrição do Codex — estado dos tokens OAuth do Codex / ChatGPT, geridos de forma independente para que um espaço de trabalho que usa ambos os agentes possa decidir por fornecedor.

Cada linha mostra Ativo ("o proxy está a manter os tokens OAuth reais neste Mac e a servir tokens falsos dentro da VM") ou Recusado, juntamente com um controlo de reposição: Esquecer troca (voltar a perguntar na próxima sessão) quando ativo, ou Reativar pedido quando recusado. A reposição devolve o estado a indefinido, e o proxy volta a perguntar na sessão seguinte.

Até o proxy ter perguntado pelo menos uma vez, as linhas ficam totalmente ocultas.

Ver o que foi registado

  • Inspetor de Rastreios — abra-o a partir do menu Janela (Inspetor de Rastreios…, ⇧⌘I). Mostra uma lista ao vivo e filtrável de cada troca registada em todos os espaços de trabalho, com distintivos de fuga e de troca, e apresenta as trocas de IA capturadas como uma conversa interpretada.
  • Linha de comandos — com a aplicação em execução, bromure-cli trace ls, trace summary, trace hostnames, trace leaks e trace clear fornecem os mesmos dados no terminal.

Ambos estão documentados no capítulo Rastreio.

Referência de definições

DefiniçãoTipoPredefinição
Rastreio de sessãoSeletor: Desligado / Apenas atividade / Detalhes de pedidos de IA / TudoDetalhes de pedidos de IA para novos espaços de trabalho; Desligado para perfis anteriores à definição
Modo privadoInterruptor (apenas em Macs inscritos)Desligado
Troca de token de subscrição do ClaudeLinha de estado + botão de reposição (mostrada apenas depois de o proxy ter perguntado)Indefinido (oculto)
Troca de token de subscrição do CodexLinha de estado + botão de reposição (mostrada apenas depois de o proxy ter perguntado)Indefinido (oculto)