Guias de migraçãoVindo do Helicone
Saindo do Helicone, sem fingir que é simples
A Helicone foi adquirida pela Mintlify e os seus serviços estão em modo de manutenção. Se você está decidindo para onde ir, esta página é o mapa conceito por conceito: o que o seu código precisa virar, o que o INFRO faz e a Helicone não fazia, as quatro coisas que o INFRO simplesmente não tem — e a seção que a maioria dessas páginas deixa de fora: quando outra opção é a melhor resposta.
As contas do INFRO são self-service. O catálogo, a documentação e o contrato da API são públicos, o gateway está implantado, e tudo o que vai além da v1 está marcado para depois. Planos e teste
Situação atual
O que foi anunciado
Em março de 2026, a Mintlify anunciou a aquisição do Helicone e disse que ele continuaria em modo de manutenção, acrescentando que "trabalharia de perto com cada cliente para apoiar uma migração tranquila para outra plataforma". Em outubro de 2026, a página inicial do Helicone passou a dizer "O Helicone não faz mais parte da Mintlify. Mais detalhes em breve." A página de cadastro da nuvem ainda diz "Os cadastros estão desativados".
O que não foi anunciado
Sem data de desligamento, sem compromisso de retenção de dados e, até agora, sem explicação para a mudança de outubro: quem administra o Helicone agora e o que isso significa para o roadmap dele. Leia isso como está escrito: nada aqui precisa ser feito esta semana. É um motivo para decidir com calma, sem pressa, e para reler as próprias páginas do Helicone antes de decidir.
Por que esta página existe
Porque a resposta honesta depende do que você usava o Helicone para fazer, e a maioria das páginas que você encontrará nesta busca não vai dizer isso. Se você estava lá por tracing, avaliações e gerenciamento de prompts, a próxima seção indica um destino melhor que nós.
Esta seção está acima das diferenças de propósito. Boa parte de quem está lendo isto usava a Helicone como plataforma de observabilidade e avaliação, e para esse trabalho existe um produto construído exatamente em torno dele.
O Langfuse se descreve como uma plataforma open source de engenharia de IA para avaliação e observabilidade de agentes: tracing hierárquico entre chamadas de LLM, invocações de ferramentas e etapas de recuperação, LLM-as-a-judge e avaliadores heurísticos, gerenciamento de prompts com deploy e rollback, datasets e experimentos, anotação humana e um playground. É licenciado sob MIT, com auto-hospedagem em Docker Compose, Kubernetes e Terraform, e foi adquirido pela ClickHouse em janeiro de 2026 — o que, segundo a própria ClickHouse, o mantém open source e auto-hospedável, com o serviço em nuvem funcionando como antes.
O motivo para olhar o INFRO é um problema diferente com roupa parecida. Se o que você realmente tem são várias contas de provedor em várias equipes, gasto que ninguém consegue atribuir até a fatura chegar, novas tentativas e fallbacks escritos de forma diferente em cada base de código e nenhuma etapa de aprovação sobre qual modelo um serviço pode chamar — isso é um problema de plano de controle, não de observabilidade, e é o problema em torno do qual este produto foi construído. Muitas equipes precisam dos dois, e rodar o INFRO como gateway com tracing exportado para um collector à sua escolha é um formato razoável.
Escolha o Langfuse quando
- Você estava no Helicone principalmente por observabilidade. O Langfuse é esse produto, construído de propósito e em profundidade, e é o mais próximo de um destino equivalente que existe.
- Você precisa de gerenciamento de prompts ou de avaliadores. O INFRO não tem nenhum dos dois, nem data para isso. O Langfuse tem os dois, e a avaliação é uma das duas coisas que ele põe em primeiro plano.
- Você rastreia agentes, não apenas chamadas de modelo. O Langfuse modela uma árvore de trace que abrange chamadas de ferramentas e etapas de recuperação. O INFRO registra uma requisição por vez; uma árvore de spans é algo que você monta no seu próprio collector.
- Você quer auto-hospedar sem conversa com vendas, ou manter essa opção em aberto. O Langfuse é licenciado sob MIT e qualquer pessoa pode rodá-lo. Os planos do INFRO são hospedados; ele só roda na sua própria infraestrutura mediante um contrato enterprise.
O Langfuse não é parceiro, revendedor nem afiliado do INFRO. Colocamos o link porque ele é a resposta honesta a uma pergunta que esta página, de outra forma, estaria respondendo de forma desonesta.
Os objetos do Helicone comparados aos nossos, lidos na documentação pública deles (revisada novamente em 24 de outubro de 2026) e conferidos com o que o gateway realmente implementa. Quatro linhas dizem que não temos nada; essas são as que vale ler primeiro.
| Helicone | O que faz lá | No INFRO |
|---|---|---|
| Integração com gatewaymesmo formato | Aponte um cliente compatível com OpenAI para a URL base do gateway de IA do Helicone e passe a sua chave do Helicone. | O mesmo formato: URL base https://api.infro.io/v1, chave em Authorization: Bearer. Duas linhas, uma por serviço. |
| Logging assíncrono, fora do caminho da requisiçãonada | Um logger baseado em OpenLLMetry envolve o SDK do seu provedor, de modo que o Helicone não fica no caminho crítico da sua aplicação. | Nada equivalente. O INFRO é um gateway, então está sempre no caminho — é isso que o permite rotear, fazer failover e recusar uma requisição contra um orçamento, e é uma troca real que você está fazendo. |
| De quem é a conta de provedor que atende a requisiçãodiferente | O gateway pode fornecer acesso a modelos, e o Helicone também aceita trazer as suas próprias chaves de provedor. | Somente as suas. Você conecta contas de provedor que já tem, seus provedores faturam você diretamente nas suas próprias tarifas e o INFRO fica com 0% do gasto com modelos. |
| Propriedades personalizadasdiferente | Tags arbitrárias enviadas como headers de requisição Helicone-Property-<Name>, usadas para filtragem e análise de custos. | Um objeto metadata no corpo da requisição, filtrável no log de requisições como tag.<key>. A mesma ideia, em outro lugar — um header vira um campo do corpo, que é a maior edição isolada da migração. |
| Acompanhamento de usuários finaisdiferente | Helicone-User-Id identifica um usuário final, com análises de engajamento, retenção e satisfação por usuário construídas sobre ele. | metadata.user_id é registrado em cada requisição e filtra o log de requisições e o agrupamento de uso, então o custo por usuário final pode ser respondido. Não há tela de análise comportamental por usuário — sem duração de sessão, taxa de retorno ou pontuação de satisfação. |
| Sessões e árvores de tracediferente | Helicone-Session-Id, -Path e -Name agrupam chamadas relacionadas em uma única visão, inclusive etapas que não são de LLM, como consultas vetoriais e chamadas de ferramentas, com estrutura pai/filho a partir do path. | metadata.session_id agrupa requisições no log, e spans podem ser enviados ao seu próprio collector OpenTelemetry a partir do caminho da requisição. O que o INFRO não tem é uma visão de sessão com uma árvore de trace: ele registra chamadas de modelo, não as etapas entre elas. |
| Cache de respostasdiferente | Helicone-Cache-Enabled coloca respostas completas em cache na borda, com um tamanho de bucket e uma seed de cache. | Um cache de respostas por correspondência exata para chat completions, desativado por padrão e ativado por organização ou projeto. Uma requisição idêntica dentro do tempo de vida é respondida pelo cache e nunca chega ao seu provedor, então o seu provedor não a cobra. O controle é um campo cache no corpo ou headers X-INFRO-Cache; uma seed de cache vira X-INFRO-Cache-Namespace. Não há bucket com várias respostas armazenadas nem correspondência semântica (de prompts parecidos). A página de documentação é /docs/features/caching. |
| Limites de taxa personalizadosdiferente | Helicone-RateLimit-Policy define uma cota por janela, em requisições ou em custo, segmentada globalmente, por usuário ou por propriedade personalizada. | Faixas de taxa de requisições por chave informadas como X-RateLimit-Limit, além de orçamentos na organização, no projeto, no membro e na chave que recusam tráfego no teto com 402 budget_exceeded. Os tetos de custo correspondem bem; um limite segmentado por usuário final ou por uma propriedade arbitrária, não. |
| Gerenciamento de promptsnada | Prompts gerenciados fora da base de código, com versões comparadas ao tráfego de produção. | Nada, e nada planejado que possamos citar. Os prompts ficam no seu repositório, ou em uma ferramenta que faz isso direito — o Langfuse faz. |
| Avaliadores e experimentosnada | LLM-as-a-judge e avaliadores personalizados que pontuam a qualidade da saída, com comparação de prompts lado a lado. A documentação do Helicone traz um aviso de descontinuação no recurso Experiments. | Nada. O INFRO não pontua a saída dos modelos e não tem opinião sobre se uma resposta foi boa. |
| Webhooksdiferente | Webhooks assinados disparam na conclusão da requisição, com corpos de requisição e resposta, custo, tokens e latência. | Webhooks assinados, mas apenas para jobs de mídia assíncronos — job.succeeded, job.failed, job.canceled. Não há hook de conclusão por requisição; o log de requisições e GET /v1/requests são como você lê o tráfego concluído. |
| Custo por requisiçãodiferente | Custo calculado por requisição e consolidado por propriedade, usuário e modelo. | Uma estimativa do que o seu provedor vai cobrar, na resposta como usage.cost, com usage.price_source dizendo se veio da sua tarifa negociada, da sua tarifa para aquele modelo ou da tarifa de tabela do fornecedor — e ausente, em vez de chutada, quando nenhuma tarifa é conhecida. |
| Fallbacks e roteamento entre vários provedoresmesmo formato | Fallback de provedor pelo gateway. | Rotas nomeadas com destinos por prioridade ou ponderados sobre as suas próprias conexões. Um destino que dá timeout ou responde 5xx antes de a resposta começar é tentado de novo em outro lugar; quando os bytes já estão fluindo, o erro aparece em vez de ser reroteado. |
| Política de modelosdiferente | Não é um conceito documentado do Helicone nas páginas que lemos; o controle mais próximo é um limite de taxa. | Uma lista de permissões na organização, no projeto ou na chave. O escopo mais restrito vence e tudo fora dele é recusado antes de custar qualquer coisa. |
| Dados históricosnada | Requisições, propriedades, sessões e pontuações que já estão no Helicone. | Sem importador, e nenhum planejado. Nada do que você registrou lá aparece aqui. Exporte do Helicone e guarde em algum lugar que você controle antes de parar de enviar. |
| Open source e auto-hospedagemdiferente | A plataforma do Helicone é open source e pode ser executada por você mesmo. | O gateway não é open source. Os planos dele são hospedados; uma implantação auto-hospedada ou híbrida vem apenas com um contrato enterprise. Se você precisa rodá-lo por conta própria sem um, pare aqui.Enterprise — Disponível em um contrato enterprise, não em self-service. |
Nossa leitura da documentação publicada da Helicone, não um teste nem um benchmark. A documentação deles mudou durante a transição e algumas páginas de recursos não abrem mais onde abriam; quando não conseguimos confirmar algo, a linha diz isso em vez de supor. Todas as fontes e a data em que as abrimos estão listadas no rodapé desta página.
Duas linhas para a conexão. O trabalho está nas anotações: a Helicone as leva em cabeçalhos da requisição, o INFRO as leva no corpo da requisição, então em todo lugar onde você define um cabeçalho há uma alteração.
Antes · gateway da Helicone
import OpenAI from "openai";
// Before: the OpenAI SDK through Helicone's gateway, attribution in headers.
const sessionId = "sess_42";
const client = new OpenAI({
baseURL: process.env.HELICONE_BASE_URL ?? "https://ai-gateway.helicone.ai",
apiKey: process.env.HELICONE_API_KEY,
defaultHeaders: {
"Helicone-User-Id": "user_8f21",
"Helicone-Session-Id": sessionId,
"Helicone-Property-Feature": "summarizer",
},
});
const completion = await client.chat.completions.create({
model: "gpt-5.4-mini",
messages: [{ role: "user", content: "Summarize this ticket in one line." }],
});
console.log(completion.choices[0]?.message.content);Depois · INFRO
import OpenAI from "openai";
// After: the same SDK through INFRO, on your own OpenAI account.
const sessionId = "sess_42";
const client = new OpenAI({
baseURL: process.env.INFRO_BASE_URL ?? "https://api.infro.io/v1",
apiKey: process.env.INFRO_API_KEY,
});
const completion = await client.chat.completions.create({
model: "openai/gpt-5.4-mini",
messages: [{ role: "user", content: "Summarize this ticket in one line." }],
// Attribution moves from headers into the body. Recorded on the request,
// never forwarded to the provider.
metadata: {
user_id: "user_8f21",
session_id: sessionId,
feature: "summarizer",
},
});
console.log(completion.choices[0]?.message.content);A URL base e a chave
https://api.infro.io/v1, com a chave no cabeçalho padrão Authorization: Bearer — ou seja, os argumentos baseURL e apiKey que o seu cliente já tem. Se o seu código ainda aponta para o antigo host de proxy por provedor da Helicone e leva um cabeçalho Helicone-Auth separado, esse cabeçalho sai por completo; o INFRO não usa um.
O id do modelo
Os modelos são endereçados como vendor/model, por exemplo anthropic/claude-opus-5. GET /v1/models lista o que a sua chave pode de fato chamar, que é o que as suas próprias contas de provedor conectadas servem — um modelo que nenhuma conexão cobre retorna 503 no_provider_connected, nomeando o provedor a conectar.
As anotações
Helicone-User-Id vira metadata.user_id, Helicone-Session-Id vira metadata.session_id, e cada Helicone-Property-X vira uma chave em metadata.tags, filtrada no log de requisições como tag.x. Em TypeScript, o tipo metadata da própria OpenAI é um mapa plano de strings, então o objeto aninhado tags precisa de um cast; o extra_body do Python o aceita como está.
Uma coisa que vale testar antes de se comprometer: a integração assíncrona da Helicone envolve o seu cliente do provedor em vez de ficar no caminho de rede, então, em princípio, ela continua registrando logs enquanto a URL base aponta para cá. Não testamos essa combinação e não podemos garantir — rode-a primeiro em um serviço e leia GET /v1/requests deste lado para verificar se os dois concordam sobre o que aconteceu.
Quatro coisas, todas decorrentes de ser um gateway que roda nas suas próprias contas de provedor, e não um logger que as observa.
- A conta que atendeu a requisição é sua, e é nomeada
- Cada resposta traz
provider— o tipo de provedor cuja conta a executou — econnection, o id da conexão usada, junto comrouteeroute_namequando uma rota a resolveu. Não há pool atrás do gateway nem margem sobre o tráfego: seu provedor fatura você nas suas próprias tarifas, e o INFRO cobra uma assinatura pela camada. - O custo é uma estimativa que diz de onde veio
usage.costé uma estimativa da fatura do seu provedor para aquela requisição, eusage.price_sourcediz como foi obtida —custom_providerpara a sua tarifa negociada no provedor que a atendeu,custompara a sua tarifa para aquele modelo,listpara a tarifa publicada pelo fornecedor. Quando nenhuma tarifa é conhecida, a requisição é registrada sem preço em vez de zero, porque um zero em uma coluna de custo é uma afirmação e uma ausência é um fato.- Um orçamento pode recusar uma requisição
- Tetos na organização, no projeto, no membro e na chave, com limiares de alerta que você define. No limite, o gateway retorna
402 budget_exceededem vez de avisar por e-mail sobre o estouro depois — que é a diferença entre um orçamento e um relatório. - As estimativas são conferidas com a cobrança do próprio provedor
- Uma passagem diária lê as APIs de custo da OpenAI e da Anthropic com uma credencial de administrador separada e armazena o valor informado ao lado do que o INFRO estimou, de modo que você vê uma variação e não um número para aceitar na confiança. Apenas esses dois provedores têm adaptador; um provedor sem um não mostra variação em vez de uma variação zero, e Bedrock, Vertex e Azure mantêm o custo no sistema de cobrança da nuvem que os envolve.
O que não é levado
Não há importador. Nada do que você registrou na Helicone aparece no INFRO, e nada aqui vai buscar esses dados. Exporte o que precisar enquanto o serviço deles ainda está no ar.
- Seu histórico de requisições. Não há importador, nem plano para um. Exporte do Helicone o que precisar antes; nada no INFRO vai buscá-lo de volta.
- Propriedades personalizadas, sessões e ids de usuário já registrados. As anotações começam na primeira requisição que você enviar aqui.
- Respostas em cache. As entradas do cache de outro produto não migram; o cache do INFRO começa vazio e se enche com o seu próprio tráfego, e corresponde apenas a requisições exatas, nunca a parecidas.
- Prompts e pontuações de avaliadores. Não há onde pousar.
- Um deployment do Helicone que você operava por conta própria. Os planos do INFRO são hospedados; rodar o INFRO na sua própria infraestrutura é um contrato enterprise, não uma etapa da migração.
Se o plano de controle é a parte que você quer
Leia primeiro o contrato da API — ele está publicado na íntegra, inclusive as partes que ainda não existem, para você decidir antes de escrever qualquer coisa. Depois conte o que você está rodando e diremos honestamente se vale a pena fazer essa migração.
Fontes
Cada afirmação desta página sobre a Helicone ou o Langfuse vem de uma destas fontes, com a data em que a lemos. Nada é inferido de um teste, de um benchmark ou de uma conversa.
- Helicone — homepage (“Helicone is no longer part of Mintlify”)lido em 24 de out. de 2026
- Helicone — sign-up page (“Sign ups are disabled”)lido em 24 de out. de 2026
- Helicone — “Helicone is joining Mintlify”lido em 20 de set. de 2026
- Mintlify — “Mintlify acquires Helicone”lido em 24 de out. de 2026
- Helicone docs — Quickstartlido em 24 de out. de 2026
- Helicone docs — Async logging (OpenLLMetry)lido em 20 de set. de 2026
- Helicone docs — Custom propertieslido em 24 de out. de 2026
- Helicone docs — Sessionslido em 24 de out. de 2026
- Helicone docs — User metricslido em 24 de out. de 2026
- Helicone docs — Cachinglido em 24 de out. de 2026
- Helicone docs — Custom rate limitslido em 24 de out. de 2026
- Helicone docs — Webhookslido em 20 de set. de 2026
- Helicone docs — Experiments (deprecation notice)lido em 20 de set. de 2026
- Langfuse — product overviewlido em 20 de set. de 2026
- ClickHouse — “ClickHouse welcomes Langfuse”lido em 20 de set. de 2026