sub2api开源API网关及中转分发平台

Sub2API (Subscription-to-API) 是一种开源的 AI API 网关及中转分发管理平台。它的主要作用是将各种 AI 服务的订阅账号(如 ChatGPT Plus/Team、Claude Pro、Gemini Advanced 等)统一转换为标准的 API 接口,方便接入第三方客户端或应用集成。


核心功能与特性

  • 订阅转 API:支持将 OAuth 授权账号、Session Key 或网页版订阅统一转化为兼容 OpenAI/Claude 标准规范的 API。
  • 多账号池化管理:可接入多个订阅账号形成资源池,自动处理状态保持与过期刷新。
  • 智能调度与负载均衡:具备粘性会话(Sticky Sessions)功能,可让同一个上下文对话固定路由到同一个上游账号,避免对话断连。当某个账号达到频率限制(Rate Limit)时,会自动切到备用账号。
  • 配额与 Token 级计费:内置完整的用户管理、并发控制、配额分发以及 Token 级别的用量追踪扣费。
  • 拼车与共享机制:方便团队或个人通过一个服务分摊订阅成本,原生支持在线支付和自助充值系统。

应用场景

  • 团队成本分摊:多个成员共享少量订阅账号的配额,实现更高效率的工具接入。
  • 原生客户端接入:让基于 API 设计的第三方应用(如 OpenClaw、Claude Code、NextChat、LobeChat 等)可以直接调用网页订阅服务的额度。
  • 多资源整合:将分散的各种模型订阅集合到单一 Base URL 下,统一使用独立的 API Key 进行调度。

技术架构

Sub2API采用典型的前后端分离 + 缓存 + 数据库的微服务架构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[ 客户端 (NextChat / OpenClaw 等) ]
(HTTP/HTTPS API 请求)

[ Nginx / Caddy 反向代理 ]


┌─────────────────────────────────────────┐
Sub2API 核心后端
- Go (Gin 框架 + Ent ORM)
- 路由调度 / 账户池化 / 粘性会话
- Token 计费与限流引擎
└───────────────┬─────────────────────────┘

┌───────┴───────┐

┌──────────────┐ ┌──────────────┐
PostgreSQL Redis
(持久化数据) (缓存/限流)
└──────────────┘ └──────────────┘
  • 后端:基于 Go 语言开发,性能高、内存占用低,负责请求路由、协议转换、账号调度以及计费控制。
  • 前端:基于 Vue 3 构建的管理后台,用于添加账号、生成 API Key、查看用量与计费。
  • 数据库PostgreSQL 用于存储用户数据、账号凭证、交易记录与消费日志。
  • 缓存/队列Redis 用于高频会话保持、频率限制(Rate Limit)以及临时令牌状态存储。