Point Claude Code or Codex at a self-hosted or open source model instead of a paid API.
Run A/B tests comparing different models by splitting traffic between them.
Track request latency, errors, and token usage with Prometheus metrics.
Embed custom routing logic inside an existing Rust proxy or gateway.
| nvidia-nemo/switchyard | litellm-labs/litellm-agent-control-plane | ryancodrai/turbovec | |
|---|---|---|---|
| Stars | 1,044 | 1,069 | 1,015 |
| Language | Rust | Rust | Rust |
| Last pushed | — | 2026-06-20 | — |
| Maintenance | — | Maintained | — |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 4/5 | 3/5 |
| Audience | developer | pm founder | developer |
Figures from each repo's GitHub metadata at analysis time.
Needs an OpenRouter API key or a self-hosted model backend such as vLLM or Ollama.
Switchyard is a proxy and library, built in Rust, that manages traffic between AI coding agents and the language models answering them. If you point a tool like Claude Code or Codex at an open source model, Switchyard sits in between and translates the request into whatever format that model's server expects, whether that is the OpenAI Chat format, the OpenAI Responses format, or the Anthropic Messages format. The agent keeps talking in its own native language while Switchyard handles the translation to servers such as vLLM, NVIDIA NIM, or Ollama. Beyond translation, Switchyard can route traffic across several different models at once. This makes it possible to run A/B tests comparing model performance, or to write custom rules that send different kinds of requests to different models based on signals already present in the conversation. It also collects operational metrics such as request counts, errors, latency, and token usage, and exposes them in Prometheus format so they can be tracked over time. There are three ways to use it. The launcher path installs a command line tool that runs Claude Code, Codex, or OpenClaw through Switchyard with one command. The server path runs Switchyard as a standalone proxy that any OpenAI or Anthropic compatible client can connect to. The library path lets Rust developers embed the routing logic directly inside their own application, handing model calls back to their own code rather than owning the network connection itself. The project is described by its own maintainers as pre-alpha, meaning it is still changing quickly and is not meant for production use yet. It is licensed under Apache 2.0.
A Rust proxy that translates AI coding agent requests between OpenAI and Anthropic formats and routes them across different language model providers.
Mainly Rust. The stack also includes Rust, OpenAI API, Anthropic API.
Apache 2.0: free to use, modify, and distribute, including commercially, as long as you keep copyright and license notices.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.