6,733 颗星、727 个 Fork、78 个 Release——这个开源 AI 网关解决了什么问题
6,733 颗星、727 个 Fork、78 个 Release——这个开源 AI 网关解决了什么问题
如果你同时用着 OpenAI、Anthropic Claude 和 Google Gemini 三个服务,每个服务又有多个 API Key,老老实实用到 Rate Limit 就换下一个,手动记录哪个 Key 还剩多少配额——那你大概会喜欢今天要介绍的这个项目:GPT-Load。
它来自独立开发者 tbphp,当前 6,733 颗 GitHub 星、727 个 Fork、78 个 Release,最近一次发布是 2026 年 9 月 9 日的 v2.0.0-rc.11,稳定版为 v1.4.6。整个项目目前还有 18 个 open issues,维护状态相当活跃。
它是什么
GPT-Load 是一个用 Go 语言写的高性能 AI API 透明代理服务器,核心逻辑一句话就能说清:把多个 AI 服务商的多个 API Key 放进去,从另一端出来一个统一的 OpenAI 兼容端点,Key 的轮询、失败切换、负载全都不用你管。
它支持三种主流 AI 服务商的原生 API 格式:
- OpenAI(含官方 API、Azure OpenAI、任何兼容 OpenAI 格式的第三方服务)
- Anthropic Claude(走 native Anthropic API 格式,原生转发,不改结构)
- Google Gemini(Native Gemini API)
也就是说,你的 Claude Code、Cursor、Coze、Flowise,或者任何调用 OpenAI 格式 API 的应用,只需要把请求地址从 https://api.openai.com/v1 换成你自建的 GPT-Load 地址,剩下的一切自动搞定——Key 自动轮询、某个 Key 超速了自动拉黑并等待恢复、请求在多个上游之间按权重分配。
核心功能有哪些
多 Key 自动轮询是最基础的能力。GPT-Load 内置了高性能 Key 管理器,支持分组管理、自动轮换、失败自动拉黑(区分永久错误和临时错误)、以及定时恢复。一个 Key 被拉黑后,系统不会傻等,而是立刻换下一个 Key 重试,直到成功或者所有 Key 都挂掉为止。
加权负载均衡是另一个实用功能。不止支持多 Key 轮询,还支持配置多个上游地址(upstream),并为每个上游设置权重。这在需要同时接入官方 API + 第三方转发服务(比如 Cloudflare AI Gateway)时特别有用,可以把便宜的第三方服务权重设高,官方服务作为 fallback。
热更新配置是生产环境特别看重的细节。修改 .env 配置或者 Key 列表,不需要重启服务,GPT-Load 会自动感知变更并 reload。对于那些跑在容器里不想随意重启的团队,这个功能是刚需。
Vue 3 管理后台提供了一整套可视化管理界面:分组配置、实时请求日志、健康监控、Key 黑名单管理、请求统计。项目还内置了 make validate-keys 命令,可以批量验证 Key 有效性。
部署方式有几档
项目提供了从简单到复杂的完整部署路径:
轻量级(单容器 + SQLite):一条 Docker 命令跑起来,数据存在容器内的 SQLite 文件里,适合个人开发者或者小团队内部使用。
标准级(Docker Compose):通过 docker-compose.yml 启动,默认不开外部数据库,也是 SQLite 模式。适合不想折腾运维,但需要一定稳定性的场景。
生产级(分布式集群):接入 MySQL 或 PostgreSQL 作为数据存储,Redis 作为分布式协调层(Redis 是必须的,MySQL/PostgreSQL 可选)。所有节点连到同一套数据库,实现 leader-follower 水平扩展。
从官方文档来看,Go 源码编译需要 Go 1.23+,Docker 部署则只要有 Docker 环境即可。预编译的二进制覆盖 Linux(amd64/arm64)、macOS(amd64/arm64)、Windows 四个平台。
谁适合用
适合的场景:团队有多个 AI API 账号(官方订阅、第三方经销商、不同区域的 Key),不想在代码里写一堆 Key 轮换逻辑;需要在多个 AI 服务商之间做成本优化,把便宜渠道设高权重、贵的做备份;需要统一监控和日志记录,看清楚每个 Key 的用量和错误率;Claude Code 或 Cursor 需要共用同一个 AI 接入点,而不是各自配一个 Key。
不适合的场景:只是个人学习、只有一个 Key,完全不需要这东西,徒增运维成本;需要 AI 服务商之间的语义理解路由(比如根据问题类型自动选 OpenAI 还是 Claude),GPT-Load 只做透明转发,不做智能路由;已经用了 OneAPI 或者其他成熟方案,迁移成本高于收益。
项目边界要清楚
GPT-Load 不是一个 AI 模型网关,也不是 API 聚合交易平台。它本质上是一个带 Key 管理能力的高性能 HTTP 透明代理,用的是”proxy path first”的高性能设计理念。从官方披露的架构来看,它采用了零拷贝流(zero-copy streaming)、HTTP/2 连接池复用、原子操作等手段来保证并发性能。
安全方面,ClaudeWave 给它打了 Trust Score 100/100(Verified),通过了开源许可证核查和活跃维护状态检查。SkillsLLM 的自动化安全扫描(依赖漏洞审计 + prompt 注入启发式检测)没有发现高危问题。不过要注意:部署时必须修改默认的 AUTH_KEY,默认值是不安全的。
最近更新在做什么
从 GitHub Releases 来看,v1.4.x 系列主要在打磨企业级能力:模型重定向(model redirect)、多数据库驱动支持(MySQL/PostgreSQL)、国际化(中文/英文/日文)、安全加固(edwards25519 库升级修复 CVE-2026-26958)。v2.0.0-rc.11 即将 GA,2.x 版本会切换到新的镜像标签策略(latest 切换到 2.x stable)。
可执行的下一步
如果你的场景正好适用,官方推荐用 Docker Compose 方式部署,只需四步:
# 1. 创建目录
mkdir -p gpt-load && cd gpt-load
# 2. 下载配置文件
wget https://raw.githubusercontent.com/tbphp/gpt-load/refs/heads/main/docker-compose.yml
wget -O .env https://raw.githubusercontent.com/tbphp/gpt-load/refs/heads/main/.env.example
# 3. 修改 .env 中的 AUTH_KEY 为强密码(必须)
# 4. 启动
docker compose up -d
然后访问 http://localhost:3001 进入管理后台,Proxy 端点为 http://localhost:3001/proxy,把 AI 应用的 API Base URL 换成这个地址即可。
项目地址:https://github.com/tbphp/gpt-load
文档站:https://www.gpt-load.com/docs
评论区
登录后可评论。