← all repositories
ENTERPILOT/GoModel

A Go-Powered Front Door for a Dozen LLM Backends

GoModel exists to spare you from juggling a dozen LLM API formats by unifying them behind a single OpenAI-compatible endpoint written in Go.

GoModel
Not currently ranked — collecting fresh signals.
star history

What it does GoModel sits between your application and over a dozen LLM providers—OpenAI, Anthropic, Gemini, Groq, Ollama, Azure, Bedrock, and others—exposing them all through a single OpenAI-compatible HTTP API. It handles streaming chat, embeddings, file uploads, batch jobs, and the OpenAI Responses API, while tracking token costs and usage in a built-in dashboard. You feed it provider credentials via environment variables and it auto-registers only the backends it can actually reach.

The interesting bit Unlike many proxies that are purely stateless, GoModel maintains gateway-managed conversations through its own /v1/conversations endpoints, and it lets you register multiple instances of the same provider type—say, openai-east and openai-west—using nothing but suffixed environment variables. The README also warns you not to copy-paste secrets into command-line flags, which is an endearingly honest security note to find in a quick-start section.

Key highlights

  • Supports 14 providers with varying degrees of feature parity; chat and the Responses API are nearly universal, while embeddings, files, and batches depend on the backend.
  • Built-in observability dashboard showing token usage, estimated costs, and request analytics.
  • Auto-detects available providers based on which API keys and base URLs you supply.
  • Allows multi-instance provider registration through suffixed environment variables (e.g., OPENAI_EAST_API_KEY).
  • OpenAI-compatible passthrough mode for select providers, letting raw provider-specific calls flow through when native features are needed.

Caveats

  • Feature coverage is uneven: several providers (Bedrock, Oracle, Ollama, Vertex) lack support for embeddings, files, batches, or passthrough, so check the matrix before assuming parity.
  • The README’s example model identifiers are explicitly labeled “illustrative and subject to change,” meaning you will need to verify current model names against provider catalogs.
  • The quick-start example demonstrates passing secrets via command-line flags, and the authors immediately caution against doing exactly that in production.

Verdict Teams running polyglot LLM stacks who want a lightweight, self-hosted gateway with usage tracking and a dashboard should look here; if you need every provider to support files, batches, and embeddings uniformly, the gaps may frustrate you.

Frequently asked

What is ENTERPILOT/GoModel?
GoModel exists to spare you from juggling a dozen LLM API formats by unifying them behind a single OpenAI-compatible endpoint written in Go.
Is GoModel open source?
Yes — ENTERPILOT/GoModel is open source, released under the MIT license.
What language is GoModel written in?
ENTERPILOT/GoModel is primarily written in Go.
How popular is GoModel?
ENTERPILOT/GoModel has 1k stars on GitHub.
Where can I find GoModel?
ENTERPILOT/GoModel is on GitHub at https://github.com/ENTERPILOT/GoModel.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.