你用 Claude Code 写代码、Cursor 调模型、Hermes 跑 Agent,表面上看只是敲一行提示词就秒出结果。可真正把请求从你的本地工具送到上游(OpenAI、Anthropic)再原路返回的,却是一个你几乎从未见过的黑盒——中转站。我起初以为中转就是个简单的“省钱驿站”,把 API Key 批量采购后转手卖掉就完事。后来把 new-api 这套开源框架从头拆到尾,才发现它根本不是普通中间人,而是一套精心设计的分层 API 网关:每层只做一件事,却把路由、转换、计费、容错全部做到极致稳定,让你感知不到任何上游波动。
中转的本质其实很简单:你的工具不直接打 OpenAI,而是把请求丢给中转站,中转站帮你选渠道、翻译格式、转发、计费、容错,最后把结果原样返回给你。就像寄快递——你把包裹交给菜鸟驿站,驿站挑最合适的快递公司发出去,收到回执后再转交给你。区别在于,这个“驿站”要同时处理成千上万的并发请求,还得保证模型格式完全透明、计费精准到 token、一个渠道挂了瞬间切下一个。
中转到底解决了哪三个真实痛点
- 省钱:上游官方订阅动辄上千刀,中转站批量拿折扣价,按量计费。你不需要担心 Claude Pro 额度不够,也不用担心账号被风控封禁。
- 省事:一个 API Key 走遍 GPT、Claude、Gemini、DeepSeek、Moonshot……不用每家都注册一遍。
- 稳定:上游渠道挂了自动切下一个,你这边几乎零感知。这才是重度 AI 用户真正上瘾的原因。
new-api 用 Go 语言实现,核心是分层架构,每一层职责单一、可独立扩展。整个请求路径就像一条生产线:Router → Middleware → Controller → Relay → Adaptor → Upstream。
第一层:Router(路由)
定义了所有兼容 OpenAI 的标准端点:/v1/chat/completions、/v1/messages(Claude 原生)、/v1/embeddings、甚至/mj/*Midjourney 异步任务。无论你用什么工具发请求,都能被精准接住。
第二层:Middleware(中间件)
所有请求必须依次经过这条“安检线”,顺序极其重要(很多教程都写反了):
- CORS 跨域检查
- 解压请求体
- Body 缓存(用于重试时原样重放)
- 指标统计
- SystemPerformanceCheck(系统过载直接拒绝,放在鉴权之前,省一次数据库查询)
- TokenAuth(校验 sk-xxx 和余额)
- 限流
- Distribute(最核心):根据模型 + 用户分组 + Channel.GroupRatio,用加权随机算法挑选可用渠道。
这里面有三个关键机制值得单独拎出来:
- 三级分组匹配:Token.Group → User.Group → Channel.Group,再叠加倍率,实现“VIP 走更稳渠道但更贵”。
- 渠道选择算法:按 priority 分层 → 同层加权随机 → 全挂才降级 → 本组用完切下一组。
- 冷却机制:失败渠道不是永久下线,而是进入冷却窗口,过一会儿自动恢复。
第三层:Controller(控制器)
负责预扣费(按 MaxTokens × 模型倍率先锁额度,防并发超支)、调用 Relay、拿到真实 usage 后再多退少补。老用户还可以走信任额度旁路,直接后置结算。
第四层:Relay(转发层)
最复杂的地方。根据不同格式(TextHelper、ClaudeHelper、ResponsesHelper 等)做 DTO 解析 → 参数覆盖 → 发送 → 解析响应。流式输出用自适应缓冲区(64KB~64MB),既保证实时性,又不让超长推理链路爆内存。
第五层:Adaptor(适配器)
插件化设计是 new-api 最优雅的地方。每个上游(OpenAI、Anthropic、Gemini、AWS Bedrock、xAI……40+ 个)一个独立插件。加新厂商不用改核心代码。
最丝滑的体验在这里:你用 Claude Code 发 Anthropic 格式的/v1/messages,但实际渠道是 OpenAI——Adaptor 自动把 system + messages + tool_use 翻译成 OpenAI 的 tool_calls,响应再反向翻译回来。你完全感觉不到上游到底是谁。
计费系统
就两个动作:预扣 + 真实结算。所有请求都会写 logs 表,记录 prompt/completion token、倍率、渠道 ID、耗时、错误码——这就是对账和排查的底气。
中转 vs 直连上游的核心权衡(生产环境实测维度):
| 维度 | 直连官方 API | new-api 中转站架构 |
|---|---|---|
| 成本 | 订阅制或高单价 | 批量折扣 + 按量付费 |
| 稳定性 | 单个账号易风控/限流 | 多渠道自动切换 + 冷却机制 |
| 模型兼容性 | 只能用一家格式 | 一个 Key 走全模型 + 自动翻译 |
| 运维心智负担 | 自己管 Key、额度、风控 | 零感知,全部交给中转 |
| 可扩展性 | 每加一个新模型都要重新对接 | 插件化 Adaptor,秒级扩展 |
| 长尾风险 | 额度不够就断流 | 透明 logs + 分组策略可控 |
我早期也和很多人一样,只关心“哪个中转最便宜”。后来把 new-api 的源码和实际流量链路拆开,才真正理解:中转真正的护城河从来不是价格,而是把“路由 + 翻译 + 容错 + 计费”这套复杂系统做成了可维护、可观测的生产级基础设施。它把原本分散在用户端的痛苦,全部内化成了中转站的肌肉记忆。
下次你再用 Claude Code 秒出代码,或者 Cursor 帮你重构整个模块,就知道那一秒钟的“丝滑”背后,是 Router 精准命中端点、Middleware 快速分发、Adaptor 透明翻译、Relay 流式推送这一整条链路在默默协作。
为什么 2026 年的 AI 重度用户必须懂中转底层逻辑
不是为了自己搭一个,而是为了在选服务商时能看懂计费明细、路由策略和容错机制。便宜和稳定永远是 trade-off,把握好这个度,你才能把预算真正花在模型推理而不是反复注册账号上。
你在用中转的时候,是只关心价格,还是已经开始关注它背后的分组策略、Adaptor 数量和 logs 透明度?欢迎在评论区分享你踩过的最坑中转经历——我们一起把这些隐性知识变成团队都能避雷的资产。
我是紫微AI,在做一个「人格操作系统(ZPF)」。后面会持续分享AI Agent和系统实验。感兴趣可以关注,我们下期见。