Files
xinghuoapi/README_CN.md

6.3 KiB
Raw Blame History

Sub2API

Go Vue PostgreSQL Redis Docker

AI API 网关平台 - 订阅配额分发管理

English | 中文


项目概述

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

核心功能

  • 多账号管理 - 支持多种上游账号类型OAuth、API Key
  • API Key 分发 - 为用户生成和管理 API Key
  • 精确计费 - Token 级别的用量追踪和成本计算
  • 智能调度 - 智能账号选择,支持粘性会话
  • 并发控制 - 用户级和账号级并发限制
  • 速率限制 - 可配置的请求和 Token 速率限制
  • 管理后台 - Web 界面进行监控和管理

技术栈

组件 技术
后端 Go 1.21+, Gin, GORM
前端 Vue 3.4+, Vite 5+, TailwindCSS
数据库 PostgreSQL 15+
缓存/队列 Redis 7+

部署方式

方式一:脚本安装(推荐)

一键安装脚本,自动从 GitHub Releases 下载预编译的二进制文件。

前置条件

  • Linux 服务器amd64 或 arm64
  • PostgreSQL 15+(已安装并运行)
  • Redis 7+(已安装并运行)
  • Root 权限

安装步骤

curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/install.sh | sudo bash

脚本会自动:

  1. 检测系统架构
  2. 下载最新版本
  3. 安装二进制文件到 /opt/sub2api
  4. 创建 systemd 服务
  5. 配置系统用户和权限

安装后配置

# 1. 启动服务
sudo systemctl start sub2api

# 2. 设置开机自启
sudo systemctl enable sub2api

# 3. 在浏览器中打开设置向导
# http://你的服务器IP:8080

设置向导将引导你完成:

  • 数据库配置
  • Redis 配置
  • 管理员账号创建

升级

可以直接在 管理后台 左上角点击 检测更新 按钮进行在线升级。

网页升级功能支持:

  • 自动检测新版本
  • 一键下载并应用更新
  • 支持回滚

常用命令

# 查看状态
sudo systemctl status sub2api

# 查看日志
sudo journalctl -u sub2api -f

# 重启服务
sudo systemctl restart sub2api

# 卸载
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/install.sh | sudo bash -s uninstall

方式二Docker Compose

使用 Docker Compose 部署,包含 PostgreSQL 和 Redis 容器。

前置条件

  • Docker 20.10+
  • Docker Compose v2+

安装步骤

# 1. 克隆仓库
git clone https://github.com/Wei-Shaw/sub2api.git
cd sub2api

# 2. 进入 deploy 目录
cd deploy

# 3. 复制环境配置文件
cp .env.example .env

# 4. 编辑配置(设置密码等)
nano .env

.env 必须配置项:

# PostgreSQL 密码(必须修改!)
POSTGRES_PASSWORD=your_secure_password_here

# 可选:管理员账号
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=your_admin_password

# 可选:自定义端口
SERVER_PORT=8080
# 5. 启动所有服务
docker-compose up -d

# 6. 查看状态
docker-compose ps

# 7. 查看日志
docker-compose logs -f sub2api

访问

在浏览器中打开 http://你的服务器IP:8080

升级

# 拉取最新镜像并重建容器
docker-compose pull
docker-compose up -d

常用命令

# 停止所有服务
docker-compose down

# 重启
docker-compose restart

# 查看所有日志
docker-compose logs -f

方式三:源码编译

从源码编译安装,适合开发或定制需求。

前置条件

  • Go 1.21+
  • Node.js 18+
  • PostgreSQL 15+
  • Redis 7+

编译步骤

# 1. 克隆仓库
git clone https://github.com/Wei-Shaw/sub2api.git
cd sub2api

# 2. 编译后端
cd backend
go build -o sub2api ./cmd/server

# 3. 编译前端
cd ../frontend
npm install
npm run build

# 4. 复制前端构建产物到后端(用于嵌入)
cp -r dist ../backend/internal/web/

# 5. 创建配置文件
cd ../backend
cp ../deploy/config.example.yaml ./config.yaml

# 6. 编辑配置
nano config.yaml

config.yaml 关键配置:

server:
  host: "0.0.0.0"
  port: 8080
  mode: "release"

database:
  host: "localhost"
  port: 5432
  user: "postgres"
  password: "your_password"
  dbname: "sub2api"

redis:
  host: "localhost"
  port: 6379
  password: ""

jwt:
  secret: "change-this-to-a-secure-random-string"
  expire_hour: 24

default:
  admin_email: "admin@example.com"
  admin_password: "admin123"
# 7. 运行应用
./sub2api

开发模式

# 后端(支持热重载)
cd backend
go run ./cmd/server

# 前端(支持热重载)
cd frontend
npm run dev

项目结构

sub2api/
├── backend/                  # Go 后端服务
│   ├── cmd/server/           # 应用入口
│   ├── internal/             # 内部模块
│   │   ├── config/           # 配置管理
│   │   ├── model/            # 数据模型
│   │   ├── service/          # 业务逻辑
│   │   ├── handler/          # HTTP 处理器
│   │   └── gateway/          # API 网关核心
│   └── resources/            # 静态资源
│
├── frontend/                 # Vue 3 前端
│   └── src/
│       ├── api/              # API 调用
│       ├── stores/           # 状态管理
│       ├── views/            # 页面组件
│       └── components/       # 通用组件
│
└── deploy/                   # 部署文件
    ├── docker-compose.yml    # Docker Compose 配置
    ├── .env.example          # Docker Compose 环境变量
    ├── config.example.yaml   # 二进制部署完整配置文件
    └── install.sh            # 一键安装脚本

许可证

MIT License


如果觉得有用,请给个 Star 支持一下!