BeginnerDev + Platform Eng

Speak One Protocol. Run Any Model.

Your app keeps one SDK and one wire format. The gateway translates across the four chat-protocol families and normalizes streaming, tool calls and errors — so adding a vendor or swapping a model never touches business code.

What the community actually complains about

"We added a second vendor and now we maintain two SDK paths, two streaming parsers and two tool-call formats." "Claude Code only speaks Anthropic, so we could not put it on any other model." "Every proxy that says OpenAI-compatible breaks somewhere else."

The real cost of a model is the API call plus the code written around it. The second part never shows up on the invoice — it shows up in sprints, and it multiplies with every vendor you add.

How GateLLM does it

Four protocol families on both sides — OpenAI, Anthropic, Gemini, DashScope — translate any-to-any. An Anthropic-only client (Claude Code, claude-code-action) reaches a Qwen- or DeepSeek-native model without a client change; beyond the four families, 15 more upstream protocol shapes are covered per the interop matrix.

A capability-normalization layer handles what a protocol swap actually costs: streaming chunk shapes, tool call and tool result mapping, image and multimodal parts, and error semantics. Keys, policy and cost attribution apply the same way whichever protocol pair a request crosses.

5 levers that actually land

  • One SDK, one streaming parser, one tool-call format in the client — a new vendor is a console change
  • Anthropic-only agents can run any supported model; no fork, no adapter
  • Model swaps stay inside the gateway, so application code and its tests stay untouched
  • Native egress: each provider receives its own protocol instead of a re-translated OpenAI envelope
  • The same key, budget and policy surface across every protocol pair
Full reference: protocol interop matrix (docs)

FAQ