专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
ghcr.io/tbphp/gpt-load

ghcr.io/tbphp/gpt-load:v1.4.8

ghcr.iolinux/amd64v1.4.8大小: 未知更新于 2026年5月29日

GPT-Load

English | 中文 | 日本語

一款高性能、企业级的AI API透明代理服务,专为需要集成多个AI服务的企业和开发人员设计。基于Go构建,具备智能密钥管理、负载均衡和全面监控能力,适用于高并发生产环境。

详细文档请访问官方文档

功能特性

  • 透明代理:完全保留原生API格式,支持OpenAI、Google Gemini、Anthropic Claude等格式
  • 智能密钥管理:高性能密钥池,支持分组管理、自动轮换和故障恢复
  • 负载均衡:多上游端点加权负载均衡,提升服务可用性
  • 智能故障处理:自动密钥黑名单管理与恢复机制,确保服务连续性
  • 动态配置:系统设置和分组配置支持热重载,无需重启
  • 企业级架构:分布式主从部署,支持水平扩展和高可用
  • 现代管理方式:基于Vue 3的Web管理界面,直观易用
  • 全面监控:实时统计、健康检查和详细请求日志
  • 高性能设计:零拷贝流处理、连接池复用和原子操作
  • 生产就绪:优雅关闭、错误恢复和全面安全机制
  • 双重认证:管理端与代理端分离认证,代理认证支持全局和分组级密钥

支持的AI服务

GPT-Load作为透明代理服务,完全保留各AI服务提供商的原生API格式:

  • OpenAI格式:官方OpenAI API、Azure OpenAI及其他OpenAI兼容服务
  • Google Gemini格式:Gemini Pro、Gemini Pro Vision等模型的原生API
  • Anthropic Claude格式:Claude系列模型,支持高质量对话和文本生成

快速开始

系统要求

  • Go 1.24+(源码构建时需要)
  • Docker(容器化部署时需要)
  • MySQL、PostgreSQL或SQLite(数据库存储)
  • Redis(缓存和分布式协调,可选)

方法1:Docker快速启动

docker run -d --name gpt-load \
-p 3001:3001 \
-e AUTH_KEY=your-secure-key-here \
-v "$(pwd)/data":/app/data \
ghcr.io/tbphp/gpt-load:latest

[!NOTE] 请将your-secure-key-here替换为强密码(切勿使用默认值),然后即可登录管理界面:

方法2:使用Docker Compose(推荐)

安装命令:

# 创建目录
mkdir -p gpt-load && cd gpt-load

# 下载配置文件
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

# 编辑.env文件,将AUTH_KEY修改为强密码。切勿使用默认值或sk-123456等简单密钥。

# 启动服务
docker compose up -d

部署前必须修改默认管理员密钥(AUTH_KEY)。推荐格式:sk-prod-[32位随机字符串]。

默认安装使用SQLite版本,适用于轻量级单实例应用。

如需安装MySQL、PostgreSQL和Redis,请在docker-compose.yml文件中取消所需服务的注释,配置相应环境变量并重启。

其他命令:

# 检查服务状态
docker compose ps

# 查看日志
docker compose logs -f

# 重启服务
docker compose down && docker compose up -d

# 更新到最新版本
docker compose pull && docker compose down && docker compose up -d

部署后:

  • 访问Web管理界面:
  • API代理地址:

[!NOTE] 使用修改后的AUTH_KEY登录管理界面。

方法3:源码构建

源码构建需要本地安装数据库(SQLite、MySQL或PostgreSQL)和Redis(可选)。

# 克隆并构建
git clone https://github.com/tbphp/gpt-load.git
cd gpt-load
go mod tidy

# 创建配置
cp .env.example .env

# 编辑.env文件,将AUTH_KEY修改为强密码。切勿使用默认值或sk-123456等简单密钥。
# 修改.env中的DATABASE_DSN和REDIS_DSN配置
# REDIS_DSN为可选配置,若不配置则启用内存存储

# 运行
make run

部署后:

  • 访问Web管理界面:
  • API代理地址:

[!NOTE] 使用修改后的AUTH_KEY登录管理界面。

方法4:集群部署

集群部署要求所有节点连接到同一个MySQL(或PostgreSQL)和Redis,且Redis为必填项。建议使用统一的分布式MySQL和Redis集群。

部署要求:

  • 所有节点必须配置相同的AUTH_KEY、DATABASE_DSN、REDIS_DSN
  • 主从架构中,从节点必须配置环境变量:IS_SLAVE=true

详细信息请参考集群部署文档

配置系统

配置架构概述

GPT-Load采用双层配置架构:

1. 静态配置(环境变量)

  • 特点:应用启动时读取,运行时不可修改,需重启应用生效
  • 用途:数据库连接、服务器端口、认证密钥等基础设施配置
  • 管理方式:通过.env文件或系统环境变量设置

2. 动态配置(热重载)

  • 系统设置:存储在数据库中,为整个应用提供统一行为标准
  • 分组配置:为特定分组定制的行为参数,可覆盖系统设置
  • 配置优先级:分组配置

系统设置 环境配置

  • 特点:支持热重载,修改后立即生效,无需重启应用

静态配置(环境变量)

服务器配置:

安全配置:

设置项环境变量默认值描述
管理密钥AUTH_KEY-管理端访问认证密钥,请更改为强密码
加密密钥ENCRYPTION_KEY-加密存储API密钥。支持任意字符串,留空则禁用加密。详见数据加密迁移

数据库配置:

设置项环境变量默认值描述
数据库连接DATABASE_DSN./data/gpt-load.db数据库连接字符串(DSN)或文件路径
Redis连接REDIS_DSN-Redis连接字符串,留空时使用内存存储

性能与跨域配置:

设置项环境变量默认值描述
最大并发请求数MAX_CONCURRENT_REQUESTS100系统允许的最大并发请求数
启用跨域资源共享ENABLE_CORSfalse是否启用跨域资源共享(CORS)
允许的源ALLOWED_ORIGINS-允许的源,逗号分隔
允许的方法ALLOWED_METHODSGET,POST,PUT,DELETE,OPTIONS允许的HTTP方法
允许的请求头ALLOWED_HEADERS*允许的请求头,逗号分隔
允许凭据ALLOW_CREDENTIALSfalse是否允许发送凭据

日志配置:

设置项环境变量默认值描述
日志级别LOG_LEVELinfo日志级别:debug、info、warn、error
日志格式LOG_FORMATtext日志格式:text、json
启用文件日志LOG_ENABLE_FILEfalse是否启用文件日志输出
日志文件路径LOG_FILE_PATH./data/logs/app.log日志文件存储路径

代理配置:

GPT-Load会自动从环境变量读取代理设置,以向上游AI服务提供商发起请求。

设置项环境变量默认值描述
HTTP代理HTTP_PROXY-HTTP请求的代理服务器地址
HTTPS代理HTTPS_PROXY-HTTPS请求的代理服务器地址
不使用代理NO_PROXY-逗号分隔的主机或域名列表,用于绕过代理

支持的代理协议格式:

  • HTTP:http://user:pass@host:port
  • HTTPS:https://user:pass@host:port
  • SOCKS5:socks5://user:pass@host:port

动态配置(热重载)

基本设置:

设置项字段名默认值分组覆盖描述
项目URLapp_urlhttp://localhost:3001❌项目基础URL
全局代理密钥proxy_keys初始值来自AUTH_KEY❌全局有效的代理密钥,逗号分隔
日志保留天数request_log_retention_days7❌请求日志保留天数,0表示不清理
日志写入间隔request_log_write_interval_minutes1❌日志写入数据库周期(分钟)
启用请求体日志enable_request_body_loggingfalse✅是否在请求日志中记录完整请求体内容

请求设置:

设置项字段名默认值分组覆盖描述
请求超时时间request_timeout600✅转发请求完整生命周期超时时间(秒)
连接超时时间connect_timeout15✅与上游服务建立连接的超时时间(秒)
空闲连接超时时间idle_conn_timeout120✅HTTP客户端空闲连接超时时间(秒)
响应头超时时间response_header_timeout600✅等待上游响应头的超时时间(秒)
最大空闲连接数max_idle_conns100✅连接池最大总空闲连接数
每主机最大空闲连接数max_idle_conns_per_host50✅每个上游主机的最大空闲连接数
代理URLproxy_url-✅用于转发请求的HTTP/HTTPS代理,为空时使用环境变量配置

密钥配置:

设置项字段名默认值分组覆盖描述
最大重试次数max_retries3✅单个请求使用不同密钥的最大重试次数
黑名单阈值blacklist_threshold3✅密钥累计失败多少次后被列入黑名单
密钥验证间隔key_validation_interval_minutes60✅后台定时密钥验证周期(分钟)
密钥验证并发数key_validation_concurrency10✅后台验证无效密钥的并发数
密钥验证超时时间key_validation_timeout_seconds20✅后台验证单个密钥的API请求超时时间(秒)

数据加密迁移

GPT-Load支持API密钥的加密存储。您可以随时启用、禁用或更改加密密钥。

查看数据加密迁移详情

迁移场景

Important Notes

[!IMPORTANT] 重要提醒:

  • 一旦ENCRYPTION_KEY丢失,加密数据将无法恢复! 请安全备份此密钥。建议使用密码管理器或安全密钥管理系统。
  • 迁移前必须停止服务,以避免数据不一致。
  • 强烈建议备份数据库,以防迁移失败需要恢复。
  • 为确保安全,密钥应使用32个字符或更长的随机字符串。
  • 迁移后确保 .env 中的 ENCRYPTION_KEY 与 --to 参数匹配。
  • 如果禁用加密,请移除或清空 ENCRYPTION_KEY 配置。

密钥生成示例

# 生成安全随机密钥(32个字符)
openssl rand -base64 32 | tr -d "=+/" | cut -c1-32

Web管理界面

访问管理控制台的地址:(默认地址)

界面概述

Web管理界面提供以下功能:

  • 仪表盘:实时统计数据和系统状态概览
  • 密钥管理:创建和配置AI服务提供商组,添加、删除和监控API密钥
  • 请求日志:详细的请求历史和调试信息
  • 系统设置:全局配置管理和热重载

6. 支持的接口

OpenAI 聊天补全格式 (openai):

  • /v1/chat/completions - 聊天对话
  • /v1/completions - 文本补全
  • /v1/embeddings - 文本嵌入
  • /v1/models - 模型列表
  • 以及所有其他 OpenAI 兼容接口

OpenAI 响应格式 (openai-response):

  • /v1/responses - 统一响应生成
  • /v1/models - 模型列表
  • 以及所有其他 OpenAI Responses 兼容接口

Gemini 格式:

  • /v1beta/models/*/generateContent - 内容生成
  • /v1beta/models - 模型列表
  • 以及所有其他 Gemini 原生接口

Anthropic 格式:

  • /v1/messages - 消息对话
  • /v1/models - 模型列表(如可用)
  • 以及所有其他 Anthropic 原生接口

7. 客户端 SDK 配置

OpenAI Python SDK:

from openai import OpenAI

client = OpenAI(
api_key="your-proxy-key", # 使用代理密钥
base_url="http://localhost:3001/proxy/openai" # 使用代理端点
)

response = client.chat.completions.create(
model="gpt-4.1-mini",
messages=[{"role": "user", "content": "Hello"}]
)

Google Gemini SDK (Python):

import google.generativeai as genai

# 配置 API 密钥和基础 URL
genai.configure(
api_key="your-proxy-key", # 使用代理密钥
client_options={"api_endpoint": "http://localhost:3001/proxy/gemini"}
)

model = genai.GenerativeModel('gemini-2.5-pro')
response = model.generate_content("Hello")

Anthropic SDK (Python):

from anthropic import Anthropic

client = Anthropic(
api_key="your-proxy-key", # 使用代理密钥
base_url="http://localhost:3001/proxy/anthropic" # 使用代理端点
)

response = client.messages.create(
model="claude-sonnet-4-20250514",
messages=[{"role": "user", "content": "Hello"}]
)

[!IMPORTANT] 作为透明代理服务,GPT-Load 完全保留了各类 AI 服务的原生 API 格式和认证方式。您只需替换端点地址,并使用管理界面中配置的 代理密钥 即可实现无缝迁移。

相关项目

  • https://github.com/QuantumNous/new-api - 优秀的 AI 模型聚合管理与分发系统

贡献

感谢所有为 GPT-Load 做出贡献的开发者!

支持者

  • 非常感谢 LINUX DO 社区的支持!

  • 本项目由 DigitalOcean 支持。

许可证

MIT 许可证 - 详见 LICENSE 文件。

星级历史

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

轩辕镜像支持 docker push 上传本地镜像吗?

不支持 push

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

为什么拉取镜像的 :latest 标签,拿到的往往不是「最新」镜像?

latest 与「最新」

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/tbphp/gpt-load
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单。官方公众号:源码跳动。官方技术交流群:51517718。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单。官方公众号:源码跳动。官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.