Three protocols in, every backend out
OpenAI chat completions, the Responses API and Anthropic Messages, with streaming, images and tool calls. Your tools keep their own model names.
Connect your tools
A prompt router for Claude Code, Codex and any OpenAI or Anthropic client. Each prompt goes to a local model, your subscription CLI or a paid API, and fails over when a limit runs out.

With the .NET 10 SDK installed:
dotnet tool install -g SemanticRouter.Host
semantic-router init # finds LM Studio, Ollama and the claude, codex and copilot CLIs
semantic-router # the dashboard is at http://localhost:5080/routerThen run Claude Code through it, with the line the router prints (your context window included):
ANTHROPIC_BASE_URL=http://localhost:5080 ANTHROPIC_AUTH_TOKEN=semantic-router CLAUDE_CODE_AUTO_MODE_SERVER=0 claude --model semantic-routerNo .NET? The desktop app puts the router in your tray, and its dashboard sets up your first model. Connect your tools has the lines for Codex, the OpenAI SDKs and curl, and Install and run covers the background service and the container.
