An open-source API gateway that routes LLM requests across multiple providers through an OpenAI-compatible interface, with key management and usage analytics.
ENTERPILOT/GoModel
Self-hosted Go AI gateway exposing an OpenAI- and Anthropic-compatible API in front of many LLM providers, with cost tracking, failover and guardrails.
Open-source alternative to:LiteLLM
- Stars
- 1,305
- Forks
- 125
- Open issues
- 87
- Last commit
- 10 hours ago
What is it?
GoModel is an AI gateway written in Go that sits between your applications and LLM providers. Clients send requests in OpenAI-compatible format to /v1 or Anthropic-compatible format to /v1/messages, and GoModel routes them to providers such as OpenAI, Anthropic, Gemini, Groq, xAI, Ollama and vLLM, so official SDKs work by changing only the base URL.
On top of routing, it adds operational controls: exact and semantic response caching, per-request cost estimates, budgets and rate limits per user path, key, or model, and automatic failover with retries and circuit breakers. Virtual models provide stable names with round-robin or cost-based load balancing, and session keeping pins a client session to one provider key.
It also includes an admin dashboard with a playground, real-time request logs, Prometheus metrics, OpenTelemetry traces and audit logs. Guardrails, an MCP gateway and a plugin system are available, and Docker images and Docker Compose files are provided for deployment.
Key features
- 01Unified OpenAI- and Anthropic-compatible endpoints across many LLM providers
- 02Exact and semantic response caching
- 03Per-request cost tracking with budgets and rate limits
- 04Failover with retries and circuit breakers
- 05Virtual models with round-robin or cost-based load balancing
- 06Prometheus metrics, OpenTelemetry traces and real-time logs
Use cases
- Routing one application to several LLM providers without changing client code
- Tracking and capping AI spending across teams or API keys
- Adding caching and failover in front of self-hosted models like Ollama or vLLM
- Replacing LiteLLM as a central proxy for LLM traffic
Quick start
- 1
Start GoModel with Docker
docker run --rm -p 8080:8080 -v gomodel_data:/app/data enterpilot/gomodel - 2
Run the official install script from the README (macOS/Linux or Windows)
- 3
Open the dashboard at localhost:8080 and add a provider
- 4
Make a test API call to the /v1/responses endpoint
curl http://localhost:8080/v1/responses -H "Content-Type: application/json" -d '{"model": "gpt-5-chat-latest", "input": "Hello!"}'
Things to know
- Some features such as prompt compression, intelligent routing and OIDC single sign-on are only in the commercial GoModel Pro build.
- Using it with hosted models requires your own provider API keys.
In collections
Topics
FAQ
- What is GoModel?
- Self-hosted Go AI gateway exposing an OpenAI- and Anthropic-compatible API in front of many LLM providers, with cost tracking, failover and guardrails. GoModel is an AI gateway written in Go that sits between your applications and LLM providers. Clients send requests in OpenAI-compatible format to /v1 or Anthropic-compatible format to /v1/messages, and GoModel routes them to providers such as OpenAI, Anthropic, Gemini, Groq, xAI, Ollama and vLLM, so official SDKs work by changing only the base URL.
- Is GoModel free to use? What license does it have?
- GoModel is open source under the MIT license. Check the license terms before using it in commercial products.
- Is GoModel still maintained?
- Actively maintained. The last commit to GoModel was on Nov 6, 2026.
- What can I use GoModel for?
- Routing one application to several LLM providers without changing client code Tracking and capping AI spending across teams or API keys Adding caching and failover in front of self-hosted models like Ollama or vLLM Replacing LiteLLM as a central proxy for LLM traffic
- How do I install GoModel?
- Start GoModel with Docker: docker run --rm -p 8080:8080 -v gomodel_data:/app/data enterpilot/gomodel Run the official install script from the README (macOS/Linux or Windows) Open the dashboard at localhost:8080 and add a provider Make a test API call to the /v1/responses endpoint: curl http://localhost:8080/v1/responses -H "Content-Type: application/json" -d '{"model": "gpt-5-chat-latest", "input": "Hello!"}'
- Where can I get GoModel?
- The source code and installation instructions are on GitHub: https://github.com/ENTERPILOT/GoModel
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A single Rust binary that gives any AI SDK one endpoint to reach many LLM vendors, with MCP tools, traffic control and request logging.
Open-source Go gateway that routes LLM requests across 30 providers through one OpenAI-compatible API, with caching, guardrails and cost controls.
Self-hosted, OpenAI-compatible LLM gateway that routes one endpoint to 40+ providers with virtual keys, budgets, and usage tracking.
Open source AI Gateway and Python SDK that calls 100+ LLM providers through a single OpenAI-format interface.
Self-hosted AI gateway that connects files, databases, vector stores and APIs to local or hosted LLMs through one OpenAI-compatible API.