如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
面向多渠道、多凭证场景的自托管 AI 网关
API 密钥、订阅账号、流量调度、故障处理、请求日志与用量统计,所有能力均收敛在统一入口之后。
English · 中文 · 日本語 | 官方网站
成为赞助方
赞助详情(可折叠)
OfoxAI:一站式整合文本、图像、视频能力的 AI 平台。OfoxAI 是统一 AI API 平台,聚合了多家服务商的文本、图像、视频模型。它提供兼容 OpenAI 的端点以及原生 Anthropic、Gemini 接口,开发者可通过单一平台获取构建 AI 应用、智能体和内容生成场景所需的各类模型。立即探索 OfoxAI 的模型与 API →
PackyCode:通过单个 API 端点和单组 API 密钥即可访问主流 AI 模型。服务访问快速可靠,内置自动故障切换能力,并为 Codex 和 Claude Code 提供专属高速链路。新用户可获 1 免费额度,首次充值享折扣,符合条件的链路最高可节省 80% 成本。支持支付,无货币兑换溢价和额外充值手续费。点击专属链接注册即可立即开始开发。
单入口即可接入和管理全球主流 AI 模型。Fluxion AI 面向个人开发者、技术团队和企业提供统一 API,用于接入和管理各类主流 AI 服务。平台采用动态多链路调度提升可用性,模型性能、响应耗时与成本全程透明可查。根据所选模型与链路不同,API 调用成本相比官方基准价可降低 40%–98%。立即访问注册即可获赠 7 *** API 额度(专属链接)。
为中国大陆及全球用户提供网站与 API 的防护加速服务,同时可通过客户端 SDK 将加速与安全能力延伸至原生/移动端应用。服务涵盖自建私有部署 CDN、订阅制高防 CDN,是一套自主可控、可灵活组合的 CDN 网络。
感谢 APIMart 对本项目的赞助!APIMart 是面向 AI 图像与视频生成场景的低成本 API 平台 —— GPT-Image-2 服务低至 0.006 ***/张,1 ***可生成超过 160 张图像。单条异步 API 同时覆盖图像与视频生成能力:提交任务获取任务 ID 后,可通过轮询或回调方式拉取结果。支持数万张图像的批量生成且无超时限制,更换模型无需修改业务代码。采用按量付费模式,无月费门槛,点击此处即可注册使用。
你的应用仅需配置一个基础 URL 和一组 AccessKey 即可完成接入。所有服务商、账号、凭证、模型与路由策略均可在管理后台中配置。
[!WARNING] 如果你当前使用的是 1.x 版本,请先阅读从 1.x 迁移章节。2.0 版本无法直接打开、导入或原地迁移 1.x 版本的数据。
运行环境需提前安装 Docker 与 Docker Compose。
git clone --depth 1 https://github.com/tbphp/gpt-load.git
cd gpt-load
cp .env.example .env
docker compose up -d
确认服务正常启动:
curl --fail http://127.0.0.1:3001/health
首次启动时系统将自动生成管理密钥,请读取并妥善保存:
docker compose exec gpt-load sh -c 'cat /app/data/auth.key'
使用该密钥登录管理控制台。
你也可以在启动前在
.env文件中显式指定AUTH_KEY。默认情况下服务仅监听环回地址,不会暴露到公网。
初始设置共分为三步:
订阅渠道的 OAuth 回调端口说明
Codex、Claude 和 Antigravity 的 OAuth 客户端使用固定回调端口。Docker Compose 会将这些端口绑定到 HOST 变量指定的地址,默认值为 127.0.0.1;若设置 HOST=0.0.0.0,这些回调端口将在宿主机所有网络接口上对外开放。由于上游客户端固定了端口号,单台宿主机同一时间只能运行一个默认配置的 Compose 实例。
如果你通过 SSH 远程连接服务,或使用远程浏览器访问管理后台,浏览器本地的 localhost 可能无法正常回调到 GPT-Load 服务 — 你可以将完整的回调 URL 粘贴到授权对话框中即可完成授权流程。
分组管理 — 在同一页面查看所有渠道、模型、凭证数量、流量数据与服务健康状态
用量统计 — 查看请求趋势、缓存命中率、Token 分类统计与成本估算数据
| 协议 | 主入口地址 |
|---|---|
| OpenAI 聊天补全 | POST /v1/chat/completions |
| OpenAI Responses | /v1/responses 及其所有子资源路径 |
| OpenAI 图像生成 | POST /v1/images/... |
| OpenAI 向量嵌入 | POST /v1/embeddings |
| Rerank 重排序 | POST /v1/rerank |
| Mistral 原生接口 | /v1/ocr、/v1/audio/... |
| Anthropic Messages | POST /v1/messages |
| Gemini | /v1beta/models/... |
| Gemini 向量嵌入 | POST /v1beta/models/{model}:embedContent / :batchEmbedContents |
Docker Compose 默认使用应用自行管理的 SQLite 数据库。数据存储在名为 gpt-load-data 的 Docker 数据卷中,包含数据库文件、auth.key 与 encryption.key。
[!IMPORTANT]
encryption.key用于解密通道凭证。在备份或迁移操作中,数据库与该密钥必须一同留存。一旦密钥丢失或被替换,现有已加密的凭证将无法恢复,且当前版本不支持主密钥轮换。
通过统一的 DATABASE_DSN 即可连接 SQLite、MySQL 或 PostgreSQL:
mysql://user:password@db.example:3306/gpt_load?charset=utf8mb4&collation=utf8mb4_bin
postgres://user:password@db.example:5432/gpt_load?sslmode=require
常用操作命令:
docker compose logs -f # 查看日志
docker compose pull && docker compose up -d # 更新至最新的 2.x 版本镜像
docker compose stop # 停止服务
官方 Compose 配置文件使用镜像 ghcr.io/tbphp/gpt-load:2。在正式发布(GA)前,2 标签对应经过验证的 2.0 Beta 及 RC 版本;正式发布后,该标签将仅追踪稳定的 2.x 发行版。精确镜像标签会省略 Git 标签的 v 前缀(例如 2.0.0-beta.25),而 2.0-beta 始终对应 2.0 Beta 发布通道。latest 标签仍保留指向 1.x 版本。
从 https://github.com/tbphp/gpt-load/releases 下载对应你平台的构建包,首次使用前请先通过配套的 SHA256SUMS 文件完成校验:
chmod +x ./gpt-load-linux-amd64
HOST=127.0.0.1 DATA_DIR=./data ./gpt-load-linux-amd64
随后打开对应页面即可。目前已为 5 个目标平台提供便携版构建包,覆盖 Linux、macOS(amd64 / arm64)以及 Windows;其中 gpt-load-windows-amd64.exe 会像之前一样在前台保持运行。
Windows 桌面用户也可以选择下载 gpt-load-windows-setup.exe。仅需一次管理员权限确认,安装程序就会安装并启动一个低权限 Windows 服务,开启开机自启,同时在桌面和开始菜单创建指向 GPT-Load 管理页面的快捷方式。安装程序在结束前会显示生成的管理密钥,请在关闭页面前妥善保存,受保护的密钥副本会存储在 %ProgramData%\GPT-Load\data\auth.key。服务配置及其对应的 .env 文件位于 %ProgramData%\GPT-Load,持久化数据统一存放在 %ProgramData%\GPT-Load\data。
安装更新版本的安装包时,程序会先优雅停止现有服务,再完成更新。Windows 的卸载操作会移除程序和对应服务,但会保留所有数据。高级用户仍可通过 gpt-load-windows-amd64.exe service start|stop|restart|status 命令管理已安装的服务。
程序启动时会读取当前目录下的 .env 文件,已存在的进程环境变量优先级更高。除非另有说明,所有配置改动都需要重启进程或容器方可生效;通用配置模板可参考 .env.example。
所有环境变量说明
| 变量名 | 默认值 | 说明 |
|---|---|---|
HOST | 127.0.0.1 | 原生模式的监听地址,同时也是 Compose 主端口与 OAuth 回调端口的默认宿主机地址;Compose 在容器内部始终监听 0.0.0.0。 |
PORT | 3001 | HTTP 服务端口,取值范围为 1–65535;Compose 同时会将该值用于容器端口、宿主机发布端口及健康检查配置。 |
BIND_ADDRESS | 为空,继承 HOST 值 | 仅 Compose 配置生效;用于覆盖主服务端口的宿主机发布地址,不会修改 OAuth 回调端口的发布地址。 |
OAUTH_CALLBACK_BIND_ADDRESS | 为空,继承 HOST 值 | 仅 Compose 配置生效;用于覆盖固定 OAuth 回调端口 1455、54545 与 51121 的宿主机发布地址。 |
GRACEFUL_SHUTDOWN_TIMEOUT | 10 | 收到停止信号后等待现有请求处理完成的最大时长,单位为秒,正整数。 |
CONTAINER_STOP_GRACE_PERIOD | 15s | Compose 强制终止容器前的 Docker 等待时长,该值应大于 GRACEFUL_SHUTDOWN_TIMEOUT。 |
READ_TIMEOUT | 60 | HTTP 请求读取超时时间,单位为秒,正整数。 |
IDLE_TIMEOUT | 120 | HTTP 长连接空闲连接超时时间,单位为秒,正整数。 |
DATA_DIR | ./data | 托管数据库、auth.key、encryption.key 以及运行时状态的存储目录;官方 Compose 配置使用 /app/data,Windows 安装版服务则使用 %ProgramData%\GPT-Load\data。 |
DATABASE_DSN | 为空,使用 ${DATA_DIR}/gpt-load.db | 为空时使用程序托管的 SQLite 数据库;非空值支持 SQLite 路径或 URL、MySQL URL 以及 PostgreSQL URL,对应由运维人员管理的外部数据库。容器内的文件路径必须位于已挂载的目录下。 |
DATABASE_MAX_OPEN_CONNECTIONS | 10 | MySQL 和 PostgreSQL 的最大打开连接数,正整数。SQLite 始终仅使用单连接。 |
DATABASE_MAX_IDLE_CONNECTIONS | 5 | MySQL 和 PostgreSQL 的最大空闲连接数,正整数,且不得大于 DATABASE_MAX_OPEN_CONNECTIONS。SQLite 始终仅使用单连接。 |
AUTH_KEY | 为空,读取或生成 ${DATA_DIR}/auth.key | 管理界面与 /api 管理 API 的 Bearer 密钥,并非数据面的 AccessKey。 |
ENCRYPTION_KEY | 为空,读取或生成 ${DATA_DIR}/encryption.key | 用于加密通道凭证;修改或丢失该密钥将导致现有凭证无法解密,请与数据库一同备份。 |
CLIENT_IP_HEADER | 为空,直接使用连接 IP | 客户端 IP 头字段,例如 X-Forwarded-For 或 CF-Connecting-IP;该值缺失或无效时将回退使用连接直连 IP。该字段由日志、AccessKey IP 限制等所有 IP 相关组件共用,支持 IPv4/IPv6 地址。修改后需要重启生效。 |
TRUSTED_PROXIES | 为空 | 可选配置项,为逗号分隔的代理 IP 或 CIDR 网段列表;仅在配置了 CLIENT_IP_HEADER 时生效。为空时代表直接信任选定的请求头,信任关系需要通过你的部署架构来保障。设置该列表后,只有匹配的连接对端可以提供该请求头,其余请求均使用自身的直连 IP。对于 X-Forwarded-For,程序会从右向左扫描找到第一个不受信任的 IP(全部受信任时使用最左侧 IP);未配置该列表时直接取最左侧 IP。其余单 IP 类请求头仅解析一个 IP。修改后需要重启生效。 |
HTTP_PROXY | 为空 | 用于 HTTP 上游请求的环境代理。 |
HTTPS_PROXY | 为空 | 用于 HTTPS 上游请求的环境代理。 |
NO_PROXY | 为空 | 逗号分隔的主机名、域名或 IP 列表,命中该列表的请求将绕过环境代理。 |
LOG_LEVEL | info | 支持 panic、fatal、error、warn、warning、info、debug、trace 等级别;配置无效值时会输出告警并自动回退到 info 级别。 |
LOG_FORMAT | text | 支持 text 和 json 格式;配置其他任意值都会导致程序启动失败。 |
MODELS_DEV_AUTO_SYNC_ENABLED | 未设置,初始默认值为 true | 未设置时,使用管理界面中持久化的配置;设置后将强制开启或关闭 Models.dev 自动同步功能,并将对应界面选项置为只读。 |
环境代理仅会在凭证、分组或全局设置均未单独指定代理时生效。
[!WARNING] GPT-Load 2.0 是完整重写版本。它无法直接打开、导入或原地迁移 1.x 的数据。
请使用独立的数据库、DATA_DIR、端口和 Docker 卷部署 2.0 版本。仅在验证通过后切换流量,并保留原有 1.x 部署,直到回滚窗口期结束。1.4.x 维护分支的文档可在官方文档中查阅。
GPT-Load 的部分功能基于以下项目实现,在此致谢:
| 项目 | 用途 | 许可证 |
|---|---|---|
| https://github.com/maximhq/bifrost | 供应商身份认证、请求/响应转换、流式传输、用量标准化 | Apache-2.0 |
| https://github.com/router-for-me/CLIProxyAPI | 订阅通道的 OAuth 与执行适配器 | MIT |
| https://github.com/lobehub/lobe-icons | 管理界面中的通道品牌图标 | MIT |
GPT-Load 自身实现了凭证存储、账号选择、调度、重试、健康检查、亲和性、日志记录和用量策略功能。第三方声明文件位于 THIRD_PARTY_NOTICES.md,完整许可证文本存放在 LICENSES/ 目录下,每个发布版本都会附带一份覆盖所有 Go 依赖关系的 CycloneDX SBOM 文件。
通道图标用于标识对应的上游服务提供商。所有商标归其各自所有者所有,本项目与这些商标持有者不存在关联关系,也未获得其官方认可或背书。
平台支持
社区支持
基础设施支持
MIT 许可证 · 第三方声明 · 安全策略
来自真实用户的反馈,见证轩辕镜像的优质服务