{
  "markdown": "<p align=\"center\">\n  <img alt=\"GoModel logo\" src=\"docs/logo.svg\" width=\"96\">\n</p>\n\n<h1 align=\"center\">\n  GoModel - The last AI gateway you will ever need\n</h1>\n\n<p align=\"center\">\n  <a href=\"https://github.com/ENTERPILOT/GoModel/actions/workflows/test.yml\"><img alt=\"CI\" src=\"https://github.com/ENTERPILOT/GoModel/actions/workflows/test.yml/badge.svg\"></a>\n  <a href=\"https://github.com/ENTERPILOT/GoModel/blob/main/go.mod\"><img alt=\"GO Version\" src=\"https://img.shields.io/github/go-mod/go-version/ENTERPILOT/GoModel?label=GO\"></a>\n  <a href=\"https://hub.docker.com/r/enterpilot/gomodel\"><img alt=\"Docker Pulls\" src=\"https://img.shields.io/docker/pulls/enterpilot/gomodel?label=Docker%20Pulls\"></a>\n  <a href=\"https://discord.gg/gaEB9BQSPH\"><img alt=\"Discord\" src=\"https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://news.ycombinator.com/item?id=47849097\"><img alt=\"Hacker News\" src=\"https://img.shields.io/badge/Hacker%20News-Apr%2021%20%2726%20%7C%20%234-brightgreen?logo=ycombinator&logoColor=white\"></a>\n  <a href=\"https://gomodel.enterpilot.io/docs?utm_source=readme\"><img alt=\"docs GoModel\" src=\"https://img.shields.io/badge/Docs-GoModel-blue\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://news.ycombinator.com/item?id=47849097\"><img alt=\"GoModel on Hacker News\" src=\"https://hackerbadge.vercel.app/api?id=47849097\"></a>\n</p>\n\n<p align=\"center\">\n  GoModel is the fastest and the most resource-efficient AI Gateway (<a href=\"https://gomodel.enterpilot.io/docs/about/benchmarks?utm_source=readme\">the self-reproducible benchmarks</a>). It's an alternative to LiteLLM (which was hacked recently) and Portkey (which is no longer maintained on GitHub).\n</p>\n\n<a href=\"https://demo.enterpilot.io/admin/dashboard?utm_source=readme\">\n  <img src=\"docs/2026-07-07_demo.gif\" alt=\"GoModel AI gateway dashboard showing AI usage analytics, observability panel, token and costs tracking, and estimated cost monitoring\" width=\"100%\">\n</a>\n<p align=\"center\">\n  (click on the animation ↑ to see the live demo)\n</p>\n\n<p>\n  GoModel saves you money and nerves.\n</p>\n<p>\n  <strong>Money</strong> - because you can remember the responses on this layer (caching), track your spending and do tricks like prompt compression and intelligent routing.\n</p>\n<p>\n  <strong>Nerves</strong> - because we strive to achieve good quality and reliability. Our ambition is to be the last AI gateway you will need - the most reliable, resource-optimal, feature-rich and fast.\n</p>\n\n## Quick Start\n\n**Step 1:** Install and start GoModel\n\n**macOS / Linux**\n\n```bash\ncurl -fsSL https://gomodel.enterpilot.io/install.sh | sh\n# OPENAI_API_KEY=\"your-openai-key\" # (optional)\ngomodel\n```\n\n**Windows (PowerShell)**\n\n```powershell\nirm https://gomodel.enterpilot.io/install.ps1 | iex\n# $env:OPENAI_API_KEY = \"your-openai-key\" # (optional)\ngomodel\n```\n\n**Docker**\n\n```bash\ndocker run --rm -p 8080:8080 \\\n  -e OPENAI_API_KEY=\"your-openai-key\" \\\n  enterpilot/gomodel\n```\n\nℹ️ Configure GoModel with `.env`, a `config.yaml` file, or manage the most important settings directly in the dashboard.\n\nℹ️ See [`.env.template`](./.env.template) for the complete list of environment variables, including all available providers.\n\n**Step 2:** Open the dashboard\n\n```text\nhttp://localhost:8080/admin/dashboard\n```\n\n**Step 3:** Make an API call\n\n```bash\ncurl http://localhost:8080/v1/responses \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"gpt-5-chat-latest\",\n    \"input\": \"Hello!\"\n  }'\n```\n\n## GoModel and official SDKs\n\nGoModel accepts requests in two compatible formats:\n\n- OpenAI-compatible at `/v1`\n- Anthropic-compatible at `/v1/messages`\n\nThe official SDKs therefore work unchanged. Configure their base URLs as follows:\n\n- OpenAI SDK: `http://localhost:8080/v1`\n- Anthropic SDK: `http://localhost:8080` (the SDK appends `/v1/messages`)\n\n## List of Supported LLM Providers\n\n- OpenAI\n- Anthropic\n- xAI (Grok)\n- Google Gemini\n- Cohere\n- Vertex AI\n- DeepSeek\n- Groq\n- Fireworks AI\n- Meta (Muse Spark)\n- OpenRouter\n- Z.ai\n- Alibaba Cloud Model Studio (Bailian)\n- Kilo AI\n- MiniMax\n- Xiaomi MiMo\n- OpenCode Go\n- Azure OpenAI\n- Oracle\n- Ollama\n- SGLang\n- vLLM\n- llm-d\n- Amazon Bedrock Runtime and Bedrock Mantle\n- ChatGPT (the Codex backend) and Claude\n- ElevenLabs (text-to-speech and speech-to-text)\n- All OpenAI-compatible providers\n\nSee the [Providers Overview](https://gomodel.enterpilot.io/docs/providers/overview?utm_source=readme) for the full\nper-provider feature matrix.\n\n---\n\n## Docker Compose\n\n**Infrastructure only** (Redis, PostgreSQL, MongoDB, Adminer - no image build):\n\n```bash\ncp .env.template .env\n# Add your API keys to .env\ndocker compose up -d\n# or: make infra\n```\n\n**Full stack** (adds GoModel + Prometheus; builds the app image):\n\n```bash\ndocker compose --profile app up -d\n# or: make image\n```\n\n---\n\n## API docs\n\n- [API Endpoints](https://gomodel.enterpilot.io/docs/advanced/api-endpoints?utm_source=readme)\n- [Admin API Endpoints](https://gomodel.enterpilot.io/docs/advanced/admin-endpoints?utm_source=readme)\n\n---\n\n## Gateway Configuration\n\nGoModel resolves configuration in the following order, with each source\noverriding those to its left:\n\n[Good defaults](https://gomodel.enterpilot.io/docs/about/technical-philosophy#good-defaults) → [`config.yaml`](./config/config.example.yaml) → [`.env`](./.env.template) → exported environment variables\n\nSee the [Configuration reference](https://gomodel.enterpilot.io/docs/advanced/configuration?utm_source=readme)\nfor the full list of settings.\n\n---\n\n## Features\n\n- [Caching](https://gomodel.enterpilot.io/docs/features/cache?utm_source=readme) - exact and semantic response caching, so repeated prompts cost nothing\n- [Cost tracking](https://gomodel.enterpilot.io/docs/features/cost-tracking?utm_source=readme) - per-request cost estimates, usage analytics, and spending breakdowns in the dashboard\n- [Budgets](https://gomodel.enterpilot.io/docs/features/budgets?utm_source=readme) - hard spend limits per user, team, or key\n- [Rate limits](https://gomodel.enterpilot.io/docs/features/rate-limits?utm_source=readme) - requests, tokens, and concurrency caps per user path, provider, or model\n- [Usage API](https://gomodel.enterpilot.io/docs/advanced/usage-api?utm_source=readme) - clients check their own usage, remaining budget, and rate-limit headroom with the key they already use for inference\n- [Virtual models](https://gomodel.enterpilot.io/docs/features/virtual-models?utm_source=readme) - aliases and load balancing (round-robin or cost-based) behind stable model names\n- [Session keeping](https://gomodel.enterpilot.io/docs/features/session-keeping?utm_source=readme) - detect a client session and pin it to one target and provider key, so provider prompt caches stay warm and audit logs read as threads\n- [Failover](https://gomodel.enterpilot.io/docs/features/failover?utm_source=readme) - automatic rerouting to backup providers, with [retries and circuit breakers](https://gomodel.enterpilot.io/docs/advanced/resilience?utm_source=readme)\n- [Labelling](https://gomodel.enterpilot.io/docs/features/labelling?utm_source=readme) - tag requests from HTTP headers or API keys and break down usage by label\n- [User paths](https://gomodel.enterpilot.io/docs/features/user-path?utm_source=readme) - hierarchical scoping of keys, model access, budgets, usage, and audit logs\n- [Model access control](https://gomodel.enterpilot.io/docs/features/users?utm_source=readme) - per-group, per-user, and per-key model allowlists that intersect down the user-path tree\n- [MCP gateway](https://gomodel.enterpilot.io/docs/features/mcp-gateway?utm_source=readme) - aggregate your MCP servers behind one authenticated endpoint\n- [Passthrough API](https://gomodel.enterpilot.io/docs/features/passthrough-api?utm_source=readme) - provider-native APIs under `/p/{provider}/...`, with GoModel auth and tracking\n- [Audio and image APIs](https://gomodel.enterpilot.io/docs/advanced/audio-api?utm_source=readme) - OpenAI-compatible text-to-speech, transcription, and [image generation and editing](https://gomodel.enterpilot.io/docs/advanced/images-api?utm_source=readme) with the same access rules, budgets, and cost tracking as chat\n- [Provider replay state](https://gomodel.enterpilot.io/docs/advanced/extra-content?utm_source=readme) - preserves Gemini thought signatures and Anthropic thinking blocks across turns, APIs, and providers\n- [Guardrails](https://gomodel.enterpilot.io/docs/advanced/guardrails?utm_source=readme) - request and response policies enforced at the gateway\n- [Plugins](https://gomodel.enterpilot.io/docs/advanced/plugins?utm_source=readme) - one contract for guardrails, response and stream filters, header edits, and routing strategies; built in, compiled in, or loaded from a `.so` at startup\n- [Workflows](https://gomodel.enterpilot.io/docs/advanced/workflows?utm_source=readme) - versioned per-request policies that scope cache, budgets, audit logging, guardrail phases, and failover by user path, provider, or model\n- [Provider key rotation](https://gomodel.enterpilot.io/docs/providers/key-rotation?utm_source=readme) - round-robin over multiple API keys to lift per-key rate limits\n- [Observability](https://gomodel.enterpilot.io/docs/guides/prometheus-metrics?utm_source=readme) - Prometheus metrics, [OpenTelemetry](https://gomodel.enterpilot.io/docs/guides/opentelemetry?utm_source=readme) traces, audit logs, and live request streaming in the dashboard\n- [Playground](https://gomodel.enterpilot.io/docs/features/playground?utm_source=readme) - try any model or virtual model from the dashboard and inspect the exact request and response JSON\n\n## GoModel Pro\n\n[GoModel Pro](https://gomodel.enterpilot.io/docs/pro/overview?utm_source=readme) is the commercial build: the same gateway, configuration, and dashboard, with licensed extensions.\n\n- [Prompt compression](https://gomodel.enterpilot.io/docs/pro/compression?utm_source=readme) - remove repeated and structural context before it reaches the provider, without changing the request shape\n- [Intelligent routing](https://gomodel.enterpilot.io/docs/pro/intelligent-routing?utm_source=readme) - classify each request as easy or hard, then pick the healthiest and cheapest provider in that tier\n- [OIDC single sign-on](https://gomodel.enterpilot.io/docs/pro/sso?utm_source=readme) - protect the dashboard with your identity provider using Authorization Code flow with PKCE\n\nMore in the documentation...\n\n## Roadmap\n\nSee the [roadmap](https://gomodel.enterpilot.io/docs/about/roadmap?utm_source=readme) for GoModel Pro and the upcoming 0.2.0 release.\n\n## Sponsors\n\n<a href=\"https://github.com/Neiko2002\"><img src=\"https://github.com/Neiko2002.png\" alt=\"Neiko2002\" width=\"64\"></a>\n\n## Community\n\nWe are on [Discord](https://discord.gg/gaEB9BQSPH). Feel free to stop by and tell us what you think about GoModel.\n",
  "bytes": 10891,
  "sha": "6f5a55522f5ca7b043cbb01f0613fe23a4c76e92871a3fa58eedbd8ce0c2a136",
  "repo_slug": "enterpilot/gomodel",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_enterpilot_gomodel_5a9ddd3e/readme"
}