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