星哥手把手教你自建AI中转站,彻底实现GPT-5.x自由,坑都替你踩完了
做AI开发、跑代码或重度内容创作的朋友,最近是不是经常被月度账单刺痛?GPT Pro 订阅、Claude 高级版、外加各类API调用,一个月轻松破千刀。更别提国内网络环境、支付渠道的连环坑,折腾一圈心力交瘁。
星哥最近实测跑通了一套**“自建API中转站”**方案。每天消耗上亿Token,月成本直接压到官方渠道的零头。别被“中转”两个字吓到,本质就是一层窗户纸。今天星哥把压箱底的搭建链路、核心避坑细节全盘托出,照着做,今晚就能用上你的私人AI算力池。
很多人一听“自建中转”觉得门槛很高,其实核心逻辑就一句话:把网页版ChatGPT的额度,打包成标准API接口。
我们用的开源引擎叫 sub2api。它的作用像个“翻译官+流量调度员”,能把你的多个ChatGPT账号(包括免费额度、低价Team号)的Web会话能力,转换成符合 OpenAI / Anthropic 协议的 API Key。你再把这个 Key 喂给 Codex、Claude Code、OpenClaw 等 CLI 工具,就能绕开官方 API 的高昂计价,实现**“用 Web 的预算,跑 API 的并发”**。
为什么主推 ChatGPT 账号池?因为它的免费额度相对大方,封号策略比 Claude 温和,加上闲鱼等渠道成熟的 Team 号资源,操作空间非常充裕。目前 Codex 链路已跑顺,Claude 的 Web 转 API 仍有波动,星哥也在持续跟进调试。
搭建成功之后的界面:
中转站必须部署在海外节点,否则无法直连官方服务。星哥实测配置拉满性价比,新手按以下步骤走:
1.选购服务器
推荐腾讯云(性价比高,新号可以199/年),节点选日本或美国(切记避开香港)。
星哥的测试,地区选择硅谷,配置2核4G,系统选 Ubuntu。
可以看看星哥推荐地址 y.xgss.net/tx 腾讯云
y.xgss.net/a
SSH 登录:终端执行 ssh root@你的服务器IP,首次连接输入 yes,按提示输入密码。
3.更新系统并且安装Docker
sub2api 官方强烈推荐 Docker Compose 部署。就要给我们的服务器搭建docker环境,依次执行添加官方源、安装 docker-ce 及插件、启动服务并设置开机自启。
安装完成后运行 docker run hello-world 验证环境,看到欢迎语即代表 Docker 就绪。
1.系统更新
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y2.安装基础依赖安装 Docker 和Docker Compose的依赖。
sudo apt install -y ca-certificates curl gnupg3.添加官方 GPG 密钥sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg4.写入仓库地址自动识别 Ubuntu 24.04 的 noble 代号
/dev/null" data-show-line-number="false">echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null5.安装 Docker Engine 与 Composesudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker --version
compose
docker compose version
Docker Compose version v5.1.3# 设置开机自启并立即启动
sudo systemctl enable --now docker
验证容器引擎
三、 部署sub2api 1.部署命令# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
4f55086f7dd0: Pull complete
d5e71e642bf5: Download complete
Digest: sha256:f9078146db2e05e794366b1bfe584a14ea6317f44027d10ef7dad65279026885
Status: Downloaded newer image for hello-world:latestHello from Docker!
环境就绪后,只需3条命令拉起服务:
mkdir -p sub2api
cd sub2api
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/docker-deploy.sh | bash
docker compose up -d跑完后,浏览器访问 http://服务器IP:8080,看到管理面板即部署成功。
调试:如果打不开,先看docker服务是否正常启动,再看防火墙、安全组是否打开!
docker compose logs sub2api | grep "admin password"
sub2api | Generated admin password (one-time): c641ab9ce418cf7ce3bd5e8ab6b07ece账号:admin@sub2api.local
密码:c641ab9ce418cf7ce3bd5e8ab6b07ece
登录后第一件事:改密码!
有域名的朋友建议接入 Cloudflare 并配置 HTTPS,安全性拉满。
四、SSL证书配置
这步可以不操作,如果为了提高安全性,可以给你的sub2api添加一道安全锁。
1.服务器安装acme.sh
(申请证书用),可以参考星哥之前的文章:
2.域名解析acme.sh --help
acme.sh --version # 查看版本# acme.sh --version # 查看版本
https://github.com/acmesh-official/acme.sh
v3.1.4
这里星哥用的域名是: sub2api.20171217.xyz
把域名解析到你的服务器的IP中,再ping一下是否能ping通。
ping sub2api.20171217.xyz
PING sub2api.20171217.xyz (43.167.192.163) 56(84) bytes of data.
64 bytes from 43.167.192.163: icmp_seq=1 ttl=63 time=1.88 ms3.申请SSL证书1. 关闭nginx
systemctl stop nginx
2.--standalone = 自己开个临时服务验证域名。
/root/.acme.sh/acme.sh --issue -d sub2api.20171217.xyz --standalone
3.删除旧的、坏掉的证书配置
/root/.acme.sh/acme.sh --remove -d sub2api.20171217.xyz
4.强制重新申请新证书
/root/.acme.sh/acme.sh --issue -d sub2api.20171217.xyz --standalone --force5. 把申请好的证书,安装复制到你指定的目录
/root/.acme.sh/acme.sh --install-cert -d sub2api.20171217.xyz \
--key-file /root/sub2api/ssl/sub2api.20171217.xyz.key \
--fullchain-file /root/sub2api/ssl/sub2api.20171217.xyz.pem \
--reloadcmd "systemctl reload nginx"
6.重新启动 Nginx,恢复网站运行
systemctl start nginx
配置nginx
vi /etc/nginx/conf.d/sub2api.20171217.xyz.conf
目录是/root/sub2api/ssl
填入
server {
listen 80;
server_name sub2api.20171217.xyz;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name sub2api.20171217.xyz;
underscores_in_headers on;
# SSL 证书
ssl_certificate /root/sub2api/ssl/sub2api.20171217.xyz.pem;
ssl_certificate_key /root/sub2api/ssl/sub2api.20171217.xyz.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers on;# 反向代理 8080
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
}
}
再次访问就可以使用https了
进后台跟着向导走,星哥划3个重点:
1.创建分组
点击分组管理,创建分组
平台选 OpenAI,名称随意,自用费率填 1 即可,其他默认。
2.添加账号
点击账号管理,添加账号
选择OpenAI平台
OAuth授权
核心操作:清空默认模型列表! 这样后续 OpenAI 推出新模型,中转站自动兼容,无需逐个账号手动添加。并发数默认10,按需调整。
并发默认是10,可以按自己喜好增大或者保持不变,我这里改成100。
最后勾选你第一步创建的分组然后点击下一步
生成授权链接 → 用无痕浏览器打开 → 登录 ChatGPT → 输入邮箱验证码。若是 Team 号,选择对应工作区即可。登录成功后页面大概率会报错或空白,别慌!直接复制浏览器地址栏的完整 URL,粘贴回后台确认。挂载成功!
继续会出现以下,出出现这个报错页面,不要慌,直接把浏览器的地址链接全选复制
测试框内输入 GPT-5.5 跑一条请求,秒回即代表链路畅通。
星哥日常会手动轮换几个 163 邮箱注册的 Free 号,追求省心的朋友,闲鱼上几十块的 Team 号池也能完美适配。
4.生成APIKey
添加完账号后,就要生成自己的API Key
点击API密钥
点击用户管理,充值
随便给账号充值,99999999元
如果不充值则会报错
{"code":"INSUFFICIENT_BALANCE","message":"Insufficient account balance"}六、 配置Codex账号池挂好后,在后台生成你的专属 API Key。接下来怎么让本地开发工具用上它?
强烈安利开源路由神器 cc-switch。下载安装后,点击“导入到 CCS”,一键填入你的中转 Key。它支持:
✅ Codex CLI 无缝接管请求
✅ OpenClaw / Hermes 直接调度
✅ 跨端骚操作:把 ChatGPT 的 API 能力,反向喂给 Claude Code 使用!(星哥实测跑代码非常顺滑)
配置完成后,你的终端就能以极低的成本,同时调用多个账号的算力。1亿Token/天随便烧,模型切换零延迟。
给自己账户充值
出现:报错:供应商拒绝了此请求。部分供应商会校验客户端身份,检查失败但实际使用可能正常。的报错
没关系,修改一下
把完整URL打开
再次请求codex就正常的
星哥结语
这套方案跑通后,星哥每月的 AI 账单直接缩水到原来的 1/10。技术本身不神秘,难的是信息差和前期踩坑成本。现在窗户纸捅破了,大家按步骤走一遍,半天时间基本就能搞定。
官方参考:https://github.com/Wei-Shaw/sub2api/blob/main/README_CN.md
⚠️ 温馨提示:
1. 中转站本质是流量调度与账号池管理,稳定性取决于账号质量。建议定期轮换、控制单号高频并发,遵守平台使用规范。
2. Claude 的 Web 转 API 协议目前仍有变动,星哥已在持续测试新适配方案,后续有突破会第一时间同步。
3. 商业使用请评估合规风险,个人学习与开发强烈推荐此方案。
热门跟贴