关于 GoModel
GoModel 是面向运营 LLM 提供商和 MCP 服务的团队的可自托管 AI 网关,提供兼容 API、用量控制与路由,并将多个 MCP 服务汇聚到单一认证端点。
主要功能
- 01将 MCP 服务汇聚到单一端点
- 02兼容 OpenAI 和 Anthropic API
- 03响应缓存与成本跟踪
- 04预算、速率限制和访问控制
- 05提供商故障转移与虚拟模型
- 06Prometheus 指标和 OpenTelemetry 跟踪
适用场景
- 01通过一个认证端点提供多个 MCP 服务
- 02按密钥或团队跟踪并限制模型支出
- 03在多个提供商间路由请求并故障转移
- 04通过网关使用现有 OpenAI 或 Anthropic SDK
MCP 相关
GoModel 汇聚上游 MCP 服务,并通过单一认证 HTTP 端点向 MCP 客户端提供访问。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e GOMODEL_MASTER_KEY -e MCP_SERVERS docker.io/enterpilot/gomodel:0.1.109GOMODEL_MASTER_KEY密钥Gateway API key clients authenticate with; unset runs the gateway in unsafe (no-auth) mode.MCP_SERVERSJSON object of upstream MCP servers to aggregate, e.g. {"github":{"url":"https://api.githubcopilot.com/mcp/","headers":{"Authorization":"Bearer ${GITHUB_PAT}"}}}. Servers can also be declared in config.yaml or the admin dashboard.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
GoModel - 您所需的最后一个 AI 网关
GoModel 是速度最快、资源效率最高的 AI 网关(可自行复现的基准测试)。它是 LiteLLM(近期遭到攻击)和 Portkey(已不再在 GitHub 上维护)的替代方案。
(点击上方动画 ↑ 查看实时演示)
GoModel 为您省钱,也省心。
省钱 - 因为您可以在这一层缓存响应、跟踪支出,还能使用提示词压缩和智能路由等功能。
省心 - 因为我们致力于提供优质、可靠的体验。我们的目标是打造您所需的最后一个 AI 网关——最可靠、资源利用最优、功能丰富且速度快。
快速开始
步骤 1: 安装并启动 GoModel
Docker
docker run --rm -p 8080:8080 \
-v gomodel_data:/app/data \
enterpilot/gomodel
macOS / Linux
curl -fsSL https://gomodel.enterpilot.io/install.sh | sh
# OPENAI_API_KEY="your-openai-key" # (optional)
gomodel
Windows (PowerShell)
irm https://gomodel.enterpilot.io/install.ps1 | iex
# $env:OPENAI_API_KEY = "your-openai-key" # (optional)
gomodel
ℹ️ 使用 .env、config.yaml 文件配置 GoModel,或直接在仪表板中管理最重要的设置。
ℹ️ 完整的环境变量列表(包括所有可用的提供商)请参阅 .env.template。
步骤 2: 打开仪表板并添加提供商
http://localhost:8080/admin/dashboard
步骤 3: 发起 API 调用
curl http://localhost:8080/v1/responses \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5-chat-latest",
"input": "Hello!"
}'
GoModel 与官方 SDK
GoModel 支持两种兼容的请求格式:
- OpenAI 兼容格式,路径为
/v1 - Anthropic 兼容格式,路径为
/v1/messages
因此,官方 SDK 无需修改即可使用。请按如下方式配置基础 URL:
- OpenAI SDK:
http://localhost:8080/v1 - Anthropic SDK:
http://localhost:8080(SDK 会自动追加/v1/messages)
支持的 LLM 提供商列表
- OpenAI
- Anthropic
- xAI(Grok)
- Google Gemini
- Cohere
- Vertex AI
- DeepSeek
- Groq
- Fireworks AI
- Together AI
- Meta(Muse Spark)
- OpenRouter
- Z.ai
- Alibaba Cloud Model Studio(Bailian)
- Kilo AI
- Eden AI
- MiniMax
- Xiaomi MiMo
- OpenCode Go
- Azure OpenAI
- Oracle
- Ollama
- SGLang
- vLLM
- llm-d
- Amazon Bedrock Runtime 和 Bedrock Mantle
- ChatGPT(Codex 后端)和 Claude
- GitHub Copilot
- ElevenLabs(文本转语音和语音转文本)
- Jev(TypeSafe System One 决策 API)和可自托管的 Kev,也可通过 OpenAI 的 Decisions API 使用
- 所有兼容 OpenAI 的提供商
请参阅提供商概览,了解完整的提供商功能对照表。
Docker Compose
仅基础设施(Redis、PostgreSQL、MongoDB、Adminer - 不构建镜像):
cp .env.template .env
# Add your API keys to .env
docker compose up -d
# or: make infra
完整堆栈(新增 GoModel 和 Prometheus;构建应用镜像):
docker compose --profile app up -d
# or: make image
API 文档
网关配置
GoModel 按以下顺序解析配置,每个来源都会覆盖其左侧的来源:
良好默认值 → config.yaml → .env → 导出的环境变量
请参阅配置参考,了解完整的设置列表。
功能
- 缓存 - 精确和语义响应缓存,让重复提示词无需花费
- 成本跟踪 - 在仪表板中查看每个请求的成本估算、用量分析和支出明细
- 预算 - 为每位用户、团队或密钥设置硬性支出限额
- 速率限制 - 为每条用户路径、提供商或模型设置请求数、令牌数和并发数上限
- 用量 API - 客户端使用已有的推理密钥,查询自身用量、剩余预算和速率限制余量
- 虚拟模型 - 在稳定的模型名称后配置别名和负载均衡(轮询或按成本分配)
- 会话保持 - 检测客户端会话并将其固定到一个目标和提供商密钥,以保持提供商提示词缓存处于热状态,并让审计日志以线程形式呈现
- 故障转移 - 自动将请求重新路由到备用提供商,并支持重试和熔断器
- 标记 - 根据 HTTP 标头或 API 密钥为请求添加标签,并按标签细分用量
- 用户路径 - 按层级划分密钥、模型访问权限、预算、用量和审计日志
- 模型访问控制 - 为每个组、用户和密钥配置模型允许列表,并沿用户路径树逐级取交集
- MCP 网关 - 将 MCP 服务聚合到一个经过身份验证的端点后
- 直通 API - 通过
/p/{provider}/...访问提供商原生 API,并使用 GoModel 进行身份验证和跟踪 - 音频和图像 API - 提供兼容 OpenAI 的文本转语音、转录以及图像生成和编辑,并沿用与聊天相同的访问规则、预算和成本跟踪
- 提供商重放状态 - 在不同轮次、API 和提供商之间保留 Gemini 思考签名和 Anthropic 思考块
- 护栏 - 在网关强制执行请求和响应策略
- 插件 - 为护栏、响应和流过滤器、标头编辑以及路由策略提供统一约定;可内置、编译到程序中,或在启动时从
.so加载 - 工作流 - 版本化的逐请求策略,可按用户路径、提供商或模型限定缓存、预算、审计日志、护栏阶段和故障转移
- 提供商密钥轮换 - 轮流使用多个 API 密钥,以提高每个密钥的速率限制
- 可观测性 - 在仪表板中查看 Prometheus 指标、OpenTelemetry 追踪、审计日志和实时请求流
- 游乐场 - 在仪表板中试用任意模型或虚拟模型,并查看确切的请求和响应 JSON
GoModel Pro
GoModel Pro 是商业版:具备相同的网关、配置和仪表盘,并提供经过授权的扩展功能。
- 提示词压缩 - 在请求到达提供方之前,移除重复和结构性上下文,同时不改变请求的形态
- 智能路由 - 将每个请求分类为简单或复杂,然后在相应层级中选择状态最佳且成本最低的提供方
- OIDC 单点登录 - 使用带 PKCE 的 Authorization Code 流程,通过身份提供方保护仪表盘
更多内容请参阅文档……
路线图
请参阅 路线图,了解 GoModel Pro 和即将发布的 0.2.0 版本。
赞助者
社区
我们在 Discord 上。欢迎来交流,告诉我们你对 GoModel 的看法。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
