Aurora 将 ChatGPT Web 后端能力转换为类 OpenAI API,支持聊天、Responses、文件问答、图片生成、图片变体、语音转文字、文字转语音、模型列表,以及通过 refresh_token / session_token 获取可用的 ChatGPT access_token。
完整接口、鉴权、token 换取和 curl 示例请查看:API.md
- OpenAI 风格的
/v1/chat/completions,支持流式和非流式返回,支持temperature/top_p/max_tokens/stop/reasoning_effort/response_format/stream_options.include_usage等参数。 - 工具调用 (Tool Calling) 模拟 — ChatGPT Web 不原生支持 function calling,Aurora 通过
<tool_call>文本协议模拟该能力,支持tools/tool_choice字段,自动注入 system prompt 并解析模型输出中的<tool_call>块为标准 OpenAI 格式的tool_calls。 - OpenAI 风格的
/v1/responses,支持字符串输入、消息数组、instructions、流式事件,以及reasoning.effort/text.query.format/temperature等参数。 /v1/files文件上传,上传后可在聊天或 Responses 请求中携带file_id做文件问答。/v1/images/generations图片生成,模型列表包含gpt-image-2,支持 SSE 流式返回,支持 URL 或b64_json。/v1/images/edits改图 +/v1/images/variations图生图(变体)。/v1/audio/speech语音合成(TTS),兼容常见 OpenAI voice 和输出格式。/v1/audio/transcriptions语音转文字,支持 mp3/wav/m4a/ogg/flac/webm 格式。/v1/audio/translations音频翻译为英文。/v1/models模型列表接口。/auth/refresh:传入 OpenAIrefresh_token获取access_token。/auth/session:传入 ChatGPTsession_token获取新的session_token和access_token。/backend-api/conversation原始 ChatGPT conversation 请求透传。- 支持
access_tokens.txt账号池、free_tokens.txt免费 UUID 池、自动生成免费账号、代理池、TLS。
git clone https://github.com/aurora-develop/aurora
cd aurora
go build -o aurora
chmod +x ./aurora
./auroradocker run -d \
--name aurora \
-p 8080:8080 \
ghcr.io/aurora-develop/aurora:latestmkdir aurora
cd aurora
# 将仓库中的 docker-compose.yml 放到当前目录后执行:
docker-compose up -d默认情况无需额外配置。可以通过 .env、系统环境变量或同名部署平台环境变量配置:
# 服务监听
SERVER_HOST=0.0.0.0
SERVER_PORT=8080
PORT=8080
# 鉴权
Authorization=your_authorization
# 免费账号
FREE_ACCOUNTS=true
FREE_ACCOUNTS_NUM=1024
# HTTPS
TLS_CERT=path_to_your_tls_cert
TLS_KEY=path_to_your_tls_key
# 代理
PROXY_URL=your_proxy_url
http_proxy=
# 转发代理(可选,给 backend-api / files 端点单独配置)
API_REVERSE_PROXY=
FILES_REVERSE_PROXY=
# 自定义 BASE_URL(默认 https://chatgpt.com/backend-api)
BASE_URL=
# 流式响应开关(设为 false 时 Chat Completions 强制返回完整响应)
STREAM_MODE=true
# 是否在请求中保留历史上下文(设为 true 启用)
ENABLE_HISTORY=false
# 工具调用模拟
TOOL_CALLING_ENABLED=true
REFUSAL_RETRIES=3
# DEBUG_TOOL_LOG=tool_debug.log说明:
SERVER_HOST/SERVER_PORT:服务监听地址和端口。PORT为SERVER_PORT的 fallback。Authorization:服务访问 key。配置后,请求头需携带Authorization: Bearer your_authorization。FREE_ACCOUNTS:是否自动生成免费 UUID 账号,默认关闭。FREE_ACCOUNTS_NUM:自动生成免费 UUID 账号数量,默认 1024。TLS_CERT/TLS_KEY:同时配置时启用 HTTPS。PROXY_URL:代理池地址。http_proxy为备用代理地址。API_REVERSE_PROXY/FILES_REVERSE_PROXY:分别给/backend-api/*和/files端点单独配置转发代理,不配置时走默认代理。BASE_URL:自定义上游 ChatGPT API 地址,默认https://chatgpt.com/backend-api。STREAM_MODE:设为false时强制关闭 Chat Completions 流式返回,默认true。ENABLE_HISTORY:设为true时在请求中保留对话历史上下文。TOOL_CALLING_ENABLED:设为false时忽略请求中的tools字段,关闭工具调用模拟。REFUSAL_RETRIES:模型陷入 "sandbox 拒绝" 循环时的最大重试次数,默认3。DEBUG_TOOL_LOG:设为文件路径时,将每次工具解析的详细 trace 写入该文件(调试用)。
本地账号文件:
access_tokens.txt:每行一个 ChatGPTaccess_token,用于需要登录账号的能力。free_tokens.txt:每行一个 UUID device id,作为免费账号池。
- 图片、TTS、文件能力依赖登录态 access token,免费 UUID 账号不可用。
STREAM_MODE=false时会强制关闭 Chat Completions 流式返回。- 本项目是 ChatGPT Web 能力转换服务,接口形状尽量兼容 OpenAI API,但并非 OpenAI 官方服务。
感谢各位大佬的 PR 支持。
MIT License