一篇教你从0搭建中转站!超高性价比 token 自由,爽用 GPT-5.4
先说结论:如果你有腾讯云海外服务器(或者其他海外服务器),看完这篇文章,你几乎 0 成本搭建一个属于自己的 AI API 中转站,彻底告别第三方中转的各种坑。某鱼买两个 GPT Business 账号实现超高性价比的 token 自由。

⚡ AI 打工:如果你觉得手动配置太麻烦,可以直接跳到文末,复制提示词给 Claude Code / Codex,让 AI Agent 自动帮你搭建!
我为什么要自己搭中转站?
痛点一:烧钱太快
OpenClaw 烧起 token 来,真的太快了。我的 GPT Plus 周套餐限额,一个周六就烧完了。想用国内的阿里/腾讯 Coding Planning?天天蹲守都抢不到。
痛点二:第三方中转太坑
这段时间我用过很多家中转站,很少有让我省心:
• 便宜的,他又可能用 其他模型 冒充 GPT、Claude 😡 • 贵的经常超时断开 • 最离谱最过分的是某些中转站,前面用的好好的,等你开始大量充值之后突然跑路,钱直接打水漂
我掀桌了!
不就是中转站吗?不就是 token 吗?我自己搭一个!很简单,我成“中转站”不就是了

一、第三方中转可能存在的隐患
第三方中转站到底有多坑?我查了很多资料,总结出五大隐患:
💰 第一坑:模型造假
2024年 CISPA 发布的论文《Real Money, Fake Models》直接撕开了行业的底裤:
• 审计了 17 家主流中转站 • 45% 的中转站存在造假 • 测试失败率高达 45.83% • 性能差异约 47.21%
你以为用的是 GPT-4,实际上可能是 GLM 冒充的。
📊 第二坑:流量虚扣
某些黑心中转站会:
• 伪造调用日志,每次多计 10%-30% Token • 在后台批量生成无效请求,暗中消耗你的额度 • 你的钱就这样不明不白地没了
🏃 第三坑:卷款跑路
最常见的套路:
• 打着”首充5折””充100送50″的幌子拉新 • 收够钱后直接关站跑路 • 预付资金全部打水漂,连客服都找不着人
🔓 第四坑:数据安全
你的数据经过第三方中转站:
• 对方想看就能看 • 商业机密、用户隐私全部暴露 • 你的 Prompt、代码、文档都在别人手里
⚠️ 第五坑:服务不稳定
实际体验:
• 某平台提交 10 个任务只能成功 2 个 • 高并发时被风控,服务说挂就挂 • 关键时刻掉链子,影响工作效率
二、搭建中转站的环境准备
海外服务器 VPS,注意地区选海外的,如果你近期已经买了 VPS 用来部署小龙,恭喜你,省下一笔
• 腾讯云 (https://curl.qcloud.com/n8iXqw1D)(新用户 99 元,建议选 Ubuntu 24.04 LTS) 
• 我自己在用的是 lisahost(https://lisahost.com/aff.php?aff=8592),因为我最近刚好为了订阅 Claude Code,需要稳定住宅 IP,就 /中转站两用了。
2. 域名
• 可以去 dnshe(https://my.dnshe.com/index.php?m=domain_hub),输入我的邀请码:【NU4D66616E】,薅免费域名,但注意别用于商业用途。 • 腾讯域名专场 (https://cloud.tencent.com/act/pro/domain-dnspod?from=27787&cps_key=1d358d18a7a17b4a6df8d67a62fd3d3d),选最便宜 10 元以下的就行了


得到的 Neon 和 Upstash 的连接信息,如下:
# Neon PostgreSQL# 在「Project dashboard」界面,点击「Connect string」# 点击「Copy snippet」出现下面链接postgresql://neondb_owner:npg_9rHtzxb4NdSY@ep-plain-term-a15dqyl2.ap-southeast-1.aws.neon.tech/neondb?sslmode=require&channel_binding=require# ⚠️ 重要:如果链接中包含 -pooler,需要去掉!# ❌ 错误:ep-plain-term-a15dqyl2-pooler.ap-southeast-1.aws.neon.tech# ✅ 正确:ep-plain-term-a15dqyl2.ap-southeast-1.aws.neon.tech# Upstash Redis# 首页的「Endpoint」点击 Copyredis-cli --tls -u redis://default:gQAAAAAAARiAAAIncDIzZDcxMmRiMWFkOWI0ODMxODg1YTg5YTE4MzRkOTZjZnAyNzE4MDg@concise-locust-71808.upstash.io:6379
三、中转站防风控关键,Cloudflare WARP 配置
1. 服务器安装与配置 Cloudflare WARP
# 1. 更新系统并安装必要的依赖工具apt update && apt install -y curl gpg lsb-release# 2. 获取并添加 Cloudflare 的官方 GPG 密钥()curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes--dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg# 3. 添加对应的软件源到系统列表中echo"deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com$(lsb_release -cs)main"|tee/etc/apt/sources.list.d/cloudflare-client.list# 4. 更新软件列表并安装 WARP 客户端apt update && apt install -y cloudflare-warp# 5. 设置 WARP 服务开机自启,防止服务器重启后掉线systemctlenable--now warp-svc
等待结束,进入第2步
2. 注册、启动与测试 WARP 代理
# 1. 注册免费设备账号warp-cli --accept-tos registration new# 2. 将运行模式切换为“仅代理模式”(Proxy Mode)warp-cli mode proxy# 3. 设置本地 SOCKS5 代理监听端口(以 40000 为例)warp-cli proxy port 40000# 4. 连接到 Cloudflare WARP 网络warp-cli connect# 5. 验证本地端口是否监听成功warp-cli status

# 6. 测试:使用 curl 挂载代理请求探针,验证出境流量是否已被接管curl --socks5-hostname 127.0.0.1:40000 https://1.1.1.1/cdn-cgi/trace# 如果返回的文本中包含 "warp=on",说明代理伪装成功!

这一步就完成了。
四、Cloudflare 配置域名,服务器配置域名解析
为什么要用 Cloudflare?简单说,就是给你的服务器加个免费保镖:
传统 DNS 的问题:
• ❌ 真实服务器 IP 直接暴露在公网 • ❌ 容易被 DDoS 攻击 • ❌ 容易被恶意扫描
Cloudflare 的优势:
• ✅ 通过全球节点隐藏真实 IP • ✅ 免费防 DDoS 攻击 • ✅ 自动配置 HTTPS 证书 • ✅ 全球 CDN 加速访问
1. 进入 Cloudflare Domain: https://dash.cloudflare.com/ 左侧搜索 “Domains”,点击「Onboard a domain」(注意:不带 www 或 http://)


2. 选择 Free Plan,Cloudflare 会自动扫描你的域名是否有绑定过其他 IP,点击 continue,等待 loading 和激活

然后去到 DNS / 记录,查看 NS 服务器地址:
xxxxx.ns.cloudflare.com
yyyyy.ns.cloudflare.com
3. 去腾讯云域名管理页面,将域名解析修改地址,点击「修改 DNS 服务器」,这个需要等待一会,解析成功会给你发邮件
补充:my.dnshe 白嫖域名配置

4. 检测是否成功,如下图即成功

五、内网穿透 Cloudflare Tunnel 配置
针对 API 中转业务,内网穿透神器(Cloudflare Tunnel),可以让你在云服务器不需要开放任何公网端口(如80或443)的状态下提供服务,实现了从防攻击、防风控到全自动加密。
1. 进入 CF 的 Zero Trust 页面(https://one.dash.cloudflare.com/),点击 Manage Tunnels 按钮,点击 Add a Tunnel,随意取一个名称


2. 保存好 Token

# 复制命令提取 Tokendocker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <token>
⚠️ 重要提示:
• Tunnel ID 是短的 UUID 格式: b9d0a529-b7f8-4940-b5a1-add913da0f9d• Tunnel Token 是长的 JWT 格式: eyJhIjoiZDM4YTJhN2U1...(很长)• 配置时需要使用 Token,不是 ID! --token后面就是你的隧道 Token
3. 配置路由
• Subdomain:留空 • Domain:下拉选择你的域名 • Path:保持为空,不要填任何东西 • Type:下拉选择 HTTP • URL: localhost:8080(⚠️ 注意是 8080,不是 443!)

⚠️ 端口说明:
• 如果你的 VPS 上已经有服务占用 443 端口,Sub2Api 会使用 8080 端口 • Cloudflare Tunnel 的 URL 必须配置为 localhost:8080
六、服务器Docker安装与配置
安装Docker
# 1. 更新一下本地的软件包索引apt update# 2. 下载并运行 Docker 官方的安装脚本curl -fsSL https://get.docker.com -o get-docker.shsh get-docker.sh# 3. 检查验证 Docker 和 Docker Compose 是否安装成功docker --versiondocker compose version
配置 Docker-compose.yml 文件
# 创建专属项目目录并进入mkdir-p ~/muxingcd~/muxing# 使用 nano 创建并打开 docker-compose.yml 文件nano docker-compose.yml# 将以下完整配置粘贴到文件中(粘贴后按 Ctrl+O 保存,回车确认,再按 Ctrl+X 退出):version:'3.8'services:muxing:image: weishaw/sub2api:latestcontainer_name: sub2api_corerestart: alwaysnetwork_mode:"host"# 容器共享宿主机网络environment:- TZ=Asia/Shanghai- GIN_MODE=release- SUB2API_ENV=production- SERVER_PORT=8080- SERVER_HOST=0.0.0.0# 监听所有网络接口- SERVER_HTTPS=false# ========================# 1. Neon 数据库配置# ========================- DATABASE_HOST=ep-plain-term-a15dqyl2.ap-southeast-1.aws.neon.tech- DATABASE_PORT=5432- DATABASE_USER=neondb_owner- DATABASE_PASSWORD=npg_9rHtzxb4NdSY- DATABASE_DBNAME=neondb- DATABASE_SSL_MODE=require# 数据库连接池配置(修复 prepared statement 问题)- DATABASE_MAX_OPEN_CONNS=5- DATABASE_MAX_IDLE_CONNS=2- DATABASE_CONN_MAX_LIFETIME=300s# ========================# 2. Upstash Redis 配置# ========================- REDIS_HOST=concise-locust-71808.upstash.io- REDIS_PORT=6379- REDIS_PASSWORD=gQAAAAAAARiAAAIncDIzZDcxMmRiMWFkOWI0ODMxODg1YTg5YTE4MzRkOTZjZnAyNzE4MDg- REDIS_USE_TLS=true# ========================# 3. WARP SOCKS5 代理配置(⚠️ 建议启用,否则会被风控!)# ========================- HTTP_PROXY=socks5h://127.0.0.1:40000- HTTPS_PROXY=socks5h://127.0.0.1:40000- ALL_PROXY=socks5h://127.0.0.1:40000- NO_PROXY=localhost,127.0.0.1,::1cloudflared:image: cloudflare/cloudflared:latestcontainer_name: cloudflared_tunnelrestart: alwaysnetwork_mode:"host"# 使用宿主机网络,访问 Sub2Apicommand: tunnel runenvironment:- TUNNEL_TOKEN=eyJhIjoiMGUzZjYwNDQ4YjU4NThlZTcyYzNkM2UwM2NiYWM0YWMiLCJ0IjoiNmRkYmUzY2MtMzkzNy00ODk4LThiZWEtODViZDI5YWI0MjAzIiwicyI6Ik5tSm1NV0kyTnpFdFl6SXhNaTAwTURreExXSmlaR1l0WWpFNE4yWXdOMkpoTURSaCJ9depends_on:- muxing
启动 Sub2Api
# 1. 启动项目
docker compose up -d
# 2. 验证运行状态
docker logs -f sub2api_core七、配置 Sub2Api
1. 访问你的域名,进入 Sub2Api 设置向导
2. 配置数据库,根据 Neon PostgreSQL 连接信息进行配置

填写说明:
• 主机:从 Neon 连接字符串中提取(去掉 -pooler)• 端口:5432 • 用户名:neondb_owner • 密码:从连接字符串中提取 • 数据库名称:neondb • SSL 模式:选择”要求”(require)
3. 配置缓存,根据 Upstash Redis 进行配置

填写说明:
• 主机:从 Upstash 连接字符串中提取 • 端口:6379 • 密码:从连接字符串中提取 • 启用 TLS:打开
4. 配置管理员邮箱(自行配置),完成 Sub2Api 安装

八、完成账号池搭建
1. 创建分组
进入 Sub2Api 管理界面,点击”分组管理” → “创建分组”
2. 添加 GPT Business 账号
点击”生成连接”,新开窗口输入链接,登入 GPT 账号,将最后的网址复制到输入框中
3. 测试账号,测试 GPT-5.4


4. 生成 API 密钥

5. 给账号充值额度
进入”用户管理”,给当前账号充值(设置可用额度)
十、常见问题排查
问题 1: 登录后频繁掉线
现象:Sub2Api 登录后没多久就提示会话过期
原因:Neon PostgreSQL 的 pooler 模式与 Sub2Api 不兼容,导致 prepared statement 错误
解决方案:
1. 检查 docker-compose.yml 中的 DATABASE_HOST2. 确保已经去掉 -pooler部分3. 确保添加了数据库连接池配置 4. 重启服务: docker compose down && docker compose up -d
问题 2: 分组无法显示
现象:创建密钥或添加账号时,分组下拉菜单显示”无可用分组”
原因:同问题 1,数据库连接问题
解决方案:同问题 1
问题 3: WARP 代理未生效
现象:Sub2Api 调用 OpenAI API 时被风控
检查方法:
curl --socks5-hostname 127.0.0.1:40000 https://1.1.1.1/cdn-cgi/trace# 应该看到 warp=on
解决方案:
• 确保 docker-compose.yml 中的 WARP 代理配置未被注释 • 检查 WARP 服务状态: warp-cli status• 确保 WARP 已连接: warp-cli connect
问题 4: Cloudflare Tunnel 无法连接
现象:访问域名无法打开 Sub2Api
检查方法:
docker logs cloudflared_tunnel查看是否有 "Registered tunnel connection" 字样
解决方案:
• 确认使用的是 Tunnel Token(长字符串),不是 Tunnel ID(短 UUID) • 确认 Tunnel 配置的 URL 是 localhost:8080,不是 443• 检查域名 DNS 是否已经托管到 Cloudflare
问题 5: OpenClaw 无法连接中转站
检查清单:
1. Sub2Api 是否正常运行: docker ps2. Cloudflare Tunnel 是否正常: docker logs cloudflared_tunnel3. API Key 是否正确 4. base_url 是否正确(不要加 /v1)5. 域名是否可以访问
十一、懒人福利:一键提示词,让 AI Agent 帮你搭建
如果你觉得手动配置太麻烦,可以直接把下面的提示词复制给 Claude Code、Codex 或 Windsurf,让 AI Agent 一步步引导你完成配置!
🚀 方式一:超简单版(推荐新手)
直接复制这段话给 AI Agent:
请阅读这篇教程:[文章链接]然后帮我搭建一个 AI API 中转站,用于 OpenClaw 调用 GPT API。我的基本信息:- VPS SSH 登录:ssh root@[你的IP] -p [端口]- VPS SSH 密码:[密码]- 域名:[你的域名]请按照教程一步步引导我完成配置,遇到需要我提供信息的地方(比如 Neon、Upstash、Cloudflare Token)再问我。
使用说明:
1. 把 [文章链接]替换成本文的发布链接2. 填写你的 VPS 和域名信息 3. 复制给 AI Agent 4. AI 会自动读取教程,然后一步步引导你
🤖 方式二:完整版(适合有经验的用户)
如果你已经准备好所有信息,可以用这个详细版本:
我想搭建一个 AI API 中转站,用于 OpenClaw 调用 GPT API。我的环境信息:- VPS IP: [填写你的 VPS IP]- VPS SSH 端口: [填写端口,默认 22]- VPS SSH 密码: [填写密码]- 域名: [填写你的域名]- Neon PostgreSQL 连接字符串: [填写 Neon 连接字符串]- Upstash Redis 连接字符串: [填写 Upstash 连接字符串]- Cloudflare Tunnel Token: [填写 Cloudflare Tunnel Token]请按照以下步骤帮我配置:1. **安装 Cloudflare WARP**- SSH 连接到我的 VPS- 安装 Cloudflare WARP 客户端- 配置 SOCKS5 代理模式,端口 40000- 验证 WARP 是否正常工作(curl 测试返回 warp=on)2. **安装 Docker**- 安装 Docker 和 Docker Compose- 验证安装成功3. **配置 Sub2Api**-创建项目目录 ~/sub2api-生成 docker-compose.yml 配置文件,包含:* Sub2Api 服务(端口 8080)* Cloudflare Tunnel 服务* Neon PostgreSQL 数据库配置(注意:去掉 -pooler,添加连接池配置)* Upstash Redis 配置* WARP SOCKS5 代理配置(必须启用)- 启动服务- 检查服务状态4. **验证配置**- 检查 Sub2Api 日志,确认没有数据库错误- 检查 Cloudflare Tunnel 日志,确认已注册连接- 访问域名,确认可以打开 Sub2Api 管理界面5. **提供配置总结**- 列出所有服务的状态- 提供访问地址- 提供下一步操作建议⚠️ **重要提示**:- Neon 数据库 HOST 必须去掉`-pooler`部分- 必须添加数据库连接池配置(DATABASE_MAX_OPEN_CONNS=5 等)- WARP 代理配置不能注释掉,否则会被风控- Cloudflare Tunnel URL 配置为 localhost:8080,不是 443如果遇到问题,请:1. 检查日志:docker logs sub2api_core2. 检查 WARP 状态:warp-cli status3. 检查端口占用:netstat -tlnp | grep -E ':(8080|40000)'
📝 使用说明
方式一(超简单版):
1. 只需要准备 VPS 登录信息和域名 2. AI 会在需要时引导你注册 Neon、Upstash、Cloudflare 3. 适合新手,不需要提前准备所有信息
方式二(完整版):
1. 需要提前准备好所有信息 2. AI 会直接执行所有步骤 3. 适合有经验的用户,配置更快
十二、总结
恭喜你!现在你已经拥有了自己的 AI API 中转站,可以:
✅ 安全可控:数据不经过第三方,完全掌握在自己手中
✅ 成本极低:只需要 VPS + 域名 + 2个 Business 账号
✅ 性能稳定:通过 WARP 代理避免风控,通过 Cloudflare 加速访问
✅ 爽用 GPT-5.4:再也不用担心 token 限额
如果遇到问题,欢迎留言讨论!
如果你在配置过程中,遇到任何问题,或者对AI编程、独立开发者出海感兴趣,欢迎关注公众号或添加微信:wxx1731654 ,我会持续分享更多内容


