一个基于 FastAPI 的 ChatGPT Team 账号管理系统,支持管理员批量管理 Team 账号,用户通过兑换码自动加入 Team。
本项目更新放缓,推荐另一个佬的项目 https://github.com/loLollipop/team-manage-refresh
git clone https://github.com/tibbar213/team-manage.git
cd team-manage
cp .env.example .env
docker compose up -d
git pull && docker compose down && docker compose up -d --build
Team 账号管理
兑换码管理
使用记录查询
系统设置
git clone https://github.com/tibbar213/team-manage.git
cd team-manage
# Windows
python -m venv venv
venv\Scripts\activate
# Linux/macOS
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
复制 .env.example 为 .env 并修改配置:
cp .env.example .env
编辑 .env 文件:
# 应用配置
APP_NAME=GPT Team 管理系统
APP_VERSION=0.1.0
APP_HOST=0.0.0.0
APP_PORT=8008
DEBUG=True
# 数据库配置(默认使用 SQLite)
DATABASE_URL=sqlite+aiosqlite:///team_manage.db
# 安全配置(生产环境请修改)
SECRET_KEY=your-secret-key-here-change-in-production
ADMIN_PASSWORD=admin123
# 日志配置
LOG_LEVEL=INFO
# 代理配置(可选)
PROXY_ENABLED=False
PROXY=
# JWT 配置
JWT_VERIFY_SIGNATURE=False
python init_db.py
# 开发模式(自动重载)
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8008
# 或者直接运行
python app/main.py
默认管理员账号:
adminadmin123(请在首次登录后修改)项目支持使用 Docker 快速部署,确保环境一致性并简化配置。
确保你的系统已安装:
.env 文件(参考上述"配置环境变量"章节)。# 构建并启动容器
docker compose up -d
Docker 配置中已自动将宿主机的 team_manage.db 文件映射到容器内部,因此你的数据会自动保存在项目根目录下,容器删除后数据依然存在。
# 查看日志
docker compose logs -f
# 停止并移除容器
docker compose down
# 重新构建镜像
docker compose build --no-cache
team-manage/
├── app/ # 应用主目录
│ ├── main.py # FastAPI 入口文件
│ ├── config.py # 配置管理
│ ├── database.py # 数据库连接
│ ├── models.py # SQLAlchemy 模型
│ ├── routes/ # 路由模块
│ │ ├── admin.py # 管理员路由
│ │ ├── user.py # 用户路由
│ │ ├── api.py # API 端点
│ │ ├── auth.py # 认证路由
│ │ └── redeem.py # 兑换路由
│ ├── services/ # 业务逻辑服务
│ │ ├── auth.py # 认证服务
│ │ ├── chatgpt.py # ChatGPT API 集成
│ │ ├── encryption.py # 加密服务
│ │ ├── redeem_flow.py # 兑换流程服务
│ │ ├── redemption.py # 兑换码管理服务
│ │ ├── settings.py # 系统设置服务
│ │ └── team.py # Team 管理服务
│ ├── utils/ # 工具模块
│ │ ├── jwt_parser.py # JWT Token 解析
│ │ └── token_parser.py # Token 正则匹配
│ ├── dependencies/ # FastAPI 依赖
│ │ └── auth.py # 认证依赖
│ ├── templates/ # Jinja2 模板
│ │ ├── base.html # 基础布局
│ │ ├── auth/ # 认证页面
│ │ ├── admin/ # 管理员页面
│ │ └── user/ # 用户页面
│ └── static/ # 静态文件
│ ├── css/ # 样式文件
│ └── js/ # JavaScript 文件
├── init_db.py # 数据库初始化脚本
├── requirements.txt # Python 依赖
├── Dockerfile # Docker 镜像构建文件
├── docker-compose.yml # Docker 服务编排文件
├── .dockerignore # Docker 忽略文件
├── .env.example # 环境变量示例
├── CLAUDE.md # Claude Code 指南
├── 需求.md # 项目需求文档
├── 任务.md # 任务跟踪文档
├── 接口.md # API 接口文档
└── README.md # 项目说明文档
默认使用 SQLite 数据库,数据库文件为 team_manage.db。如需使用其他数据库,请修改 DATABASE_URL。
如果需要通过代理访问 ChatGPT API,可以在管理员面板的"系统设置"中配置代理:
http://proxy.example.com:8080socks5://proxy.example.com:1080生产环境部署前,请务必修改以下配置:
SECRET_KEY: 用于 Session 签名,请使用随机字符串ADMIN_PASSWORD: 管理员初始密码,首次登录后请立即修改DEBUG: 生产环境请设置为 False登录管理员面板
导入 Team 账号
生成兑换码
查看使用记录
系统设置
访问兑换页面
输入信息
选择 Team
完成兑换
接受邀请
详细的 API 接口文档请参考 接口.md。
主要接口:
POST /auth/login - 管理员登录POST /auth/logout - 管理员登出POST /redeem/verify - 验证兑换码POST /redeem/confirm - 确认兑换GET /admin - 管理员控制台GET /admin/teams/import - Team 导入页面GET /admin/codes - 兑换码列表GET /admin/records - 使用记录# 删除旧数据库文件
rm team_manage.db
# 重新初始化
python init_db.py
exclude-patterns 非 ASCII 错误如果在群辉 NAS / Container Manager 上执行 docker compose up -d 时出现类似下面的错误:
failed to solve: ... header key "exclude-patterns" contains value with non-printable ASCII characters
通常是因为较旧的 BuildKit 实现无法处理 .dockerignore 中的非 ASCII 文件名模式。
当前仓库已经改为仅使用 ASCII 的忽略规则。如果你是从旧版本更新上来的,请执行:
git pull
docker compose build --no-cache
docker compose up -d
本项目仅供学习和研究使用。
欢迎提交 Issue 和 Pull Request!
注意: 本系统仅用于合法的 ChatGPT Team 账号管理,请遵守 OpenAI 的服务条款。
一个基于 FastAPI 的 ChatGPT Team 账号管理系统,支持管理员批量管理 Team 账号,用户通过兑换码自动加入 Team。
本项目更新放缓,推荐另一个佬的项目 https://github.com/loLollipop/team-manage-refresh
git clone https://github.com/tibbar213/team-manage.git
cd team-manage
cp .env.example .env
docker compose up -d
git pull && docker compose down && docker compose up -d --build
Team 账号管理
兑换码管理
使用记录查询
系统设置
git clone https://github.com/tibbar213/team-manage.git
cd team-manage
# Windows
python -m venv venv
venv\Scripts\activate
# Linux/macOS
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
复制 .env.example 为 .env 并修改配置:
cp .env.example .env
编辑 .env 文件:
# 应用配置
APP_NAME=GPT Team 管理系统
APP_VERSION=0.1.0
APP_HOST=0.0.0.0
APP_PORT=8008
DEBUG=True
# 数据库配置(默认使用 SQLite)
DATABASE_URL=sqlite+aiosqlite:///team_manage.db
# 安全配置(生产环境请修改)
SECRET_KEY=your-secret-key-here-change-in-production
ADMIN_PASSWORD=admin123
# 日志配置
LOG_LEVEL=INFO
# 代理配置(可选)
PROXY_ENABLED=False
PROXY=
# JWT 配置
JWT_VERIFY_SIGNATURE=False
python init_db.py
# 开发模式(自动重载)
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8008
# 或者直接运行
python app/main.py
默认管理员账号:
adminadmin123(请在首次登录后修改)项目支持使用 Docker 快速部署,确保环境一致性并简化配置。
确保你的系统已安装:
.env 文件(参考上述"配置环境变量"章节)。# 构建并启动容器
docker compose up -d
Docker 配置中已自动将宿主机的 team_manage.db 文件映射到容器内部,因此你的数据会自动保存在项目根目录下,容器删除后数据依然存在。
# 查看日志
docker compose logs -f
# 停止并移除容器
docker compose down
# 重新构建镜像
docker compose build --no-cache
team-manage/
├── app/ # 应用主目录
│ ├── main.py # FastAPI 入口文件
│ ├── config.py # 配置管理
│ ├── database.py # 数据库连接
│ ├── models.py # SQLAlchemy 模型
│ ├── routes/ # 路由模块
│ │ ├── admin.py # 管理员路由
│ │ ├── user.py # 用户路由
│ │ ├── api.py # API 端点
│ │ ├── auth.py # 认证路由
│ │ └── redeem.py # 兑换路由
│ ├── services/ # 业务逻辑服务
│ │ ├── auth.py # 认证服务
│ │ ├── chatgpt.py # ChatGPT API 集成
│ │ ├── encryption.py # 加密服务
│ │ ├── redeem_flow.py # 兑换流程服务
│ │ ├── redemption.py # 兑换码管理服务
│ │ ├── settings.py # 系统设置服务
│ │ └── team.py # Team 管理服务
│ ├── utils/ # 工具模块
│ │ ├── jwt_parser.py # JWT Token 解析
│ │ └── token_parser.py # Token 正则匹配
│ ├── dependencies/ # FastAPI 依赖
│ │ └── auth.py # 认证依赖
│ ├── templates/ # Jinja2 模板
│ │ ├── base.html # 基础布局
│ │ ├── auth/ # 认证页面
│ │ ├── admin/ # 管理员页面
│ │ └── user/ # 用户页面
│ └── static/ # 静态文件
│ ├── css/ # 样式文件
│ └── js/ # JavaScript 文件
├── init_db.py # 数据库初始化脚本
├── requirements.txt # Python 依赖
├── Dockerfile # Docker 镜像构建文件
├── docker-compose.yml # Docker 服务编排文件
├── .dockerignore # Docker 忽略文件
├── .env.example # 环境变量示例
├── CLAUDE.md # Claude Code 指南
├── 需求.md # 项目需求文档
├── 任务.md # 任务跟踪文档
├── 接口.md # API 接口文档
└── README.md # 项目说明文档
默认使用 SQLite 数据库,数据库文件为 team_manage.db。如需使用其他数据库,请修改 DATABASE_URL。
如果需要通过代理访问 ChatGPT API,可以在管理员面板的"系统设置"中配置代理:
http://proxy.example.com:8080socks5://proxy.example.com:1080生产环境部署前,请务必修改以下配置:
SECRET_KEY: 用于 Session 签名,请使用随机字符串ADMIN_PASSWORD: 管理员初始密码,首次登录后请立即修改DEBUG: 生产环境请设置为 False登录管理员面板
导入 Team 账号
生成兑换码
查看使用记录
系统设置
访问兑换页面
输入信息
选择 Team
完成兑换
接受邀请
详细的 API 接口文档请参考 接口.md。
主要接口:
POST /auth/login - 管理员登录POST /auth/logout - 管理员登出POST /redeem/verify - 验证兑换码POST /redeem/confirm - 确认兑换GET /admin - 管理员控制台GET /admin/teams/import - Team 导入页面GET /admin/codes - 兑换码列表GET /admin/records - 使用记录# 删除旧数据库文件
rm team_manage.db
# 重新初始化
python init_db.py
exclude-patterns 非 ASCII 错误如果在群辉 NAS / Container Manager 上执行 docker compose up -d 时出现类似下面的错误:
failed to solve: ... header key "exclude-patterns" contains value with non-printable ASCII characters
通常是因为较旧的 BuildKit 实现无法处理 .dockerignore 中的非 ASCII 文件名模式。
当前仓库已经改为仅使用 ASCII 的忽略规则。如果你是从旧版本更新上来的,请执行:
git pull
docker compose build --no-cache
docker compose up -d
本项目仅供学习和研究使用。
欢迎提交 Issue 和 Pull Request!
注意: 本系统仅用于合法的 ChatGPT Team 账号管理,请遵守 OpenAI 的服务条款。