如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
英文 | 中文 | 日本語
一款高性能、企业级的AI API透明代理服务,专为需要集成多个AI服务的企业和开发者设计。采用Go语言构建,具备智能密钥管理、负载均衡和全面监控能力,适用于高并发生产环境。
详细文档请访问 官方文档
感谢TeamoRouter对本项目的赞助!TeamoRouter是一款企业级Agentic LLM网关,让开发者、AI团队和企业无需单独订阅,即可通过统一API访问Claude Code、Codex、Gemini CLI等AI代理,折扣高达90%。它连接OpenAI、Anthropic、Vertex、Azure、AWS Bedrock等官方提供商和可信合作伙伴,提供经过验证的Agent协议兼容性、请求可追溯性、接近官方的TTFT、99.6%的SLA以及高达5,000 QPM。还包括集中billing、团队管理、BYOK、智能路由、分析、提供商优化和专属支持。Teamo Desktop支持一键设置,无需API密钥管理或手动配置,新用户通过此链接注册可获得首次充值10%的折扣。
非常感谢LINUX DO社区的支持!
本项目由DigitalOcean支持。
GPT-Load作为透明代理服务,完整保留各AI服务提供商的原生API格式:
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替换为强密码(切勿使用默认值),然后即可登录管理界面:
| 设置项 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
| 服务端口 | PORT | 3001 | HTTP服务器监听端口 |
| 服务地址 | HOST | 0.0.0.0 | HTTP服务器绑定地址 |
| 读取超时 | SERVER_READ_TIMEOUT | 60 | HTTP服务器读取超时(秒) |
| 写入超时 | SERVER_WRITE_TIMEOUT | 600 | HTTP服务器写入超时(秒) |
| 空闲超时 | SERVER_IDLE_TIMEOUT | 120 | HTTP连接空闲超时(秒) |
| 优雅关闭超时 | SERVER_GRACEFUL_SHUTDOWN_TIMEOUT | 10 | 服务优雅关闭等待时间(秒) |
| 从节点模式 | IS_SLAVE | false | 集群部署中的从节点标识 |
| 时区 | TZ | Asia/Shanghai | 指定时区 |
| 设置项 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
| 管理员密钥 | AUTH_KEY | - | 管理端的访问认证密钥,请更换为强密码 |
| 加密密钥 | ENCRYPTION_KEY | - | 对静态存储的API密钥进行加密。支持任意字符串,留空则禁用加密。参见数据加密迁移 |
| 设置项 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
| 数据库连接 | DATABASE_DSN | ./data/gpt-load.db | 数据库连接字符串(DSN)或文件路径 |
| Redis连接 | REDIS_DSN | - | Redis连接字符串,留空时使用内存存储 |
| 设置项 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
| 最大并发请求数 | MAX_CONCURRENT_REQUESTS | 100 | 系统允许的最大并发请求数 |
| 启用跨域 | ENABLE_CORS | false | 是否启用跨域资源共享(CORS) |
| 允许的源 | ALLOWED_ORIGINS | - | 允许的源,逗号分隔 |
| 允许的方法 | ALLOWED_METHODS | GET,POST,PUT,DELETE,OPTIONS | 允许的HTTP方法 |
| 允许的请求头 | ALLOWED_HEADERS | * | 允许的请求头,逗号分隔 |
| 允许凭据 | ALLOW_CREDENTIALS | false | 是否允许发送凭据 |
| 设置项 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
| 日志级别 | LOG_LEVEL | info | 日志级别:debug、info、warn、error |
| 日志格式 | LOG_FORMAT | text | 日志格式:text、json |
| 启用文件日志 | LOG_ENABLE_FILE | false | 是否启用文件日志输出 |
| 日志文件路径 | LOG_FILE_PATH | ./data/logs/app.log | 日志文件存储路径 |
GPT-Load会自动从环境变量读取代理设置,用于向上游AI服务提供商发起请求。
| 设置项 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
| HTTP代理 | HTTP_PROXY | - | HTTP请求的代理服务器地址 |
| HTTPS代理 | HTTPS_PROXY | - | HTTPS请求的代理服务器地址 |
| 不使用代理 | NO_PROXY | - | 绕过代理的主机或域名列表,逗号分隔 |
支持的代理协议格式:
http://user:pass@host:porthttps://user:pass@host:portsocks5://user:pass@host:port通过以下地址访问管理控制台:(默认地址)
Web管理界面提供以下功能:
GPT-Load通过分组名称将请求路由到不同的AI服务。使用方法如下:
1. 代理端点格式
{group_name}:在管理界面中创建的分组名称{original_api_path}:与原始AI服务路径保持完全一致2. 认证方式
在Web管理界面中配置代理密钥(Proxy Keys),支持系统级和分组级代理密钥。
3. OpenAI接口示例
GPT-Load目前支持两种与OpenAI兼容的分组类型:
openai(OpenAI聊天补全格式)openai-response(OpenAI响应格式)假设已创建名为openai的分组:
原始调用:
curl -X POST https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-openai-key" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4.1-mini", "messages": [{"role": "user", "content": "Hello"}]}'
代理调用:
curl -X POST http://localhost:3001/proxy/openai/v1/chat/completions \
-H "Authorization: Bearer your-proxy-key" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4.1-mini", "messages": [{"role": "user", "content": "Hello"}]}'
需修改的内容:
https://api.openai.com 替换为 http://localhost:3001/proxy/openaiOpenAI响应格式示例(openai-response分组):
curl -X POST http://localhost:3001/proxy/openai-response/v1/responses \
-H "Authorization: Bearer your-proxy-key" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4.1-mini", "input": "Hello"}'
4. Gemini接口示例
假设已创建名为gemini的分组:
原始调用:
curl -X POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent?key=your-gemini-key \
-H "Content-Type: application/json" \
-d '{"contents": [{"parts": [{"text": "Hello"}]}]}'
代理调用:
curl -X POST http://localhost:3001/proxy/gemini/v1beta/models/gemini-2.5-pro:generateContent?key=your-proxy-key \
-H "Content-Type: application/json" \
-d '{"contents": [{"parts": [{"text": "Hello"}]}]}'
所需更改:
https://generativelanguage.googleapis.com 替换为 http://localhost:3001/proxy/geminikey=your-gemini-key 替换为 代理密钥(Proxy Key)假设已创建名为 anthropic 的组:
原始调用:
curl -X POST https://api.anthropic.com/v1/messages \
-H "x-api-key: sk-ant-api03-your-anthropic-key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model": "claude-sonnet-4-20250514", "messages": [{"role": "user", "content": "Hello"}]}'
代理调用:
curl -X POST http://localhost:3001/proxy/anthropic/v1/messages \
-H "x-api-key: your-proxy-key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model": "claude-sonnet-4-20250514", "messages": [{"role": "user", "content": "Hello"}]}'
所需更改:
https://api.anthropic.com 替换为 http://localhost:3001/proxy/anthropicx-api-key 头中的原始 API 密钥替换为 代理密钥(Proxy Key)OpenAI 聊天补全格式(openai):
/v1/chat/completions - 聊天对话/v1/completions - 文本补全/v1/embeddings - 文本嵌入/v1/models - 模型列表OpenAI 响应格式(openai-response):
/v1/responses - 统一响应生成/v1/models - 模型列表Gemini 格式:
/v1beta/models/*/generateContent - 内容生成/v1beta/models - 模型列表Anthropic 格式:
/v1/messages - 消息对话/v1/models - 模型列表(如可用)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 格式和认证方式。您只需替换端点地址,并使用管理界面中配置的 代理密钥(Proxy Key) 即可无缝迁移。
感谢所有为 GPT-Load 做出贡献的开发者!
MIT 许可证 - 详见 LICENSE 文件。
来自真实用户的反馈,见证轩辕镜像的优质服务