【笔记】Sub2API学习笔记

前言

Sub2API 是一个 AI API 网关平台,用于分发和管理 AI 产品订阅的 API 配额。用户通过平台生成的 API Key 调用上游 AI 服务,平台负责鉴权、计费、负载均衡和请求转发。(Github

部署Sub2API

Windows

下载项目

1
2
3
certutil -urlcache -split -f https://github.com/Wei-Shaw/sub2api/releases/download/v0.2.0/sub2api_0.2.0_windows_amd64.zip
"C:\Program Files\7-Zip\7z.exe" x sub2api_0.2.0_windows_amd64.zip -osub2api
cd sub2api

启动服务

1
2
SET TZ=UTC
.\sub2api.exe

首次登录

Docker

下载项目

1
2
git clone https://github.com/Wei-Shaw/sub2api.git
cd sub2api/deploy

修改配置文件

  • 复制默认配置文件
1
cp .env.example .env
  • 生成密钥
1
openssl rand -hex 32
1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • 修改配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# PostgreSQL password (REQUIRED)
POSTGRES_PASSWORD=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# JWT Secret (RECOMMENDED - keeps users logged in after restart)
JWT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# TOTP Encryption Key (RECOMMENDED - preserves 2FA after restart)
TOTP_ENCRYPTION_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# Optional: Admin account
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=

# Optional: Custom port
SERVER_PORT=8080

创建数据目录

1
mkdir -p data postgres_data redis_data

启动服务

1
docker compose -f docker-compose.local.yml up -d

获取初始密码

1
docker compose -f docker-compose.local.yml logs sub2api | grep "admin password"
1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

首次登录

邮箱:admin@example.com
密码:上一步骤获取的初始密码

Sub2API账号配置

订阅账号

配置分组

  • 分组管理->创建分组

  • 设置名称->设置平台->设置计费类型订阅(配额)->创建

配置订阅

  • 订阅管理->分配订阅

  • 配置订阅时长

按量计费账号

配置分组

  • 分组管理->创建分组

  • 设置名称->设置平台->设置计费类型标准(余额)->创建

充值余额

  • 用户管理->更多->充值

  • 配置充值余额->确认

大模型平台账号配置

配置代理(可选)

  • IP管理->添加代理

  • 配置代理->创建

配置账号

OpenAI

Plus账号登录
  • 账号管理->添加账号

  • 定义账号名称

  • 平台选择OpenAI->账号类型选择OAuth

  • 选择代理(可选)

  • 选择分组->下一步

  • 生成授权链接

  • 访问授权链接->回填授权成功的回调链接->完成授权

API密钥
  • 账号管理->添加账号

  • 定义账号名称

  • 平台选择OpenAI->账号类型选择API Key

  • 选择分组->创建

生成API密钥

  • API密钥->创建密钥

  • 定义密钥名称->选择密钥分组->创建

  • 在其他支持OpenAI兼容的提供商时,使用当前URL作为提供商,使用当前API密钥作为密钥

完成

  • 截图纪念