本教程面向首次接触 Team-API 的用户,手把手指导你完成从零开始的部署和基础配置。

项目地址: https://github.com/qianfree/team-api

1. 项目简介

Team-API 是一个多租户大模型 API 网关 SaaS 平台,主要功能包括:

  • 统一接入主流大模型供应商(OpenAI、Claude、Gemini、DeepSeek 等)
  • 多租户管理,支持为不同组织/团队独立计费
  • OpenAI 兼容的 API 接口,无需修改现有代码即可接入
  • 智能渠道调度,自动故障转移和负载均衡
  • 实时计费和用量监控

在这里插入图片描述

部署架构

┌─────────────────────────────────────────────────────────────┐
│                        Team-API                              │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │
│  │  管理后台     │  │  租户控制台   │  │  AI 代理接口  │      │
│  └──────────────┘  └──────────────┘  └──────────────┘      │
└─────────────────────────────────────────────────────────────┘
         │                    │                    │
         ▼                    ▼                    ▼
┌─────────────────────────────────────────────────────────────┐
│  PostgreSQL  │     Redis     │  AI 供应商(OpenAI/Claude...)│
└─────────────────────────────────────────────────────────────┘

2. 环境准备

2.1 硬件要求

资源最低配置推荐配置
CPU2 核4 核+
内存4 GB8 GB+
磁盘20 GB50 GB+(SSD 推荐)

2.2 软件要求

方式一:Docker 部署(推荐新手)
  • Docker 20.10+
  • Docker Compose 2.0+
方式二:源码部署(开发者)
  • Go 1.25+
  • PostgreSQL 15+
  • Redis 7+
  • Node.js 18+ 和 bun(仅开发时需要)

2.3 检查 Docker 环境

# 检查 Docker 版本
docker --version

# 检查 Docker Compose 版本
docker compose version

# 如果没有安装,请访问 https://docs.docker.com/engine/install/ 获取安装指南

3. Docker Compose 快速部署(推荐)

这是最简单的部署方式,适合大多数用户。所有服务(PostgreSQL、Redis、应用)将通过 Docker Compose 一键启动。

3.1 获取项目代码

# 克隆项目仓库
git clone https://github.com/qianfree/team-api.git

# 进入项目目录
cd team-api

3.2 修改配置文件

第一步:修改 docker-compose.yaml 中的默认密码

编辑 manifest/docker/docker-compose.yaml 文件:

# 使用你喜欢的编辑器打开
vim manifest/docker/docker-compose.yaml

必须修改的密码项:

# 第 31 行左右:PostgreSQL 密码
environment:
  POSTGRES_PASSWORD: team_api_secret  # ← 改为你的强密码

# 第 53 行左右:Redis 密码
command: redis-server --appendonly yes --requirepass redis_secret  # ← 改为你的强密码

安全建议:

  • 密码长度至少 16 位
  • 包含大小写字母、数字和特殊字符
  • 记住你设置的密码,后续配置需要用到
第二步:创建并编辑应用配置文件
# 进入 docker 配置目录
cd manifest/docker

# 复制示例配置文件
cp config.example.yaml config.yaml

# 编辑配置文件
vim config.yaml

config.yaml 关键配置说明:

# 数据库配置 - 与 docker-compose.yaml 中的密码保持一致
database:
  default:
    type: "pgsql"
    link: "pgsql:team_api:你的PostgreSQL密码@tcp(postgres:5432)/team_api?sslmode=disable"
    #           ^用户名  ^密码              ^主机:端口  ^数据库名

# Redis 配置 - 与 docker-compose.yaml 中的密码保持一致
redis:
  default:
    address: "redis:6379"
    pass: "你的Redis密码"
    db: 0

# JWT 密钥 - 必须修改为随机字符串,用于登录令牌加密
jwt:
  secret: "team-api-jwt-secret-key-please-change-me"  # ← 改为随机字符串

生成安全的 JWT 密钥:

# Linux/macOS - 生成 32 位随机字符串
openssl rand -base64 32

# 或者使用以下命令生成
echo $(date +%s%N | sha256sum | base64 | head -c 32)

3.3 启动服务

# 在项目根目录执行
docker compose -f manifest/docker/docker-compose.yaml up -d

输出示例:

[+] Running 4/4
 ✔ Network team-api-network      Created
 ✔ Volume "postgres_data"        Created
 ✔ Volume "redis_data"           Created
 ✔ Container team-api-postgres   Started
 ✔ Container team-api-redis      Started
 ✔ Container team-api-app        Started

3.4 检查服务状态

# 查看所有容器状态
docker compose -f manifest/docker/docker-compose.yaml ps

# 预期输出:所有服务状态为 "Up" 或 "healthy"
NAME                STATUS              PORTS
team-api-app        Up (healthy)        0.0.0.0:18888->18888/tcp
team-api-postgres   Up (healthy)        5432/tcp
team-api-redis      Up (healthy)        6379/tcp

3.5 查看日志(如有问题)

# 查看所有服务日志
docker compose -f manifest/docker/docker-compose.yaml logs

# 仅查看应用日志
docker compose -f manifest/docker/docker-compose.yaml logs app

# 实时跟踪日志
docker compose -f manifest/docker/docker-compose.yaml logs -f app

4. 系统初始化配置

首次启动后,需要完成系统初始化配置。

4.1 访问初始化页面

在浏览器中打开:

http://localhost:18888

如果是远程服务器部署,将 localhost 替换为服务器 IP 地址。

4.2 创建管理员账号

初始化页面会要求你创建管理后台的第一个管理员账号:

字段说明示例
用户名管理员登录名admin
邮箱联系邮箱admin@example.com
密码至少 8 位,包含字母和数字Admin@123456
确认密码再次输入密码Admin@123456

4.3 登录管理后台

初始化完成后,会自动跳转到管理后台登录页面:

http://localhost:18888/api/admin/

使用刚才创建的管理员账号登录。

4.4 管理后台界面说明

登录后,你会看到管理后台的主界面,包含以下主要模块:

模块功能说明
仪表盘系统概览、用量统计
租户管理创建和管理租户组织
模型管理配置 AI 模型和定价
渠道管理添加和管理 AI 供应商渠道
API 密钥管理各租户的 API Key
计费账单查看交易记录和账单
系统设置全局配置和系统参数

5. 添加 AI 模型渠道

在使用 API 之前,需要先配置 AI 供应商渠道(即你的 API Key)。

5.1 进入渠道管理

  1. 在管理后台左侧菜单点击「渠道管理」
  2. 点击「新增渠道」按钮

5.2 填写渠道信息

以配置 OpenAI 渠道为例:

字段说明示例值
渠道名称自定义名称OpenAI 官方
供应商类型选择 AI 供应商OpenAI
API Key你的 API Keysk-xxxxxxxxxxxxx
API 基础地址API 端点地址https://api.openai.com/v1
启用状态是否启用此渠道

获取 API Key 的位置:

供应商获取地址
OpenAIhttps://platform.openai.com/api-keys
Anthropic Claudehttps://console.anthropic.com/settings/keys
Google Geminihttps://makersuite.google.com/app/apikey
DeepSeekhttps://platform.deepseek.com/api_keys

5.3 配置模型定价

  1. 进入「模型管理」页面
  2. 找到你想启用的模型(如 gpt-4o
  3. 点击「编辑定价」
  4. 设置价格(单位:美元/1K Tokens)
模型输入价格($/1K)输出价格($/1K)
gpt-4o0.0050.015
gpt-4o-mini0.000150.0006
claude-3-5-sonnet-202410220.0030.015

价格参考: 可在供应商官网查看最新定价。


6. 创建租户和 API Key

租户(Tenant)代表一个组织或团队,每个租户有独立的 API Key 和额度管理。

6.1 创建租户

  1. 进入「租户管理」页面
  2. 点击「新增租户」
  3. 填写租户信息:
字段说明示例
租户名称组织名称示例科技公司
租户代码唯一标识(用于登录)demo-tech
管理员邮箱初始管理员邮箱admin@demo-tech.com
管理员密码初始管理员密码Tenant@123456
初始额度赠送的初始金额(USD)10.00

6.2 获取租户控制台访问

租户创建成功后,有两种方式访问租户控制台:

方式一:通过管理后台跳转

在租户列表中,点击该租户的「登录控制台」按钮。

方式二:直接访问租户控制台

http://localhost:18888/api/tenant/

使用租户管理员账号登录(用户名格式:邮箱管理员用户名@租户代码)。

6.3 创建 API Key

在租户控制台中创建 API Key:

  1. 登录租户控制台
  2. 进入「API 密钥」页面
  3. 点击「创建密钥」
  4. 填写密钥信息:
字段说明示例
密钥名称自定义名称生产环境 Key
关联项目选择项目默认项目
模型权限选择允许的模型全部模型
额度限制设置此 Key 的最大额度100.00 USD
  1. 点击「创建」,复制并保存 API Key(只显示一次!)

API Key 示例:

sk-tenant-abc123xyz789def456

7. 测试 API 调用

现在你已经完成了所有配置,可以测试 API 调用了。

7.1 使用 curl 测试

curl http://localhost:18888/v1/chat/completions \
  -H "Authorization: Bearer sk-tenant-你的API-Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {"role": "user", "content": "你好,请介绍一下你自己"}
    ],
    "max_tokens": 100
  }'

7.2 使用 Python 测试

import openai

# 配置 API
openai.api_base = "http://localhost:18888/v1"
openai.api_key = "sk-tenant-你的API-Key"

# 发起请求
response = openai.ChatCompletion.create(
    model="gpt-4o",
    messages=[
        {"role": "user", "content": "你好,请介绍一下你自己"}
    ],
    max_tokens=100
)

print(response.choices[0].message.content)

7.3 验证结果

如果配置正确,你会收到 AI 模型的响应。同时在租户控制台的「用量统计」中可以看到本次调用的计费记录。

7.4 项目截图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


8. 常见问题

Q1: 容器启动失败,提示数据库连接错误

原因: config.yaml 中的数据库密码与 docker-compose.yaml 不一致。

解决: 检查两个文件中的密码是否完全一致。

# docker-compose.yaml
POSTGRES_PASSWORD: my-secret-password

# config.yaml
link: "pgsql:team_api:my-secret-password@tcp(postgres:5432)/team_api?sslmode=disable"

Q2: 无法访问初始化页面,显示 404

原因: 数据库未正确初始化或迁移未执行。

解决: 查看应用日志,确认数据库迁移是否成功。

docker compose -f manifest/docker/docker-compose.yaml logs app | grep migrate

Q3: API 调用返回 401 Unauthorized

原因: API Key 错误或无效。

解决:

  1. 检查 API Key 是否正确复制
  2. 确认 API Key 所在租户是否有足够额度
  3. 检查 API Key 是否已启用

Q4: AI 模型调用失败,提示渠道不可用

原因: 渠道配置错误或 API Key 无效。

解决:

  1. 在管理后台「渠道管理」检查渠道状态
  2. 验证供应商 API Key 是否有效
  3. 检查服务器是否能访问供应商 API(网络问题)

Q5: 大陆用户如何访问 OpenAI/Claude API

原因: 这些服务在国内无法直接访问。

解决:config.yaml 中配置代理:

channel_proxy_url: "http://你的代理地址:端口"

Q6: 如何修改服务端口

修改方式:

  1. 编辑 manifest/docker/docker-compose.yaml,修改端口映射:
ports:
  - "18888:18888"  # 改为 "8000:18888" 则通过 8000 端口访问
  1. 重启服务:
docker compose -f manifest/docker/docker-compose.yaml down
docker compose -f manifest/docker/docker-compose.yaml up -d

Q7: 如何备份数据

数据库备份:

# 备份数据库到本地文件
docker exec team-api-postgres pg_dump -U team_api team_api > backup.sql

# 恢复数据库
docker exec -i team-api-postgres psql -U team_api team_api < backup.sql

Q8: 如何升级到新版本

# 1. 拉取最新代码
git pull origin main

# 2. 重新构建镜像
docker compose -f manifest/docker/docker-compose.yaml build --no-cache

# 3. 重启服务
docker compose -f manifest/docker/docker-compose.yaml up -d

# 4. 执行数据库迁移(如果有)
docker exec team-api-app goose -dir migrations postgres "连接字符串" up

9. 下一步

部署完成后,你可以:

  1. 配置更多渠道:添加多个供应商,实现智能调度和容灾
  2. 设置套餐订阅:为不同规模的租户提供差异化服务
  3. 配置监控告警:及时发现异常使用和系统问题
  4. 自定义品牌:修改租户控制台的 Logo 和配色

更多高级配置请参考项目文档。

祝你使用愉快!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐