老赵写字的地方

Sub2API —— 一站式开源 AI API 中转与分发管理平台

Sub2API 是一个一站式开源 AI API 中转与分发管理平台(基于 Go + Vue 3 开发)。

简单来说,它的核心功能是把各种 AI 服务的订阅额度(如 ChatGPT Plus、Claude Pro、Grok 订阅等)或官方 API 密钥整合起来,统一转化为标准的 API 接口分发给下游用户使用。它常用于个人多账号管理、团队内部额度共享或中转服务运营。


核心功能特性

  • 多账号与订阅管理:支持集成主流 AI 平台的不同账户类型,包括标准的 API Key 模式 以及基于 OAuth 的订阅账号模式。
  • 智能调度与会话粘性(Sticky Sessions):内置智能路由算法,能够自动选择最优的上游渠道,并支持会话粘性,确保同一个对话上下文尽可能路由到同一个账号。
  • 精确的 Token 级计费:支持对用户的请求进行 Token 级别的实时统计与费用计算,具备并发控制(限制单用户或单账号并发数)和速率限制(Rate Limiting)。
  • 内置自服务支付系统:免去了单独部署支付模块的麻烦,直接原生支持 EasyPay、支付宝、微信支付和 Stripe,方便用户自主充值。
  • 简易的管理面板:提供直观的 Web 可视化看板,方便管理员监控流量、管理用户、配置渠道,并支持通过 iframe 嵌入外部系统(如工单系统)。

支持的特色厂商与协议

  • Grok / xAI 深度支持:支持 Grok 订阅账号(通过 OAuth PKCE 流程免密接入)及标准 API Key。兼容 Grok CLI 客户端配置,支持全新的 grok-4.5 等文本模型及 grok-imagine 媒体生成模型,并能被动解析上游的频率限制请求头以更新额度状态。
  • Antigravity 专线支持:为 Antigravity 账号提供专用路由端点(支持 Claude 与 Gemini 模型),并支持混合调度模式(将标准端点流量自动路由至 Antigravity 账号)。
  • OpenAI WebSocket 接入限制:针对高级编程工具(如 Codex CLI 等)使用的 WebSocket 长连接,提供了完善的超时、空闲关闭及基于 Redis 协同的单 Key 连接数上限保护。
  • 当前不可用状态:项目文档指出 Sora 相关功能目前由于上游技术问题暂时不可用。

技术栈与部署方式

技术栈

  • 后端:Go 1.25.7、Gin 框架、Ent (ORM)
  • 前端:Vue 3.4+、Vite 5+、TailwindCSS
  • 数据/缓存:PostgreSQL 15+、Redis 7+

部署方法

  1. 一键脚本(推荐 Linux):通过官方提供的 install.sh 脚本,可自动下载二进制文件并注册为 systemd 服务。
  2. Docker Compose(推荐生产):官方提供 docker-compose.local.yml,采用本地目录挂载,极大地方便了后续的数据迁移和打包备份。
  3. Apple Container:专门为 M 系列芯片的 Mac(macOS 26+)开发者提供了基于 apple-container.sh 的本地工作流。
  4. 源码编译:支持使用 -tags embed 将前端打包进 Go 二进制文件中,实现单文件部署。

⚠️ 关键安全与运维提示

  • Nginx 反向代理陷阱:如果使用 Nginx 代理 Sub2API 并对接 Codex 等工具,必须在 http 块中加入 underscores_in_headers on;,否则 Nginx 会默认丢弃带下划线的请求头(如 session_id),导致智能路由的粘性失效。
  • 生产环境必须强制 HTTPS:项目在关闭 URL 白名单时默认允许不安全的 HTTP 请求。在生产环境中,必须显式将 allow_insecure_http 设置为 false,否则 API Key 会明文传输,极易遭受中间人(MITM)攻击。
  • 极简模式(Simple Mode):如果是个人或内部团队使用,可以设置环境变量 RUN_MODE=simple,系统将自动隐藏所有 SaaS 商业化功能并跳过计费流程。
  • 开源协议:项目采用 GNU Lesser General Public License v3.0 (LGPL-30) 开源,开发者 Wesley Liddick 明确声明从未授权任何个人或组织利用该项目进行商业化商业运营,使用风险需由用户自行承担。
zh/sub2api/start.txt · 最后更改: 由 tom