The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the AISIX AI Gateway listing page.
One OpenAI-compatible API in front of every model. Route, govern, secure, cache, and observe all your LLM and AI-agent traffic from a single control point — shipped as one static binary with low per-request overhead. Run it in your infrastructure for free, forever.
Built by the original creators of Apache APISIX.
Start free · Documentation · Quickstart · AISIX Cloud · Roadmap
AISIX AI Gateway is a Rust-native gateway that puts a single, OpenAI-compatible API in front of every LLM provider — OpenAI, Anthropic, Google Gemini, AWS Bedrock, Azure OpenAI, DeepSeek, and any OpenAI-compatible endpoint. It gives platform teams one place to route, govern, secure, and observe LLM traffic, with first-class SSE streaming and low gateway overhead.
It runs as a single static binary — low cold-start, lock-free config reads, and hot
configuration reloads with no restarts: declare resources in one resources.yaml and
reload on SIGHUP, or point the gateway at etcd for a multi-replica cluster. Run the
open-source gateway in your infrastructure, or connect it to
AISIX Cloud
for centralized management with team governance, budgets, audit, and a dashboard.
AISIX AI Gateway (this repo) is the open-source product. It runs without a control plane using declarative configuration or etcd. When connected to AISIX Cloud, the same gateway serves as the data plane. AISIX Cloud adds a commercial control plane, either hosted by API7 (Hybrid Cloud) or hosted by you in your infrastructure (On-Premises). In both options, the gateway runs in your environment and calls providers directly; live AI traffic does not pass through the control plane or API7. The proxy API is identical throughout. Talk to us about AISIX Cloud →
One container. No control plane, no database, no configuration store — the gateway reads
every dynamic resource from one declarative resources.yaml.
Then call the gateway exactly like OpenAI:
Edit resources.yaml and send SIGHUP (docker kill -s HUP aisix) to apply changes with
no restart — an invalid file is rejected whole and the last good configuration keeps
serving. Check a file before booting with aisix validate --resources resources.yaml.
Full walkthrough: the
Gateway Quickstart ·
every field: the resources file reference.
For a multi-replica cluster, point the gateway at etcd instead — resources_file and
etcd are mutually exclusive.
base_url and switch models without changing code.Covered by 183 end-to-end scenario files (496 cases) that run against real gateway processes.
:3000) — chat/completions, completions, responses,
embeddings, rerank, images/{generations,edits}, audio/{speech,transcriptions,translations},
videos (submit → poll → fetch), files, batches, fine_tuning/jobs, realtime,
GET /v1/models, plus a root-level /passthrough/:provider/* escape hatch. Native SSE streaming,
tool/function calling, JSON mode, vision/multimodal input, and reasoning-content support.POST /v1/messages as a first-class route, working against
any configured upstream: requests and responses (including streaming) are translated
both ways when a model points at a non-Anthropic provider.round_robin
(smooth weighted round-robin), consistent_hash (session affinity keyed by header /
cookie / API key / client IP), failover, plus metric-based least_cost,
least_latency, and least_busy. Per-target priority tiers (active/backup pools),
retry budgets, cooldowns, tag-conditional targets, and per-attempt timeouts.api_key / model / team /
member / team_member). Counters are per-process by default, or shared across replicas
with the Redis backend.422 content_filter;
monitor mode records what would have happened without blocking./mcp with gateway-held
credentials, per-server tool namespaces, and per-caller access. It serves every
Streamable HTTP revision from 2025-03-26 through stateless 2026-07-28 without
downstream sessions. Upstreams use initialize by default or server/discover with
protocol_version: "2026-07-28". CI runs the official MCP suite's applicable tools-only
protocol scenarios. Also exposes a REST API as MCP tools from its OpenAPI description./a2a/:agent, serving each
agent's card with URLs rewritten to the gateway, over JSON-RPC 2.0./metrics, structured per-request access logs, usage
events, OTLP/GenAI span export (Langfuse, Honeycomb, Grafana Cloud, or any OTLP receiver),
plus dedicated Datadog and Aliyun SLS log exporters and object-storage (S3/GCS/Azure Blob)
telemetry.resources.yaml carries all ten resource collections
(provider keys, models, caller keys, guardrails, MCP servers, A2A agents, cache policies,
observability exporters, rate-limit policies, OIDC providers), validated against the same
JSON Schemas the gateway uses at runtime. aisix validate checks a file offline; SIGHUP
reloads it atomically./livez and /readyz on the proxy listener; /status/config,
/status/ready, /status/models, and Prometheus /metrics on a dedicated metrics
listener (:9090). The admin listener (:3001) additionally serves a read-only
resource surface, OpenAPI 3 with a Scalar UI, and a playground. Resources are managed
declaratively — through the resources_file (reloaded on SIGHUP) or direct etcd
writes — not through the admin listener; its former write endpoints were removed.AISIX dispatches through five native adapter families — distinct wire-protocol bridges, not one generic relabel. Whatever the upstream protocol, the client-facing API stays OpenAI-shaped.
| Adapter family | Reaches | Wire shape · auth |
|---|---|---|
openai | OpenAI + any OpenAI-compatible vendor — DeepSeek, Groq, Mistral, Together, Fireworks, Perplexity, vLLM, Ollama, or self-hosted OpenAI-compatible endpoints | OpenAI chat completions · Bearer |
anthropic | Anthropic Claude | Anthropic Messages · x-api-key |
bedrock | AWS Bedrock — Anthropic, Meta Llama, Mistral, Cohere, Amazon Titan/Nova, AI21 | Bedrock Converse + /invoke · SigV4 |
vertex | Google Vertex AI (Gemini) | Vertex :generateContent · OAuth2 |
azure-openai | Azure OpenAI | Azure deployments · api-key / Entra ID |
Plus specialized handling for vendor quirks (e.g. DeepSeek reasoning content) and dedicated rerank / embeddings vendors (Cohere, Jina). Details in adapter protocol families.
Same gateway binary, same proxy API — in every form the gateway runs in your environment. AISIX Cloud adds a commercial control plane, either hosted by API7 (Hybrid Cloud) or hosted in your infrastructure (On-Premises).
![]() Overview — traffic, latency, error rate & spend at a glance ![]() Models — one alias per upstream: OpenAI, Anthropic, Bedrock, DeepSeek… ![]() Guardrails — pre-input & post-output policies, block on violation |
![]() Playground — test any model with live token & cost metering ![]() Observability — fan out traces & logs to OTLP, Datadog, object storage ![]() Budgets — hard-stop spend caps with warn-only tiers |
The AISIX Cloud dashboard — overview metrics, multi-provider models, guardrails, budgets (with hard-stop spend caps), and observability exporters, across all your gateways.
▶ Try the live dashboard demo — aisix-demo.api7.ai
| Open-source gateway (this repo) | AISIX Cloud (Hybrid Cloud or On-Premises) | |
|---|---|---|
| Price | Free · Apache-2.0 · forever | Commercial — talk to us |
| Configuration | Declarative resources.yaml, or etcd for a cluster | Dashboard + Cloud Admin API, multi-environment |
| Tenancy | Single instance / namespace | Org → Team → Member → Environment |
| Provider keys | In the resources file as ${VAR} env references, or in etcd | Envelope-encrypted at rest, write-only, in-place rotation |
| Inbound auth | Caller keys (SHA-256 hashed, model allowlists, expiry), or OIDC/JWT bearers | Same, plus masked reveal, key ownership, and PATs |
| Budgets | — (rate and token limits only) | Per key / provider / env / org / team, hard-stop & alerts |
| RBAC | Admin key = read-only resource surface | Org roles (owner / admin / member), invites |
| Audit log | — | Full org-scoped audit with diff viewer |
| Usage & cost | Export logs, metrics, and usage events yourself | Managed usage views, model pricing catalog, spend reporting |
| Surface | Status endpoints, OpenAPI read surface, playground | Full dashboard + per-environment playground |
→ Want the AISIX Cloud control plane, governance, budgets, and dashboard? Talk to API7 about Hybrid Cloud or On-Premises, or book a demo.
A single Cargo workspace; the aisix-server crate builds one binary named aisix that
wires the crates together.
Highlights on the roadmap; tracked live in issues:
Shipped since this list was last written: the MCP gateway, the A2A agent gateway, OIDC/JWT inbound auth, Redis-backed distributed rate limiting, and the Lakera, Presidio, PII, and OpenAI Moderation guardrails — see Features above.
Prerequisites: the Rust toolchain pinned in rust-toolchain.toml. Docker is only needed
for the tests that exercise etcd, Redis, or provider emulators.
If AISIX is useful to you, a ⭐ helps other engineers find it.