GoModel: A Lightweight Open-Source AI Gateway Written in Go

GoModel is an open-source AI gateway written in Go that sits between your application and model providers like OpenAI, Anthropic, Gemini, and others. It provides a unified OpenAI-compatible API interface while handling provider-specific differences internally.
Key Features and Differences
The project was built to solve several practical problems: tracking AI usage and cost per client or team, switching models without changing application code, debugging request flows more easily, and reducing AI spending with exact and semantic caching.
Key differentiators from alternatives:
- ~17MB Docker image (LiteLLM's image is ~746MB on amd64, making GoModel 44x lighter)
- Request workflow is visible and easy to inspect
- Configuration is environment-variable-first by default
Quick Start
Basic deployment with Docker:
docker run --rm -p 8080:8080 \
-e OPENAI_API_KEY="your-openai-key" \
enterpilot/gomodel
For production, avoid passing secrets via command line and use:
docker run --env-file .env enterpilot/gomodel
Make your first API call:
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{ "model": "gpt-5-chat-latest", "messages": [{"role": "user", "content": "Hello!"}] }'
Supported Providers
GoModel supports multiple LLM providers with automatic detection based on supplied credentials:
- OpenAI (OPENAI_API_KEY)
- Anthropic (ANTHROPIC_API_KEY)
- Google Gemini (GEMINI_API_KEY)
- Groq (GROQ_API_KEY)
- OpenRouter (OPENROUTER_API_KEY)
- Z.ai (ZAI_API_KEY)
- xAI/Grok (XAI_API_KEY)
- Azure OpenAI (AZURE_API_KEY + AZURE_BASE_URL)
- Oracle (ORACLE_API_KEY + ORACLE_BASE_URL)
- Ollama (OLLAMA_BASE_URL)
The gateway supports chat completions, embeddings, file processing, batch operations, and passthrough capabilities across most providers. For Oracle, you may need to set ORACLE_MODELS=openai.gpt-oss-120b,xai.grok-3 when the upstream /models endpoint is unavailable.
Alternative Setup Methods
You can also run from source (Go 1.26.2+ required) or use Docker Compose for infrastructure components including Redis, PostgreSQL, MongoDB, and Adminer.
This type of gateway is particularly useful for teams managing multiple AI models across different providers, needing cost tracking, or wanting to maintain flexibility to switch providers without code changes. The lightweight Docker image makes it suitable for resource-constrained environments.
📖 Read the full source: HN LLM Tools
👀 See Also
MTP + Unified Memory Boosts llama.cpp Inference 30% on RTX 5090
Enabling MTP speculation alongside GGML_CUDA_ENABLE_UNIFIED_MEMORY=1 pushes Qwen3.6-27B Q8_0 from 49 to 64 tok/sec on an RTX 5090 with 128GB system RAM.

Ink: A Deployment Platform Where Claude AI Agents Are the Primary Users
Ink (ml.ink) is a deployment platform designed for AI agents like Claude, featuring one tool call deployment, auto-detection of frameworks, and integrated services including compute, databases, DNS, secrets, domains, metrics, and logs.

Prefex: A Local Proxy for Claude Code That Automates Prompt Caching and Session Memory
Prefex is a local proxy that sits between Claude Code and Anthropic's API, automatically injecting the header required for Anthropic's beta prompt caching feature. It also implements session memory to avoid resending full conversation history and includes a model router for cost optimization.

Claude Code gains TLA+ model checking via tla-mcp MCP server
tla-mcp is a new MCP server that lets Claude Code call the TLA+ model checker tla-rs as a first-class tool — validate specs, run bounded checks with counterexample traces, and replay scenarios from the chat.