Repolode
ENTERPILOT

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. 1

    Start GoModel with Docker

    docker run --rm -p 8080:8080 -v gomodel_data:/app/data enterpilot/gomodel
  2. 2

    Run the official install script from the README (macOS/Linux or Windows)

  3. 3

    Open the dashboard at localhost:8080 and add a provider

  4. 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