
GoModel:用 Go 写的高性能开源 AI 网关,LiteLLM 的轻量替代
GoModel 是一个用 Go 写的 AI 网关/代理,统一 OpenAI 和 Anthropic 兼容 API,内置缓存、成本追踪、预算限额、智能路由、故障转移和实时日志。作为 LiteLLM 的替代品,它的性能和多 Provider 支持值得一试。
原文来源:GoModel — 用 Go 编写的 AI 网关,统一多家大模型厂商的 API,提供缓存、预算控制、智能路由与可观测性,目标成为 LiteLLM 的高性能替代品。
当你的项目同时接了好几家大模型——OpenAI、Anthropic、Gemini、DeepSeek——API 网关就成了刚需。它把各家差异化的接口统一成一个标准入口,顺便帮你做缓存、限流、成本控制和故障切换。这个赛道里 Python 写的 LiteLLM 是事实标准,但 GoModel 正在用 Go 重新做一遍这件事:MIT 协议、1.1k stars、778 次提交,最近一次提交就在几小时前,项目非常活跃。
它解决什么问题
直接对接多家模型厂商的 API,痛点很明显:每家协议细节不同(OpenAI 兼容和 Anthropic 兼容是两套体系)、每家的 key 有独立速率限制、请求分散导致成本难以汇总、某个厂商故障时没有自动切换机制。GoModel 把这些全部收敛到一个自托管的服务后面:你的业务代码只认一套 OpenAI 兼容接口,底层接哪家、怎么调度、花了多少钱,都由网关处理。
兼容性做得很彻底:暴露 OpenAI 兼容 API(/v1)和 Anthropic 兼容 API(/v1/messages),官方 SDK 无需改动,只要把 base URL 指向 GoModel 服务器、用 GoModel 的 key 即可。支持 OpenAI、Anthropic、Gemini、Groq、xAI、Ollama、vLLM 等主流后端。
—— 广告 ——
核心功能
按 README 的整理,GoModel 的功能清单相当完整:
- 缓存:精确和语义级响应缓存,重复的 prompt 不再重复花钱
- 成本追踪:每个请求的成本估算、用量分析和消费明细,仪表盘可视化
- 预算:按用户、团队或 key 设置硬性消费上限
- 速率限制:按用户路径、Provider 或模型设置请求数、token 数和并发上限
- 虚拟模型:用稳定的模型别名做负载均衡(轮询或基于成本),业务代码不用跟着模型改名
- 故障转移:自动切换到备用 Provider,带重试和熔断器
- 标签:从 HTTP header 或 API key 给请求打标签,按标签拆分用量
- 用户路径:key、模型访问、预算、用量和审计日志的分层作用域
- MCP 网关:把多个 MCP server 聚合到一个带认证的端点
- Passthrough API:在
/p/{provider}/...下暴露 Provider 原生 API,同时保留 GoModel 的认证和追踪 - Guardrails:在网关层强制执行请求和响应策略
- Provider key 轮换:多个 API key 轮询,突破单 key 速率限制
- 可观测性:Prometheus 指标、审计日志、仪表盘实时请求流
快速上手
安装和启动非常简单,一条命令:
curl -fsSL https://gomodel.enterpilot.io/install.sh | sh
gomodelDocker 方式也支持:
docker run --rm -p 8080:8080 \
-e OPENAI_API_KEY="your-openai-key" \
enterpilot/gomodel启动后打开 http://localhost:8080/admin/dashboard 配置,然后用标准 OpenAI 接口调用:
curl http://localhost:8080/v1/responses \
-H "Content-Type: application/json" \
-d '{"model": "gpt-5-chat-latest", "input": "Hello!"}'配置方式有三种:.env 环境变量、config.yaml 文件、或仪表盘直接配置。生产环境最安全的做法是用 .env 加载 API key。
值得注意的细节
从提交历史能看出这个项目的工程质量。比如最近加入的 "chatgpt" Provider 支持:可以用 ChatGPT 订阅额度跑 Codex 流量,账单走订阅而不是 OpenAI Platform key。实现上处理了很多边缘情况——上游只支持流式、拒绝 temperature 等参数,GoModel 用白名单构建请求体、把流折叠成非流式响应给调用方;对截断的流正确返回错误而不是"空但成功"的响应。这类细节说明作者在认真对待生产环境的行为。
另一个例子:GoModel 支持 Codex 通过 ChatGPT 订阅计费,并且预置了 gpt-5.6-terra / gpt-5.6-luna 替代 8 月 31 日退役的 gpt-5.4。对用 ChatGPT 订阅省钱跑 Codex 的开发者来说,这是很实用的特性。
适用场景与局限
GoModel 适合这几类人:想把多家模型统一到一个入口的个人开发者和小团队;需要预算硬限制防止 key 被滥用(比如团队共享 key 的场景);想要语义缓存降低重复调用成本的应用;以及对 LiteLLM 的 Python 依赖和体量不满、想要更轻量自托管方案的人。
它和 LiteLLM 的定位高度重合,选择主要看两点:一是你是否偏好 Go 单二进制部署(无 Python 环境依赖、启动快、内存占用低);二是你需要的 Provider 列表是否都被覆盖——GoModel 的覆盖面已经很广,但 LiteLLM 在长尾 Provider 上依然更全。如果只是自用、接几家主流厂商,GoModel 的性能和简洁度是实打实的优势;如果团队有大量小众 Provider 需求,先确认列表再迁移。
© 2026 四月
原文链接:https://www.aprilzz.com/tools/gomodel-go-ai-gateway
相关文章
Lathe:让 AI 教你写代码,而不是替你写代码
Lathe 是一个开源 CLI 工具,它能根据你的需求即时生成多章节动手教程,让你在浏览器中一步步跟着实操,真正学会一个新领域
Mole:一个会查证引用的终端深度研究 Agent,预算硬约束、本地数据不上云
Mole 是一个开源的终端深度研究 agent:强制预算上限、每条声明都带原文引用、本地数据只走本地计算。本文拆解它的架构设计、工具箱模式和实测数据。
turbo-fieldfare:在任意 M 芯片 Mac 上用 2GB 内存跑 Gemma 4 26B 的开源引擎
开源项目 turbo-fieldfare 让 Gemma 4 26B 量化模型在任意 M 系列 MacBook 上仅用 ~2GB 内存即可本地推理,基于 Swift 和 Metal 深度优化