Wäg og LiteLLM: samme API, andet lag
LiteLLM er en rigtig god AI Gateway, og hvis det, du har brug for, er multi-provider-routing bag ét endpoint, vil den blive ved med at tjene dig godt. Wäg taler det samme OpenAI-kompatible API og importerer LiteLLM-konfiguration — ikke for at erstatte en gateway med en anden gateway, men fordi de fleste teams når et punkt, hvor gatewayen ikke er det, der er belastet.
Ikke en konkurrent på samme lag
Samme OpenAI-kompatible API-flade. Samme konfiguration, importérbar.
Gratis her. Enterprise dér.
Begge projekter er open source med et kommercielt niveau. Spørgsmålet har aldrig været, om der findes en betalt udgave, men hvor hver af dem trækker grænsen. LiteLLMs Enterprise-dokumentation opregner, hvad deres licensnøgle slår til, og det meste af den liste er Apache-2.0 i Wäg. Ved flerlejerdrift er forskellen strukturel: i deres offentliggjorte databaseskema bærer en organisation et budget, forbrugssummer og en medlemsliste, og et team peger på den gennem en valgfri fremmednøgle, hvilket gør den til et grupperingsniveau over teams. I Wäg er en organisation en autorisationsgrænse, som hver forespørgsel prøves mod. Hvor vi lægger den samme funktion bag en licens, siger tabellen det.
| Funktion | LiteLLM | Wäg |
|---|---|---|
| Flerlejer-arkitektur: organisationer, teams, relationsbaseret adgang | Enterprise | Apache-2.0 |
| Rollebaseret adgangskontrol | Enterprise | Apache-2.0 |
| Budgetter under nøglen: per model, per applikation | Enterprise | Apache-2.0 |
| Guardrails per nøgle og per team | Enterprise | Apache-2.0 |
| Administrerede guardrail-motorer: moderation, scanning for hemmeligheder og prompt injection | Enterprise | Apache-2.0 |
| Integration med secret managers: Vault, Key Vault, Secrets Manager | Enterprise | Apache-2.0 |
| Drift på tværs af flere regioner | Enterprise | Apache-2.0 |
| Politik for payload-logning, per organisation, med fravalg på medlemsniveau | Enterprise | Apache-2.0 |
| Hash-kædet, signeret dokumentation af forespørgsler | Ikke nævnt | Apache-2.0 |
| Routing kun til tilladte jurisdiktioner | Ikke nævnt | Apache-2.0 |
| Rapportering af lokal modelbrug fra medarbejdernes enheder | Ikke nævnt | Apache-2.0 |
| Agentidentitet, kørsler og kørselsgrænser | Ikke nævnt | Apache-2.0 |
| Politik for værktøjskald med menneskelige godkendelser | Ikke nævnt | Apache-2.0 |
| Kontrol med datastrømme: den dødelige trio | Ikke nævnt | Apache-2.0 |
| Fastlåste MCP-værktøjer og karantæne ved ændring | Ikke nævnt | Apache-2.0 |
| Kortlivede agentoplysninger, ingen permanente nøgler | Ikke nævnt | Apache-2.0 |
| Adgangsrettigheder til viderestillede kald til tredjeparts-API'er | Enterprise | Apache-2.0 |
| En agents udgående webtrafik, per værtsregel og afgjort for hver forbindelse | Ikke nævnt | Apache-2.0 |
| Agentbetalinger: forbrugsmandater og betalingsspor | Ikke nævnt | Enterprise |
| Godkendelse af agenters værktøjskald i Slack eller Teams | Ikke nævnt | Enterprise |
| Import af agenter fra Foundry, AWS, Entra Agent ID og Gemini Enterprise | Ikke nævnt | Enterprise |
| TLS-inspektion af agenters udgående trafik | Ikke nævnt | Enterprise |
| SSO til administrationskonsollen | Enterprise | Enterprise |
| SCIM-provisionering | Enterprise | Enterprise |
| JWT og OIDC på dataplanet | Enterprise | Enterprise |
| Revisionspakker med lang opbevaring | Enterprise | Enterprise |
| Guardrails på udbyderens egen pass-through-trafik | Ikke nævnt | Enterprise |
| MCP-servere, der handler som den indloggede bruger (OAuth) | Ikke nævnt | Enterprise |
| Kundeadministrerede krypteringsnøgler, rapportering af FIPS-status | Ikke nævnt | Enterprise |
| Egen branding | Enterprise | Enterprise |
| Platformsbudgetter, som organisationer ikke kan ændre | Ikke nævnt | Enterprise |
| En skrivebeskyttet revisorrolle | Ikke nævnt | Enterprise |
| Exit-eksport: alt, hvad en organisation skal bruge for at flytte et andet sted hen | Ikke nævnt | Enterprise |
| AI-indholdsmærkning: C2PA, vandmærker, tekstfingeraftryk | Ikke nævnt | Enterprise |
| Håndhævelse på medarbejdernes enheder for lokale modeller | Ikke nævnt | Enterprise |
For retfærdighedens skyld: deres Enterprise-niveau rummer også IP-tilladelseslister og en SOC 2 Type II-rapport. Ingen af delene har vi i dag.
LiteLLM-kolonnen stammer fra deres egen Enterprise-dokumentation, som anfører, at en licensnøgle slår de anførte funktioner til. Ikke nævnt betyder, at en funktion ikke er anført på den side, hvilket ikke er det samme som umuligt. Wäg-kolonnen er den licensopdeling, gatewayen håndhæver: en Enterprise-funktion er et modul, som en signeret licens skal nævne. Agentrækkerne markeret Ikke nævnt er et Ikke nævnt af en anden slags: deres agentgateway er slet ikke en Enterprise-funktion, så de evner mangler i produktet i stedet for at være prissat ind i licensen.
Begge leverer en agentgateway. Kun den ene styrer agenten.
LiteLLM har tilføjet en A2A-agentgateway, og den gør det oplagte godt: registrere agenter, styre hvilke teams og nøgler der må nå dem, fordele omkostningen. To rækker er ægte lige. Resten er dér, hvor de to produkter holder op med at være den samme slags.
| Funktion | LiteLLM | Wäg |
|---|---|---|
| A2A-agentgateway med adgangskontrol og omkostningsfordeling per agent | Ja | Ja |
| Et nødstop, der afviser agenten ved gatewayen | Webhook til agenten | Ja |
| Grænser for en enkelt agentkørsel | Ja | Ja |
| Et værktøjskald, der venter på en navngiven godkender, med beslutningen registreret | Ikke dokumenteret | Ja |
| Strømkontrol: en kørsel, der har læst private data, må derefter ikke kalde et udgående værktøj | Ikke dokumenteret | Ja |
| MCP-værktøjsdefinitioner fastlåst og sat i karantæne, når serveren ændrer dem | Ikke dokumenteret | Ja |
| Kortlivede agentoplysninger bundet til én kørsel, uden permanente nøgler | Ikke dokumenteret | Ja |
| Hvilke destinationer en agent må nå, afgjort for hvert kald: værktøjspolitik, godkendelse, strømmærkat | Ikke dokumenteret | Ja |
| Agentens samlede udgående webtrafik gennem gatewayen, ikke kun dens model- og værktøjskald | Ikke dokumenteret | Ja |
| Agenter fundet ud fra deres trafik, ikke kun dem nogen har registreret | Ikke dokumenteret | Ja |
| Agenter importeret og holdt synkroniseret fra Foundry, AWS Agent Registry, Entra Agent ID og Gemini Enterprise | Ikke dokumenteret | Enterprise |
| Et tilbageholdt værktøjskald godkendt eller afvist i Slack eller Microsoft Teams | Ikke dokumenteret | Enterprise |
| TLS-inspektion af en agents udgående trafik, med request-regler og guardrails | Ikke dokumenteret | Enterprise |
| Agentbetalinger: forbrugsmandater, x402, AP2, ACP- og UCP-checkout | Ikke dokumenteret | Enterprise |
LiteLLM-kolonnen gengiver, hvad deres egen dokumentation og deres offentlige repository viser. Ikke dokumenteret betyder, at funktionen ikke beskrives dér, hvilket ikke er det samme som umuligt. Tre rækker fortjener detaljerne. Deres nødstop affyrer en webhook mod agentens egen runtime og lader, med deres egne ord, agenten forblive registreret og aktiveret på LiteLLM-siden; vores afviser agenten ved gatewayen, på hver replika og region, og afslutter en strøm, der allerede kører. Deres require_approval er OpenAIs felt: sat til andet end never sendes værktøjskaldet tilbage til klienten for at blive kørt — intet holdes tilbage, ingen navngives, intet registreres. Og for agentbetalinger giver en kodesøgning i deres repository efter x402 og AP2 ingenting overhovedet. For tredjeparts-API'er ligger forskellen ikke i viderestillingen. Deres pass-through-endepunkter ruter til et hvilket som helst eksternt API med en adgangsoplysning skrevet i konfigurationen, og rettigheder per nøgle og team er en Enterprise-funktion. Det, der mangler, er afgørelsen: destinationen er en statisk rute og ikke noget, en bestemt agent må eller ikke må nå; ingen regel læser kaldets argumenter, ingen godkendelse kan holde det tilbage, det bærer ingen strømmærkat, og det tæller ikke mod en kørsel.
Tilfælde hvor LiteLLM er det rigtige svar
Helt oprigtigt. Hvis du genkender din situation her, køber en control plane dig driftsflade, du ikke har brug for endnu.
- Ét team, én eller nogle få services, og du vil have multi-provider i dag.
- Du bruger import litellm inde i applikationskoden for dens in-process-routing og callbacks og værdsætter det direkte.
- Du har custom Python-callbacks i request-livscyklussen, som ville være reelt arbejde at genimplementere.
- Din provider-liste indeholder noget long-tail, som Wäg endnu ikke dækker.
- Dine governance-krav er reelt opfyldt af budgetter pr. nøgle.
Symptomerne, ikke featurelisten
- Budgetterne skal matche organisationsdiagrammet. Grænser pr. nøgle kan ikke udtrykke “dette team får 4.000 €, ingen enkelt bruger mere end 500 €, og marketings eksperimenter må ikke æde engineerings kapacitet.”
- Politik skal gælde for applikationer, der aldrig har tilmeldt sig. En regel, du kun kan håndhæve dér, hvor nogen huskede at tilføje den, er ikke en kontrol.
- Agenter gjorde fladen meget større. Én brugertur bliver til N model- og tool calls mod remote MCP-servere. Auth pr. server, tool-ACL'er og audit pr. hop holder op med at være nice-to-have.
- Nogen spurgte, hvad AI kostede pr. team sidste kvartal. Og at svare på det krævede et dataprojekt frem for et dashboard.
- Compliance kræver registreringer, ikke hensigter. Siden 2. august 2026 har håndhævelsesbeføjelserne over for GPAI og gennemsigtighedsforpligtelserne i artikel 50 i EU's AI-forordning medført en sanktionsrisiko. Logning og sporbarhed skal kunne dokumenteres.
- Gatewayen blev bærende. Når først enhver produktsti ligger bag den, er en Python-proces med en fortolker og et afhængighedstræ på deploy-tidspunktet en anden risikosamtale, end den var ved ti requests i minuttet.
Hvad der slet ikke ændrer sig
Designforpligtelser, ikke en featureoptælling
Featuretabeller bliver forældede på et kvartal. Dette er strukturelle valg, der ikke ændrer sig med en release.
| Dimension | LiteLLM | Wäg |
|---|---|---|
| Kerneabstraktion | Dispatch via provider-SDK'er bag HTTP | Inference-request: modalitet, operation, livscyklus, omkostning, politik |
| Runtime | Python | Rust — én distroless, non-root binær |
| Livscyklusser | Synkron, streaming | Synkron, streaming, holdbare async-jobs, realtime-sessioner |
| Routing | Strategivalg plus fallbacks | Strukturel scoring → hårde kapabilitetsgulve → billigste kvalificerede; forklarlig i headers |
| Caching | Exact, valgfri semantisk | Exact → canonical → near-dup → semantic, med gates mod falske hits |
| Budgetter | Pr. nøgle | Org → team → bruger → applikation → model → nøgle, stablet, med fair-share-lofter; en overskridelse afvises før provider-forbrug |
| Politik | Guardrail-hooks | Ordnet kæde: pre-call, mid-stream med vindue, post-call |
| Agent / MCP | MCP- og A2A-gateway: auth pr. server, adgang pr. nøgle og team | Plus værktøjspolitikker med navngivne godkendere, regler for datastrømme, fastlåste tools, kørselsgrænser, budget og audit pr. hop |
| Lokale modeller og modeller på enheden | Nås som provider fra proxyen | Wäg Edge på bærbare og i iOS- og Android-apps: login og rapportering som open source, håndhævelse på enheder og flådeoversigt med Enterprise |
| Identitet | Master key plus virtuelle nøgler | Plus OpenFGA-tenancy; OIDC SSO, SCIM 2.0 og IdP-tokens på /v1 med Enterprise |
| Kubernetes-livscyklus | Officielt Helm-chart; operatorer kommer fra fællesskabet | Førstepartsoperator med et OLM-bundle, der rekonsilierer gatewayen og dens katalog; også et Helm-chart |
| Udvidelsesmodel | Python-callbacks, in-process | HTTP-webhook-engines, out-of-process |
| Leverandør | Registreret i USA | Bitkaio Ltd, UK — europæisk, uden for EU |
Hvis LiteLLM gør sit arbejde, så behold den. Hvis det, der reelt er belastet, er governance frem for routing, er det et andet lag — og det er det, Wäg er bygget til.
Ét endpoint. Alle modeller. Fuld kontrol.
Kør det i jeres egen infrastruktur
Alt, hvad I skal bruge for at drive en control plane i produktion, er Apache-2.0 og bliver ved med at være det — routing, HA, caching, failover, budgetter, policy, MCP, jobs og observability. Self-hosted, ingen konto, ingen phone-home.
$ docker run -p 4000:4000 <registry>/waeg-gateway:<version>Endnu ikke et pull, der virker: images er ikke offentlige endnu. Designpartnere får registry-oplysningerne direkte.
Deploy på 5 minutterVær med til at forme det som designpartner
Wäg er endnu ikke offentligt tilgængelig. Vi arbejder sammen med en lille gruppe teams, der kører multi-provider AI i produktion og tager governance og suverænitet alvorligt, for at hærde vores control plane på reelle workloads.
- Alle Enterprise-funktioner inkluderet, uden licensomkostning
- Praktisk migrering — vi gør det sammen med jer, også fra LiteLLM
- Direkte adgang til de engineers, der bygger det, og reel indflydelse på, hvad der kommer næst