MigratiegidsenVanaf Helicone
Weg van Helicone, zonder te doen alsof het eenvoudig is
Helicone is overgenomen door Mintlify en de diensten zijn in onderhoudsmodus. Als je beslist waar je heen gaat, is deze pagina de kaart concept voor concept: wat je code moet worden, wat INFRO doet dat Helicone niet deed, de vier dingen die INFRO gewoon niet heeft — en de sectie die de meeste van zulke pagina's weglaten: wanneer iemand anders het betere antwoord is.
INFRO-accounts zijn selfservice. De catalogus, de documentatie en het API-contract zijn openbaar, de gateway is uitgerold, en alles na v1 is gemarkeerd als Later. Plannen en proefperiode
Hoe het ervoor staat
Wat is aangekondigd
In maart 2026 kondigde Mintlify aan Helicone over te nemen en zei dat Helicone in onderhoudsmodus zou doorgaan, met de toevoeging dat het “nauw met elke klant zou samenwerken om een soepele migratie naar een ander platform te ondersteunen”. In oktober 2026 veranderde de homepage van Helicone in “Helicone is no longer part of Mintlify. Details to come soon.” Op de aanmeldpagina van de cloudversie staat nog steeds “Sign ups are disabled”.
Wat niet is aangekondigd
Geen afsluitdatum, geen toezegging over gegevensbewaring en tot nu toe geen uitleg over de wijziging van oktober: wie Helicone nu runt en wat dat voor de roadmap betekent. Lees dat zoals het er staat: er hoeft deze week niets te gebeuren. Het is een reden om bewust te beslissen in plaats van te haasten, en om de eigen pagina's van Helicone opnieuw te lezen voordat je dat doet.
Waarom deze pagina bestaat
Omdat het eerlijke antwoord afhangt van waarvoor je Helicone gebruikte, en de meeste pagina's die je bij deze zoekopdracht vindt, je dat niet zullen vertellen. Als je er was voor tracing, evaluaties en promptbeheer, noemt het volgende onderdeel een betere bestemming dan wij.
Deze sectie staat bewust boven de verschillen. Een groot deel van de mensen die dit lezen, gebruikte Helicone als observability- en evaluatieplatform, en voor die taak is er een product dat daar volledig omheen is gebouwd.
Langfuse beschrijft zichzelf als een open-source AI-engineeringplatform voor agentevaluatie en observability: hiërarchische tracing over LLM-aanroepen, toolaanroepen en retrievalstappen, LLM-as-a-judge en heuristische evaluators, promptbeheer met deployment en rollback, datasets en experimenten, menselijke annotatie en een playground. Het heeft een MIT-licentie met zelf hosten op Docker Compose, Kubernetes en Terraform, en werd in januari 2026 overgenomen door ClickHouse — wat het volgens ClickHouse zelf open source en zelf te hosten laat, met de clouddienst die als voorheen draait.
De reden om naar INFRO te kijken is een ander probleem in een soortgelijk jasje. Als wat je werkelijk hebt meerdere provideraccounts over meerdere teams is, uitgaven die niemand kan toewijzen totdat de factuur binnenkomt, nieuwe pogingen en fallbacks die in elke codebase anders zijn geschreven, en geen goedkeuringsstap voor welk model een service mag aanroepen — dan is dat een control-planeprobleem en geen observability-probleem, en het is het probleem waaromheen dit product is gebouwd. Veel teams hebben beide nodig, en INFRO als gateway draaien met tracing geëxporteerd naar een collector naar keuze is een redelijke vorm.
Kies Langfuse als
- Je zat bij Helicone vooral voor observability. Langfuse is dat product, bewust en diepgaand gebouwd, en het is het dichtste wat er bestaat bij een gelijkwaardige bestemming.
- Je hebt promptbeheer of evaluators nodig. INFRO heeft geen van beide, en geen datum voor een van beide. Langfuse heeft ze allebei, en evaluatie is een van de twee dingen waarmee het leidt.
- Je traceert agents, niet alleen modelaanroepen. Langfuse modelleert een traceboom over toolaanroepen en retrievalstappen. INFRO legt één verzoek tegelijk vast; een spanboom stel je zelf samen in je eigen collector.
- Je wilt zelf hosten zonder verkoopgesprek, of die optie openhouden. Langfuse heeft een MIT-licentie en iedereen kan het draaien. De plannen van INFRO zijn gehost; het draait alleen onder een enterprise-overeenkomst in je eigen infrastructuur.
Langfuse is geen partner, wederverkoper of affiliate van INFRO. We linken ernaar omdat het het eerlijke antwoord is op een vraag die deze pagina anders oneerlijk zou beantwoorden.
De objecten van Helicone naast de onze, gelezen uit hun openbare documentatie (opnieuw gecontroleerd op 24 oktober 2026) en getoetst aan wat de gateway daadwerkelijk implementeert. Vier rijen geven aan dat wij niets hebben; die zijn het eerst het lezen waard.
| Helicone | Wat het daar doet | In INFRO |
|---|---|---|
| Gatewayintegratiezelfde vorm | Richt een OpenAI-compatibele client op de basis-URL van de AI-gateway van Helicone en geef je Helicone-sleutel mee. | Dezelfde vorm: basis-URL https://api.infro.io/v1, sleutel in Authorization: Bearer. Twee regels, één per service. |
| Asynchroon loggen, buiten het verzoekpadniets | Een logger op basis van OpenLLMetry omwikkelt je provider-SDK zodat Helicone niet in het kritieke pad van je applicatie zit. | Niets equivalents. INFRO is een gateway en zit dus altijd op het pad — dat is wat het laat routeren, failoveren en een verzoek tegen een budget weigeren, en het is een echte afweging die je maakt. |
| Wiens provideraccount het verzoek bedientanders | De gateway kan toegang tot modellen leveren, en Helicone ondersteunt ook je eigen providersleutels meenemen. | Alleen die van jezelf. Je koppelt provideraccounts die je al hebt, je providers factureren je rechtstreeks tegen je eigen tarieven en INFRO neemt 0% van de modeluitgaven. |
| Aangepaste propertiesanders | Willekeurige tags verzonden als Helicone-Property-<Name>-verzoekheaders, gebruikt voor filteren en kostenanalyse. | Een metadata-object in de verzoekbody, te filteren op het verzoeklog als tag.<key>. Hetzelfde idee, andere plek — een header wordt een bodyveld, de grootste enkele wijziging in de port. |
| Tracking van eindgebruikersanders | Helicone-User-Id identificeert een eindgebruiker, met analytics per gebruiker voor betrokkenheid, retentie en tevredenheid daarop gebouwd. | metadata.user_id wordt bij elk verzoek vastgelegd en filtert het verzoeklog en de gebruiksgroepering, zodat kosten per eindgebruiker te beantwoorden zijn. Er is geen scherm met gedragsanalytics per gebruiker — geen sessieduur, terugkeerpercentage of tevredenheidsscore. |
| Sessies en traceboomstructurenanders | Helicone-Session-Id, -Path en -Name groeperen gerelateerde aanroepen in één weergave, ook niet-LLM-stappen zoals vectorquery's en toolaanroepen, met een ouder-kindstructuur uit het pad. | metadata.session_id groepeert verzoeken in het log, en spans kunnen vanuit het verzoekpad naar je eigen OpenTelemetry-collector worden gepusht. Wat INFRO niet heeft is een sessieweergave met een traceboom erin: het legt modelaanroepen vast en niet de stappen ertussen. |
| Antwoordcachinganders | Helicone-Cache-Enabled cachet complete antwoorden aan de edge, met een bucketgrootte en een cache-seed. | Een responscache met exacte overeenkomst voor chat completions, standaard uit en per organisatie of project in te schakelen. Een identiek verzoek binnen de time-to-live wordt uit de cache beantwoord en bereikt je provider nooit, dus je provider factureert het niet. De besturing is een cache-bodyveld of X-INFRO-Cache-headers; een cache-seed wordt X-INFRO-Cache-Namespace. Er is geen bucket met meerdere opgeslagen antwoorden en geen semantische matching (op vergelijkbare prompts). De documentatiepagina is /docs/features/caching. |
| Aangepaste ratelimietenanders | Helicone-RateLimit-Policy stelt een quotum per venster in, in verzoeken of in kosten, globaal gesegmenteerd, per gebruiker of per aangepaste property. | Tiers voor verzoektempo per sleutel, gerapporteerd als X-RateLimit-Limit, plus budgetten op organisatie, project, lid en sleutel die verkeer bij het plafond weigeren met 402 budget_exceeded. Kostenplafonds worden goed overgenomen; een limiet gesegmenteerd per eindgebruiker of per willekeurige property niet. |
| Promptbeheerniets | Prompts die buiten de codebase worden beheerd, met versies vergeleken tegen productieverkeer. | Niets, en niets gepland dat we durven te noemen. Prompts blijven in je repository, of in een tool die dit goed doet — Langfuse doet dat. |
| Evaluators en experimentenniets | LLM-as-a-judge en eigen evaluators die de kwaliteit van output scoren, met vergelijking van prompts naast elkaar. In de documentatie van Helicone staat een deprecation-melding bij de functie Experiments. | Niets. INFRO scoort geen modeloutput en heeft geen mening over of een antwoord goed was. |
| Webhooksanders | Ondertekende webhooks worden afgevuurd bij voltooiing van een verzoek, met verzoek- en antwoordbodies, kosten, tokens en latentie. | Ondertekende webhooks, maar alleen voor asynchrone mediajobs — job.succeeded, job.failed, job.canceled. Er is geen hook per voltooid verzoek; het verzoeklog en GET /v1/requests zijn hoe je afgerond verkeer leest. |
| Kosten per verzoekanders | Kosten per verzoek berekend en samengevoegd per property, gebruiker en model. | Een schatting van wat je provider zal factureren, in het antwoord als usage.cost, met usage.price_source die zegt of het uit je onderhandelde tarief kwam, je tarief voor dat model of het lijsttarief van de leverancier — en afwezig in plaats van geraden als geen tarief bekend is. |
| Fallbacks en routering over meerdere providerszelfde vorm | Providerfallback via de gateway. | Benoemde routes met doelen op prioriteit of gewicht over je eigen verbindingen. Een doel dat een time-out geeft of 5xx'et voordat het antwoord begint, wordt elders opnieuw geprobeerd; zodra er bytes stromen, komt de fout naar boven in plaats van opnieuw te worden gerouteerd. |
| Modelbeleidanders | Geen gedocumenteerd Helicone-concept op de pagina's die we lazen; de dichtstbijzijnde controle is een ratelimiet. | Een allowlist op organisatie, project of sleutel. De smalste scope wint en alles daarbuiten wordt geweigerd voordat het iets kost. |
| Historische dataniets | Verzoeken, properties, sessies en scores die al in Helicone staan. | Geen importer, en er is er geen gepland. Niets wat je daar hebt gelogd, verschijnt hier. Exporteer het uit Helicone en bewaar het ergens waar je zelf de controle hebt voordat je stopt met sturen. |
| Open source en zelf hostenanders | Het platform van Helicone is open source en kan zelf worden gedraaid. | De gateway is niet open source. De plannen zijn gehost; een zelf gehoste of hybride deployment komt alleen met een enterprise-overeenkomst. Als je hem zonder zo'n overeenkomst zelf moet draaien, stop dan hier.Enterprise — Beschikbaar via een enterprise-overeenkomst, niet via selfservice. |
Onze lezing van de gepubliceerde documentatie van Helicone, geen proefperiode of benchmark. Hun documentatie verhuisde tijdens de overgang en sommige featurepagina's zijn niet meer te vinden waar ze stonden; waar we iets niet konden bevestigen, zegt de rij dat in plaats van te gokken. Elke bron en de datum waarop we die openden, staat onderaan deze pagina.
Twee regels voor de verbinding. Het werk zit in de annotaties: Helicone draagt ze als requestheaders, INFRO draagt ze in de request body, dus overal waar je een header zet, moet je iets aanpassen.
Voor · Helicone-gateway
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);Na · 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);De basis-URL en de sleutel
https://api.infro.io/v1, met de sleutel in de standaard Authorization: Bearer-header — dus het zijn de argumenten baseURL en apiKey die je client al heeft. Als je code nog naar de oudere proxyhost per provider van Helicone wijst en een aparte Helicone-Auth-header meestuurt, verdwijnt die header helemaal; INFRO gebruikt er geen.
De model-ID
Modellen worden aangesproken als vendor/model, bijvoorbeeld anthropic/claude-opus-5. GET /v1/models toont wat je sleutel werkelijk kan aanroepen, en dat is wat je eigen gekoppelde provideraccounts aanbieden — een model dat door geen enkele verbinding wordt gedekt, geeft 503 no_provider_connected terug met de provider die je moet koppelen.
De annotaties
Helicone-User-Id wordt metadata.user_id, Helicone-Session-Id wordt metadata.session_id, en elke Helicone-Property-X wordt een sleutel onder metadata.tags, waarop je in het verzoeklog filtert als tag.x. In TypeScript is het eigen metadata-type van OpenAI een platte string-map, dus het geneste tags-object heeft een cast nodig; extra_body in Python neemt het aan zoals het is.
Eén ding om te proberen voordat je je vastlegt: de asynchrone integratie van Helicone omhult je providerclient in plaats van op het netwerkpad te zitten, dus in principe blijft die loggen terwijl de basis-URL hierheen wijst. We hebben die combinatie niet getest en kunnen het niet beloven — draai het eerst op één service en lees aan deze kant GET /v1/requests om te controleren of beide het eens zijn over wat er gebeurde.
Vier dingen, die allemaal voortkomen uit het feit dat dit een gateway is die op je eigen provideraccounts draait, en geen logger die ernaar kijkt.
- Het account dat het verzoek bediende is het jouwe, en het wordt genoemd
- Elk antwoord draagt
provider— het providertype wiens account het uitvoerde — enconnection, het ID van de gebruikte verbinding, naastrouteenroute_namewanneer een route het oploste. Er is geen pool achter de gateway en geen marge op het verkeer: je provider factureert je tegen je eigen tarieven, en INFRO rekent een abonnement voor de laag. - Kosten zijn een schatting die zegt waar ze vandaan komen
usage.costis een schatting van de rekening van je provider voor dat verzoek, enusage.price_sourcezegt hoe het is bepaald —custom_providervoor je onderhandelde tarief bij de provider die het bediende,customvoor je tarief voor dat model,listvoor het gepubliceerde tarief van de leverancier. Als geen tarief bekend is, wordt het verzoek vastgelegd als zonder prijs in plaats van als nul, omdat een nul in een kostenkolom een bewering is en een afwezigheid een feit.- Een budget kan een verzoek weigeren
- Plafonds op organisatie, project, lid en sleutel, met meldingsdrempels die je instelt. Bij het plafond geeft de gateway
402 budget_exceededterug in plaats van je achteraf te mailen over de overschrijding — en dat is het verschil tussen een budget en een rapport. - De schattingen worden gecontroleerd tegen de eigen facturering van de provider
- Een dagelijkse run leest de kosten-API's van OpenAI en Anthropic met een aparte admin-credential en slaat het gerapporteerde bedrag naast wat INFRO schatte op, zodat je een verschil ziet en geen getal dat je op vertrouwen moet aannemen. Alleen die twee providers hebben een adapter; een provider zonder adapter toont geen verschil in plaats van een verschil van nul, en Bedrock, Vertex en Azure houden hun kosten in het factureringssysteem van de omringende cloud.
Wat niet meekomt
Er is geen importtool. Niets wat je in Helicone hebt gelogd, verschijnt in INFRO, en niets hier haalt het voor je op. Exporteer wat je nodig hebt zolang hun dienst nog draait.
- Je verzoekgeschiedenis. Er is geen importer en er is er geen gepland. Exporteer wat je nodig hebt eerst uit Helicone; niets in INFRO haalt het achteraf op.
- Aangepaste properties, sessies en gebruikers-ID's die al zijn vastgelegd. Annotaties beginnen bij het eerste verzoek dat je hier stuurt.
- Gecachete antwoorden. Items in de cache van een ander product verhuizen niet; de cache van INFRO begint leeg en vult zich met je eigen verkeer, en matcht alleen exacte verzoeken, nooit vergelijkbare.
- Prompts en evaluatorscores. Er is geen plek waar ze kunnen landen.
- Een Helicone-deployment die je zelf draaide. De plannen van INFRO zijn gehost; INFRO in je eigen infrastructuur draaien is een enterprise-overeenkomst en geen migratiestap.
Als de control plane het deel is dat je wilt
Lees eerst het API-contract — het is volledig gepubliceerd, inclusief de delen die nog niet bestaan, zodat je kunt beslissen voordat je iets schrijft. Vertel ons daarna wat je draait, en we zeggen je eerlijk of deze overstap de moeite waard is.
Bronnen
Elke uitspraak op deze pagina over Helicone of Langfuse komt uit een van deze bronnen, met de datum waarop we die lazen. Niets is afgeleid uit een proefperiode, een benchmark of een gesprek.
- Helicone — homepage (“Helicone is no longer part of Mintlify”)gelezen 24 okt 2026
- Helicone — sign-up page (“Sign ups are disabled”)gelezen 24 okt 2026
- Helicone — “Helicone is joining Mintlify”gelezen 20 sep 2026
- Mintlify — “Mintlify acquires Helicone”gelezen 24 okt 2026
- Helicone docs — Quickstartgelezen 24 okt 2026
- Helicone docs — Async logging (OpenLLMetry)gelezen 20 sep 2026
- Helicone docs — Custom propertiesgelezen 24 okt 2026
- Helicone docs — Sessionsgelezen 24 okt 2026
- Helicone docs — User metricsgelezen 24 okt 2026
- Helicone docs — Cachinggelezen 24 okt 2026
- Helicone docs — Custom rate limitsgelezen 24 okt 2026
- Helicone docs — Webhooksgelezen 20 sep 2026
- Helicone docs — Experiments (deprecation notice)gelezen 20 sep 2026
- Langfuse — product overviewgelezen 20 sep 2026
- ClickHouse — “ClickHouse welcomes Langfuse”gelezen 20 sep 2026