UStackUStack
Sub2API icon

Sub2API

Sub2API 开源 AI API 网关:分发并管理多上游订阅配额,提供平台生成 API Key,含认证、调度与用量追踪。

Sub2API

Sub2API 是什么?

Sub2API 是一个开源 AI API 网关平台,帮助分发和管理 AI 产品订阅的 API 配额。用户无需直接集成上游 AI 服务,Sub2API 提供平台生成的 API 密钥,同时处理认证、计费相关记账、负载均衡和请求转发。

该项目适用于需要将多个上游账户池化并通过单一网关提供服务的场景,包括多账户支持、配额感知调度,以及并发和速率限制控制。

主要特性

  • 上游连接的多账户管理(支持多种上游账户类型,如 OAuth 和 API Key),使一个网关可服务多个上游账户。
  • API 密钥分发(为用户生成和管理 API 密钥),用户向 Sub2API 认证,而非管理多个上游凭证。
  • Token 级用量追踪和成本计算,用于按 token 追踪和计算用量以支持计费记账。
  • 智能调度与 sticky sessions,在多账户环境中智能选择上游账户,同时保持会话路由稳定。
  • 并发控制和可配置速率限制(按用户和按账户的并发限制;请求和 token 速率限制),防止过载并管理吞吐量。
  • Web 界面管理仪表板,用于监控和管理。
  • 通过 iframe 扩展管理仪表板,集成外部系统(例如嵌入支付或工单系统)。

如何使用 Sub2API

  1. 决定自托管还是使用官方中继服务。仓库提到官方中继 PinCC,适用于不想自托管的用户。
  2. 若自托管,在 Linux 服务器(amd64 或 arm64)上安装 Sub2API,确保有 PostgreSQL 15+ 和 Redis 7+。
  3. 使用仓库提供的一键脚本安装,然后启动服务并设置开机自启。
  4. 在浏览器打开设置向导(README 提及 http://YOUR_SERVER_IP:8080),配置数据库/Redis 设置并创建管理员账户。
  5. 从管理仪表板管理设置和用户 API 密钥;用户使用 Sub2API 颁发的 API 密钥通过平台调用上游 AI 服务。

使用场景

  • 池化多个上游订阅账户:使用 Sub2API 集中配额使用,通过单一网关服务用户,同时跨上游账户分发请求。
  • 团队配额分发:为团队成员提供独立的 Sub2API API 密钥,Sub2API 追踪 token 级用量、管理调度和限制。
  • 带限制的管理吞吐量:配置按用户和按账户的并发限制,以及请求/token 速率限制,以塑形负载并降低上游饱和风险。
  • 运营可见性和管理:使用内置管理仪表板监控和管理网关,而非仅依赖上游提供商仪表板。
  • 扩展内部工作流:使用 iframe 将外部系统(例如支付或工单)嵌入管理仪表板,支持运营流程。

常见问题

  • Sub2API 是否绑定特定域名? 仓库声明 Sub2API 官方仅使用 sub2api.orgpincc.ai。使用 Sub2API 名称的其他站点可能是第三方部署,与官方无关;用户需自行验证。

  • 如何部署 Sub2API? 项目文档两种部署方式:通过脚本安装(从 GitHub Releases 下载预构建二进制),或使用 Docker Compose 部署(包含 PostgreSQL 和 Redis 容器)。

  • Sub2API 支持哪些上游账户? 支持多种上游账户类型,包括 OAuth 和 API Key(如特性列表所述)。

  • 使用 Nginx 作为反向代理时该怎么办? README 指出,若使用 Nginx 与 Sub2API(或 CRS)和 Codex CLI,应在 http 块内添加 underscores_in_headers on;,因为 Nginx 默认丢弃含下划线头部,这可能破坏多账户设置中的 sticky-session 路由。

替代方案

  • 使用官方中继服务(PinCC):如果不想自托管 Sub2API,仓库指向基于 Sub2API 构建的官方中继 PinCC,适用于希望无需部署/维护即可立即使用的用户。
  • 使用自管 API 网关处理配额和路由:如果已有基础设施,可寻找支持 API 密钥、认证、限流和请求转发的网关/路由管理解决方案;与 Sub2API 不同,它们可能不包含令牌级用量追踪和面向 AI 订阅的配额分发。
  • 构建自定义代理服务:可实现应用层代理,将请求路由至上游 AI 提供商并强制执行限制;相较 Sub2API,此方案通常需更多工程工作来实现粘性会话和令牌级记账等功能。
  • 采用多租户 API 管理方式:通用 API 管理平台可集中认证和限流,但可能需额外定制以匹配 Sub2API 的配额分发和基于令牌的用量记账流程。
Sub2API | UStack