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

Claude Code Workflow Visual Details Memory Hierarchy and Skills System
A Reddit user shared a visual diagram showing how Claude Code organizes memory through layered CLAUDE.md files and implements reusable skills via SKILL.md files. The workflow loop suggests using Plan mode with auto-accept and frequent commits.

Symphony workflow automation tool works with Claude Code
A developer got the Symphony spec working with Claude Code to automate ticket-to-PR workflows, using Node/TypeScript initially but noting Elixir might be better. The tool requires separate API key setup and billing beyond Claude subscriptions.

Peers MCP Server Connects AI Coding Sessions for Collaboration
Peers is a local MCP server that connects Claude Code and Codex sessions, allowing them to discover each other, collaborate through shared scratchpads, share artifacts like diffs and test reports, and hand off session context as structured markdown.

Claude Code Adds Remote Control Feature for Mobile Session Management
Claude Code now allows developers to start tasks in their terminal and continue controlling sessions from mobile devices via the Claude app or claude.ai/code while Claude runs locally on their machine.