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

The Bottleneck in Parallel AI Agents: Human Approval Queue Bottleself
A developer running parallel Claude Code agents describes the 'bottleself' — the point where parallelism stops adding output and starts creating a backlog of human approvals. Their solution: a planner that decomposes goals into subtasks, spawns agents, and only pings on unresolved decisions.

SigMap v8.9: Deterministic Context Layer Cuts Token Use 97% for AI Coding Agents
SigMap v8.9 achieves 97% token reduction, 88% hit@5 retrieval, and 49% fewer prompts per task. Works with Copilot, Claude Code, Cursor, Windsurf, Codex, OpenCode, Gemini CLI. Zero deps, fully offline.

Marmy: A Self-Hosted Framework for Managing AI Coding Agents Remotely
Marmy is an open-source, MIT-licensed framework built with Claude Code that lets developers manage AI coding agents and tmux sessions from a mobile app. It includes a Rust agent for development machines and a React Native app for remote control.

Building a Local Open-Source AI Workspace with Rust and Tauri
Explore a fully local, open-source AI workspace built using Rust, Tauri, and sqlite-vec, without a Python backend.