配置前的环境检查
自建网关有「账号采购 + 网络出口 + 运维监控」三道条件。撞墙后再切走会断服务,先备一条 独立开发者用得起的 Claude 4.7 / GPT-5.5 中转 作为 fallback,任意时候 New API 整体挂掉都能切回中转。
环境清单:
- 境外 VPS(Hetzner / Vultr / Linode,境内出口不行)
- Docker + docker-compose
- 域名 + Cloudflare(网关需要 HTTPS)
- 3-5 个 Anthropic 账号(自己或团队成员,各自外卡)
- 一台可访问境外的本地或 GitHub Codespaces 调测
部署步骤
第 1 步:准备账号与子 key
在每个 Anthropic console 创建子 key,命名打标签便于追踪:
账号 A:Tier 4 → key 命名 "tier4-prod-A"
账号 B:Tier 3 → key 命名 "tier3-prod-B"
账号 C:Tier 2 → key 命名 "tier2-prod-C"
记录每个账号的 Tier 与对应 RPM/TPM——Anthropic 官方限速表(访问于 2026-05-19)显示 Tier 1 是 50 RPM,Tier 4 是 4000 RPM,差 80 倍,直接决定权重。
第 2 步:Docker 部署 New API
# 创建数据目录
mkdir -p /opt/new-api/data
# 启动 New API
docker run -d --name new-api \
--restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-e SESSION_SECRET="$(openssl rand -hex 32)" \
-v /opt/new-api/data:/data \
calciumion/new-api:latest
访问 http://your-vps:3000,首次登录用 root / 123456,改密。
生产建议挂 Caddy / Nginx 做 HTTPS:
gateway.example.com {
reverse_proxy localhost:3000
}
第 3 步:添加 Anthropic 渠道
「渠道 → 添加新的渠道」:
| 字段 | 值 |
|---|---|
| 类型 | Anthropic |
| 名称 | tier4-prod-A |
| 密钥 | sk-ant-… |
| 权重 | 4 |
| 模型 | claude-sonnet-4-6, claude-opus-4-7 |
| 优先级 | 1 |
| 自动禁用阈值 | 3(连续 429 次数) |
逐个添加 3-5 个账号子 key。
第 4 步:建对外 token
「令牌 → 添加新的令牌」:
- 名称:
prod-cursor - 额度:5,000,000 token / 月(按业务设)
- 模型限制:可选 whitelist
- 复制 token 字符串
sk-newapi-xxx,这是你应用调用网关的唯一 key
第 5 步:切应用端点
Cursor:Settings → Models → API Key 改为 sk-newapi-xxx,API Base URL 改为 https://gateway.example.com/v1。
Claude Code:
export ANTHROPIC_BASE_URL="https://gateway.example.com"
export ANTHROPIC_API_KEY="sk-newapi-xxx"
claude
应用代码:
import anthropic
client = anthropic.Anthropic(
api_key="sk-newapi-xxx",
base_url="https://gateway.example.com/v1",
)
第 6 步:灰度与监控
用 10% 流量切到网关,跑 24 小时,看后台「日志」和「数据看板」:
- 各渠道请求量是否按权重比例分发
- 429 / 503 错误聚集在某一渠道说明它真的撞顶,加权重或加 cooldown
- 平均延迟 P95 < 中转 fallback 即可推 100%
常见失败原因
| 现象 | 原因 | 处理 |
|---|---|---|
| 全部渠道 401 | 子 key 区域风控 | 改 VPS 出口地域 |
| 单渠道 429 高 | 权重过高 | 降权重或升 Tier |
| 网关 504 | VPS 出口慢 | 换地域 / 加 CDN |
| 流式中断 | Nginx 默认 buffer | proxy_buffering off |
| Cursor 失败 | base_url 缺 /v1 | 检查路径 |
数据:多账号 vs 单账号 RPM 实测
我跑了一个 100 并发的 indie SaaS 一周:
| 配置 | 平均 RPM | 429 率 | 月 API 成本 |
|---|---|---|---|
| 单 Tier 2 账号 | 38 | 21% | $58 |
| 3 账号(T2+T2+T3)New API | 178 | 1.2% | $187 |
| 5 账号(T2×3+T3×2) | 295 | 0.4% | $312 |
可见多账号不是「省钱」,而是「保 SLA」——总用量上去后单位成本一样,但能撑住的并发完全是另一个量级。
安全加固
- 渠道粒度告警:任何 key 进入 cooldown 立刻 Telegram 通知
- 月度对账:导出每渠道用量比对 Anthropic console,误差 > 2% 排查
- 备用中转 fallback:
base_url写到环境变量,网关挂掉时一行配置切回 - 备份:
/opt/new-api/data每日导 S3,SQLite + 配置一起备
运维备忘
网关上线后注意三点:各 Anthropic 账号的月账单是否按权重分摊、cooldown 状态下的 key 是否自动恢复、备用中转方的 fallback 路径是否随时可用。把网关 health check 端点加到监控里,一旦全线挂掉能第一时间收到告警。