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

OpenClaw Agent Relay Plugin Fixes Telegram Delivery in Multi-Agent Setups
The openclaw-agent-relay plugin addresses the persistent issue where sessions_send responses go to webchat instead of Telegram by using gateway WebSocket RPC to trigger agent turns with deliver:true, eliminating the need for workarounds like explicit message tools or announce steps.

VS Code Agent Kanban: Markdown-based task management for AI coding agents
VS Code Agent Kanban is an extension that creates a GitOps-friendly kanban board inside VS Code using markdown files as task records. It addresses context rot in AI coding agents by preserving planning conversations, decisions, and implementation details in version-controlled .md files.

Query Your Jira Sprint Via Claude MCP: Instant Status, Unassigned Issues, and Blocked Items
A Reddit user connected Jira to Claude via MCP, then asked plain‑language questions about their sprint and got instant clean tables — no clicking through boards.

Bypassing NemoClaw Sandbox Isolation for Local Nemotron 9B Agent
A developer bypassed NemoClaw's sandbox isolation to run a fully local agent using Nemotron 9B with tool calling on a single RTX 5090. The approach involved iptables configuration, a custom TCP relay, and real-time tool call translation.