by respanai
Open-source LLM gateway in Rust. One endpoint for OpenAI, Anthropic, Gemini and every other vendor. Any SDK, any model, any tool.
# Add to your Claude Code skills
git clone https://github.com/respanai/respan-gatewayGuides for using ai agents skills like respan-gateway.
See how respan-gateway compares with popular alternatives.
respan-gateway is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by respanai. Open-source LLM gateway in Rust. One endpoint for OpenAI, Anthropic, Gemini and every other vendor. Any SDK, any model, any tool. It has 641 GitHub stars.
respan-gateway's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/respanai/respan-gateway" and add it to your Claude Code skills directory (see the Installation section above).
respan-gateway is primarily written in Rust. It is open-source under respanai on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh respan-gateway against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Respan Gateway is a single Rust binary that sits between your code and every AI API. Point the SDK you already use at it, and it connects you to everything: chat models, images, video and voice from every major provider; tools for any model, from web search and memory to code sandboxes and any MCP server; and traffic control (format translation, fallback, retries and hedged requests), with a live log of every call. ▶ Watch the demo
Any client, any model OpenAI Chat Completions, OpenAI Responses, Anthropic Messages and Gemini API clients can all call any model, with streaming, tools, images and reasoning translated.
Multimodal Realtime voice across vendors (an OpenAI Realtime client talks to Gemini Live, and back), plus images, speech, transcription, embeddings and video through OpenAI's or Gemini's APIs, to any vendor that has them.
MCP tools for every model Put MCP servers or built-in tool vendors behind the gateway, from web search to code sandboxes. It runs their tools inside chat requests, so a plain chat call can use them, whatever the client or model.
Traffic control
Named routes, globs and provider/model; fallback, retries, cheapest or
fastest; and hedged requests that race a slow call against a second
provider.
Observability A live request log with cost, latency and tokens for every call, and traces in Respan, where span-02 analyzes how your agents behave.
Best-in-class performance 0.07 ms of added latency, 56,000 requests per second and 31 MB of memory in our benchmarks: about 3× the throughput of the next fastest gateway we tested.
Write your own plugin in minutes Every feature above is a plugin, built on the same public Rust API you can use: one trait with four hooks. Start from the plugin guide or an example such as guardrails, PII masking or billing.
1. Install
pip install respan-gateway
Or cargo install respan-gateway, or a
GitHub release.
2. Run it with your keys
export OPENAI_API_KEY=sk-...
respan-gateway
No config file needed: every vendor whose key is set becomes a provider.
3. Call any model from any SDK
from anthropic import Anthropic
client = Anthropic(base_url="http://localhost:8080", api_key="unused")
reply = client.messages.create(
model="gpt-6-luna", max_tokens=256,
messages=[{"role": "user", "content": "Hello from the Anthropic SDK"}])
print(reply.content[0].text)
The web UI is at localhost:8080/ui/. Next: configuration and MCP tools.
docker run -p 8080:8080 -e OPENAI_API_KEY -e RESPAN_CLIENT_KEYS=<a key of yours> ghcr.io/respanai/respan-gateway on any container host; listening beyond localhost, it needs a client key.| Respan Gateway | Bifrost | Portkey | LiteLLM (1 worker) | |
|---|---|---|---|---|
| Added latency (p50) | 0.07 ms | 0.16 ms | 0.17 ms | 4.34 ms |
| Throughput | 56,734/s | 18,182/s | 4,187/s | 268/s |
| Memory | 31 MB | 488 MB | 350 MB | 418 MB |
| 1k streams, success | 100% | 92–100% | — | 79% |
| 1k streams, memory | 128 MB | 688 MB | — | 493 MB |
| p99, 5% slow calls | 105 ms | 2,002 ms | 2,003 ms | 2,024 ms |
You don't need a config file to start. When you want more, run
respan-gateway init for a commented gateway.toml. One file sets up keys,
providers, traffic control, tools and tracing:
client_keys = [{ name = "app", key = "env:APP_KEY" }] # who may call the gateway
[providers.openai] # a built-in vendor: just add a key
vendor = "openai"
key = "env:OPENAI_API_KEY"
[providers.anthropic]
vendor = "anthropic"
key = "env:ANTHROPIC_API_KEY"
[providers.local] # any OpenAI-compatible endpoint
formats = ["openai-chat"]
base_url = "http://localhost:8000/v1"
[routes.smart] # clients ask for "model": "smart"
to = ["anthropic/claude-haiku-5-5", "openai/gpt-6-luna"]
hedge = "800ms" # race the second if the first is slow
[tools.search] # web search as MCP tools
vendor = "linkup"
key = "env:LINKUP_API_KEY"
[plugins.tool_loop] # every model can use them
servers = ["search"]
[plugins.respan] # trace every call in Respan
key = "env:RESPAN_API_KEY"
respan-gateway check validates it, and --watch or SIGHUP reloads it
without a restart. Without client keys, the gateway answers only on loopback
and refuses to start on a public address.
Reference: configuration ·
vendors · tool vendors ·
MCP and tools · gateway.example.toml
Call the gateway in any format on the left, and it reaches every provider on the right, translating between them.
| Your code calls | It can reach | |
|---|---|---|
| Chat | OpenAI Chat CompletionsOpenAI ResponsesAnthropic MessagesGemini API | any chat model, whichever of the four formats it speaks |
| Realtime voice | OpenAI RealtimeGemini Live | OpenAI ⇄ Gemini voice; Mistral for transcription |
| Images | OpenAI ImagesGemini Images | <img src="docs/assets/vendors/openai.svg" alt="OpenAI |