项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
技术标签
使用教程
—
环境要求
- Docker 与 Docker Compose 环境(官方 Compose 文件使用镜像 ghcr.io/tbphp/gpt-load:2)
- 能访问 ghcr.io 拉取镜像,并可从 GitHub Releases 下载原生二进制(可选)
- 宿主机端口 3001 可用;默认监听地址 HOST=127.0.0.1
- 使用 Codex / Claude / Antigravity 订阅渠道时,OAuth 回调固定端口 1455、54545、51121 需可用(同主机只能跑一个
安装与启动步骤
-
1获取并启动服务
在包含官方 compose 文件的目录执行,拉取 2.x 镜像并后台启动容器,首次启动会初始化 SQLite 数据库和密钥文件。
docker compose pull && docker compose up -d -
2查看运行日志
持续跟踪容器日志,确认服务已监听 3001 端口且没有报错,按 Ctrl+C 退出查看不影响运行。
docker compose logs -f -
3打开管理界面
浏览器访问默认地址,使用管理密钥登录后台,后续渠道、分组、AccessKey 都在这里配置。
-
4添加渠道
选择一个上游服务并添加一个或多个 API Key;订阅渠道按提示完成 OAuth 授权或导入凭据。
-
5创建分组
选取一个渠道,配置该分组下可用的模型和运行时策略,作为对外提供服务的逻辑单元。
-
6创建 AccessKey
设置该 AccessKey 可用的分组和客户端协议,生成后把它交给你的应用作为调用凭据(非管理密钥)。
-
7原生二进制方式(可选)
从 GitHub Releases 下载对应平台构建并先对照 SHA256SUMS 校验,赋可执行权限后前台运行,Windows 用户可改用 gpt-load-windows-setup.exe 安装为服务。
chmod +x ./gpt-load-linux-amd64 HOST=127.0.0.1 DATA_DIR=./data ./gpt-load-linux-amd64 -
8更新与停止服务
更新时重新拉取镜像并重建容器;停止服务用 stop,数据保留在 gpt-load-data 命名卷中。
docker compose pull && docker compose up -d docker compose stop
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
HOST | 否 | 原生监听地址,也是 Compose 主端口和 OAuth 回调端口的默认发布地址 | 127.0.0.1 |
PORT | 否 | HTTP 服务端口,Compose 同时用于容器端口、宿主发布和健康检查 | 3001 |
DATA_DIR | 否 | 存放托管数据库、auth.key、encryption.key 和运行时状态 | ./data |
DATABASE_DSN | 否 | 留空用内置 SQLite;填写后使用外部 SQLite/MySQL/PostgreSQL | mysql://user:password@db.example:3306/gpt_load?charset=utf8m |
AUTH_KEY | 否 | 管理界面和 /api 管理接口的 Bearer 密钥,非数据面 AccessKey | your-management-key |
ENCRYPTION_KEY | 否 | 加密渠道凭据,更换或丢失会导致已有凭据无法解密 | your-encryption-key |
如何确认成功
浏览器能打开 http://127.0.0.1:3001 并进入管理界面,同时 docker compose logs -f 无报错,即启动成功。
常见问题
Q:1.x 的数据能直接迁到 2.0 吗?
A:不能。2.0 无法就地打开、导入或迁移 1.x 数据,升级前请先阅读文档中的 Moving from 1.x 章节。
Q:在 SSH 或远程浏览器下 OAuth 授权失败怎么办?
A:浏览器所在的 localhost 可能访问不到 GPT-Load,把完整的回调 URL 粘贴到授权对话框里即可完成流程。
Q:备份和迁移要注意什么?
A:数据库和 encryption.key 必须一起备份。密钥丢失或被替换后,已加密的渠道凭据无法恢复,且当前版本不支持主密钥轮换。
Q:怎么改用 MySQL 或 PostgreSQL?
A:设置 DATABASE_DSN 即可,支持 SQLite 路径/URL、MySQL URL 和 PostgreSQL URL,容器内的文件路径必须位于已挂载目录中。
Q:latest 镜像是最新版本吗?
A:不是。latest 仍停留在 1.x;官方 Compose 使用的是 ghcr.io/tbphp/gpt-load:2,2.0-beta 是 2.0 Beta 通道。
注意事项
- Compose 默认使用应用托管的 SQLite,数据位于 gpt-load-data 命名卷,包含数据库、auth.key 和 encryption.key。
- 启动时读取当前目录的 .env,已存在的进程环境变量优先级更高;除特别说明外,改动后需重启进程或容器。
- Codex、Claude、Antigravity 的 OAuth 回调端口是固定的,因此一台主机同时只能运行一个默认 Compose 实例。
- HOST=0.0.0.0 会把主端口和 OAuth 回调端口发布到所有宿主网卡,公网部署时注意访问控制。
核心亮点
- Go 单二进制部署,资源占用低,VPS 上即可长期运行
- 同时支持 API Key 和 Claude Code/Codex 订阅账号,覆盖面广
- 内置负载均衡、故障转移和用量日志,多账号管理省心
不足之处
- 配置项较多,新手需要花时间理解渠道与凭据的映射关系
- 文档和社区生态相对年轻,遇到冷门厂商问题可参考案例有限
适用场景
- 个人开发者聚合多个 OpenAI/Claude 账号,统一调用避免单账号限流
- 小团队自建网关,集中管理成员密钥并统计各渠道用量
- 把 Claude Code、Codex 订阅额度接入自有应用,降低 API 成本
替代项目
one-api、LiteLLM
同类项目推荐
freebuff-proxy
开源
聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。
DEPRECATED — moved to https://github.com/trefeon/freelane. Archived; no longer main···
microduck
开源
用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。
A Tiny biped duck robot
ollama
开源
一条命令本地跑起大模型,免费、私密、不卡顿
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···
soperator
开源
用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。
Run Slurm in Kubernetes
