GoModel is an AI gateway written in Go that puts a single endpoint in front of many model providers. It accepts OpenAI-compatible requests at /v1 and Anthropic-compatible requests at /v1/messages, so the official SDKs work unchanged with only a base-URL change, and it ships as one binary with a built-in admin dashboard and storage on SQLite, Postgres, or MongoDB.
Provider coverage spans hosted APIs and self-hosted runtimes: OpenAI, Anthropic, xAI, Google Gemini, Cohere, Vertex AI, DeepSeek, Groq, Fireworks AI, OpenRouter, Z.ai, Alibaba Cloud Model Studio, MiniMax, Azure OpenAI, Oracle, Amazon Bedrock, ElevenLabs for speech, and OpenAI-compatible servers including Ollama, SGLang, vLLM, and llm-d. Configuration resolves from built-in defaults, then config.yaml, then a .env file, then exported environment variables, with the main settings also editable in the dashboard.
The gateway holds the logic that otherwise leaks into application code: routing and failover between providers, exact and semantic caching, budgets and rate limits, request labelling, guardrails, and per-request cost attribution. Scoped workflows apply a different combination of cache, audit, guardrails, and limits per provider, model, or user path. Observability covers Prometheus metrics, OpenTelemetry traces, audit logs, and live request streaming in the dashboard.
Features
- Unified API: OpenAI- and Anthropic-compatible endpoints so existing SDKs keep working behind one base URL
- Caching: exact-match and semantic response caching, so repeated prompts do not pay twice
- Cost tracking: per-request cost estimates, usage analytics, and spending breakdowns by team, tenant, or feature
- Budgets: hard spend limits per user, team, or key
- Rate limits: request, token, and concurrency caps per user path, provider, or model
- Virtual models: stable aliases with round-robin or cost-based load balancing behind them
- Failover: automatic rerouting to backup providers, with retries and circuit breakers
- Labelling and user paths: request tags from HTTP headers or API keys, and hierarchical scoping of keys, model access, budgets, usage, and audit logs
- MCP gateway: aggregates several MCP servers behind one authenticated endpoint
- Passthrough API: provider-native APIs exposed under /p/{provider}/ with gateway authentication and tracking
- Guardrails: request and response policies enforced at the gateway rather than in each app
- Observability: Prometheus metrics, OpenTelemetry traces, audit logs, and streaming request views, with SSE streaming on the request path
