[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74302":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},74302,"team-manage","tibbar213\u002Fteam-manage","tibbar213","gpt team管理和自动邀请",null,"Python",1055,284,1,0,3,20.36,"MIT License",false,"main",true,[],"2026-06-12 02:03:25","# GPT Team 管理和兑换码自动邀请系统\n\n一个基于 FastAPI 的 ChatGPT Team 账号管理系统，支持管理员批量管理 Team 账号，用户通过兑换码自动加入 Team。\n\n本项目更新放缓，推荐另一个佬的项目 https:\u002F\u002Fgithub.com\u002FloLollipop\u002Fteam-manage-refresh\n\n## 🚀 Docker 一键部署 & 更新\n\n### 一键部署\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftibbar213\u002Fteam-manage.git\ncd team-manage\ncp .env.example .env\ndocker compose up -d\n```\n\n### 一键更新\n```bash\ngit pull && docker compose down && docker compose up -d --build\n```\n\n## ✨ 功能特性\n\n### 管理员功能\n- **Team 账号管理**\n  - 单个\u002F批量导入 Team 账号（支持任意格式的 AT Token）\n  - 智能识别和提取 AT Token、邮箱、Account ID\n  - 自动同步 Team 信息（名称、订阅计划、到期时间、成员数）\n  - Team 成员管理（查看、添加、删除成员）\n  - Team 状态监控（可用\u002F已满\u002F已过期\u002F错误）\n\n- **兑换码管理**\n  - 单个\u002F批量生成兑换码\n  - 自定义兑换码和有效期\n  - 兑换码状态筛选（未使用\u002F已使用\u002F已过期）\n  - 导出兑换码为文本文件\n  - 删除未使用的兑换码\n\n- **使用记录查询**\n  - 多维度筛选（邮箱、兑换码、Team ID、日期范围）\n  - 分页展示（每页20条记录）\n  - 统计数据（总数、今日、本周、本月）\n\n- **系统设置**\n  - 代理配置（HTTP\u002FSOCKS5）\n  - 管理员密码修改\n  - 日志级别动态调整\n  - **库存预警 Webhook** (支持库存不足时自动通知第三方系统补货)\n\n### 自动化与集成\n- **库存预警与自动导入**\n  - 当可用兑换码低于设置阈值时，自动触发 Webhook 通知\n  - 支持第三方程序通过 API 自动导入新 Team 账号\n  - 详细对接说明见 [integration_docs.md](integration_docs.md)\n\n### 用户功能\n- **兑换流程**\n  - 输入邮箱和兑换码\n  - 自动验证兑换码有效性\n  - 展示可用 Team 列表\n  - 手动选择或自动分配 Team\n  - 自动发送 Team 邀请到用户邮箱\n\n## 🛠️ 技术栈\n\n- **后端框架**: FastAPI 0.109+\n- **Web 服务器**: Uvicorn\n- **数据库**: SQLite + SQLAlchemy 2.0 + aiosqlite\n- **模板引擎**: Jinja2\n- **HTTP 客户端**: curl-cffi（模拟浏览器指纹，绕过 Cloudflare 防护）\n- **认证**: Session-based（bcrypt 密码哈希）\n- **加密**: cryptography（AES-256-GCM）\n- **JWT 解析**: PyJWT\n- **前端**: HTML + CSS + 原生 JavaScript\n\n## 📋 系统要求\n\n- Python 3.10+\n- pip（Python 包管理器）\n- 操作系统：Windows \u002F Linux \u002F macOS\n\n## 🚀 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftibbar213\u002Fteam-manage.git\ncd team-manage\n```\n\n### 2. 创建虚拟环境\n\n```bash\n# Windows\npython -m venv venv\nvenv\\Scripts\\activate\n\n# Linux\u002FmacOS\npython3 -m venv venv\nsource venv\u002Fbin\u002Factivate\n```\n\n### 3. 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n### 4. 配置环境变量\n\n复制 `.env.example` 为 `.env` 并修改配置：\n\n```bash\ncp .env.example .env\n```\n\n编辑 `.env` 文件：\n\n```env\n# 应用配置\nAPP_NAME=GPT Team 管理系统\nAPP_VERSION=0.1.0\nAPP_HOST=0.0.0.0\nAPP_PORT=8008\nDEBUG=True\n\n# 数据库配置（默认使用 SQLite）\nDATABASE_URL=sqlite+aiosqlite:\u002F\u002F\u002Fteam_manage.db\n\n# 安全配置（生产环境请修改）\nSECRET_KEY=your-secret-key-here-change-in-production\nADMIN_PASSWORD=admin123\n\n# 日志配置\nLOG_LEVEL=INFO\n\n# 代理配置（可选）\nPROXY_ENABLED=False\nPROXY=\n\n# JWT 配置\nJWT_VERIFY_SIGNATURE=False\n```\n\n### 5. 初始化数据库\n\n```bash\npython init_db.py\n```\n\n### 6. 启动应用\n\n```bash\n# 开发模式（自动重载）\npython -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8008\n\n# 或者直接运行\npython app\u002Fmain.py\n```\n\n### 7. 访问应用\n\n- **用户兑换页面**: http:\u002F\u002Flocalhost:8008\u002F\n- **管理员登录页面**: http:\u002F\u002Flocalhost:8008\u002Flogin\n- **管理员控制台**: http:\u002F\u002Flocalhost:8008\u002Fadmin\n\n**默认管理员账号**:\n- 用户名: `admin`\n- 密码: `admin123`（请在首次登录后修改）\n\n---\n\n## 🐳 Docker 部署 (推荐)\n\n项目支持使用 Docker 快速部署，确保环境一致性并简化配置。\n\n### 1. 准备工作\n\n确保你的系统已安装：\n- Docker\n- Docker Compose\n\n### 2. 快速启动\n\n1.  克隆项目并进入目录。\n2.  配置 `.env` 文件（参考上述\"配置环境变量\"章节）。\n3.  运行 Docker Compose 命令：\n\n```bash\n# 构建并启动容器\ndocker compose up -d\n```\n\n### 3. 数据持久化\n\nDocker 配置中已自动将宿主机的 `team_manage.db` 文件映射到容器内部，因此你的数据会自动保存在项目根目录下，容器删除后数据依然存在。\n\n### 4. 常用命令\n\n```bash\n# 查看日志\ndocker compose logs -f\n\n# 停止并移除容器\ndocker compose down\n\n# 重新构建镜像\ndocker compose build --no-cache\n```\n\n## 📁 项目结构\n\n```\nteam-manage\u002F\n├── app\u002F                        # 应用主目录\n│   ├── main.py                 # FastAPI 入口文件\n│   ├── config.py               # 配置管理\n│   ├── database.py             # 数据库连接\n│   ├── models.py               # SQLAlchemy 模型\n│   ├── routes\u002F                 # 路由模块\n│   │   ├── admin.py            # 管理员路由\n│   │   ├── user.py             # 用户路由\n│   │   ├── api.py              # API 端点\n│   │   ├── auth.py             # 认证路由\n│   │   └── redeem.py           # 兑换路由\n│   ├── services\u002F               # 业务逻辑服务\n│   │   ├── auth.py             # 认证服务\n│   │   ├── chatgpt.py          # ChatGPT API 集成\n│   │   ├── encryption.py       # 加密服务\n│   │   ├── redeem_flow.py      # 兑换流程服务\n│   │   ├── redemption.py       # 兑换码管理服务\n│   │   ├── settings.py         # 系统设置服务\n│   │   └── team.py             # Team 管理服务\n│   ├── utils\u002F                  # 工具模块\n│   │   ├── jwt_parser.py       # JWT Token 解析\n│   │   └── token_parser.py     # Token 正则匹配\n│   ├── dependencies\u002F           # FastAPI 依赖\n│   │   └── auth.py             # 认证依赖\n│   ├── templates\u002F              # Jinja2 模板\n│   │   ├── base.html           # 基础布局\n│   │   ├── auth\u002F               # 认证页面\n│   │   ├── admin\u002F              # 管理员页面\n│   │   └── user\u002F               # 用户页面\n│   └── static\u002F                 # 静态文件\n│       ├── css\u002F                # 样式文件\n│       └── js\u002F                 # JavaScript 文件\n├── init_db.py                  # 数据库初始化脚本\n├── requirements.txt            # Python 依赖\n├── Dockerfile                  # Docker 镜像构建文件\n├── docker-compose.yml          # Docker 服务编排文件\n├── .dockerignore               # Docker 忽略文件\n├── .env.example                # 环境变量示例\n├── CLAUDE.md                   # Claude Code 指南\n├── 需求.md                     # 项目需求文档\n├── 任务.md                     # 任务跟踪文档\n├── 接口.md                     # API 接口文档\n└── README.md                   # 项目说明文档\n```\n\n## 🔧 配置说明\n\n### 数据库配置\n\n默认使用 SQLite 数据库，数据库文件为 `team_manage.db`。如需使用其他数据库，请修改 `DATABASE_URL`。\n\n### 代理配置\n\n如果需要通过代理访问 ChatGPT API，可以在管理员面板的\"系统设置\"中配置代理：\n\n- 支持 HTTP 代理：`http:\u002F\u002Fproxy.example.com:8080`\n- 支持 SOCKS5 代理：`socks5:\u002F\u002Fproxy.example.com:1080`\n\n### 安全配置\n\n**生产环境部署前，请务必修改以下配置**：\n\n1. `SECRET_KEY`: 用于 Session 签名，请使用随机字符串\n2. `ADMIN_PASSWORD`: 管理员初始密码，首次登录后请立即修改\n3. `DEBUG`: 生产环境请设置为 `False`\n\n## 📖 使用指南\n\n### 管理员操作流程\n\n1. **登录管理员面板**\n   - 访问 http:\u002F\u002Flocalhost:8008\u002Flogin\n   - 使用默认账号登录（admin\u002Fadmin123）\n   - 首次登录后建议修改密码\n\n2. **导入 Team 账号**\n   - 进入\"Team 管理\" → \"导入 Team\"\n   - 单个导入：填写 AT Token、邮箱（可选）、Account ID（可选）\n   - 批量导入：粘贴包含 AT Token 的文本（支持任意格式）\n   - 系统会自动识别和提取信息\n\n3. **生成兑换码**\n   - 进入\"兑换码管理\" → \"生成兑换码\"\n   - 单个生成：可自定义兑换码和有效期\n   - 批量生成：设置数量和有效期\n   - 生成后可复制或下载\n\n4. **查看使用记录**\n   - 进入\"使用记录\"\n   - 可按邮箱、兑换码、Team ID、日期范围筛选\n   - 查看统计数据（总数、今日、本周、本月）\n\n5. **系统设置**\n   - 进入\"系统设置\"\n   - 配置代理（如需）\n   - 修改管理员密码\n   - 调整日志级别\n\n### 用户兑换流程\n\n1. **访问兑换页面**\n   - 访问 http:\u002F\u002Flocalhost:8008\u002F\n\n2. **输入信息**\n   - 填写邮箱地址\n   - 输入兑换码\n\n3. **选择 Team**\n   - 系统展示可用 Team 列表\n   - 手动选择 Team 或点击\"自动选择\"\n\n4. **完成兑换**\n   - 系统自动发送邀请到邮箱\n   - 查看兑换结果（Team 名称、到期时间）\n\n5. **接受邀请**\n   - 检查邮箱收到的 ChatGPT Team 邀请邮件\n   - 点击邮件中的链接接受邀请\n\n## 🔌 API 接口\n\n详细的 API 接口文档请参考 [接口.md](接口.md)。\n\n主要接口：\n\n- `POST \u002Fauth\u002Flogin` - 管理员登录\n- `POST \u002Fauth\u002Flogout` - 管理员登出\n- `POST \u002Fredeem\u002Fverify` - 验证兑换码\n- `POST \u002Fredeem\u002Fconfirm` - 确认兑换\n- `GET \u002Fadmin` - 管理员控制台\n- `GET \u002Fadmin\u002Fteams\u002Fimport` - Team 导入页面\n- `GET \u002Fadmin\u002Fcodes` - 兑换码列表\n- `GET \u002Fadmin\u002Frecords` - 使用记录\n\n## 🐛 故障排除\n\n### 数据库初始化失败\n\n```bash\n# 删除旧数据库文件\nrm team_manage.db\n\n# 重新初始化\npython init_db.py\n```\n\n### 无法访问 ChatGPT API\n\n1. 检查网络连接\n2. 配置代理（如需）\n3. 检查 AT Token 是否有效\n4. 查看日志文件排查错误\n\n### 导入 Team 失败\n\n1. 确保 AT Token 格式正确\n2. 检查 Token 是否过期\n3. 验证 Token 是否有 Team 管理权限\n\n### 群辉 Docker 构建时报 `exclude-patterns` 非 ASCII 错误\n\n如果在群辉 NAS \u002F Container Manager 上执行 `docker compose up -d` 时出现类似下面的错误：\n\n```text\nfailed to solve: ... header key \"exclude-patterns\" contains value with non-printable ASCII characters\n```\n\n通常是因为较旧的 BuildKit 实现无法处理 `.dockerignore` 中的非 ASCII 文件名模式。\n\n当前仓库已经改为仅使用 ASCII 的忽略规则。如果你是从旧版本更新上来的，请执行：\n\n```bash\ngit pull\ndocker compose build --no-cache\ndocker compose up -d\n```\n\n## 📄 许可证\n\n本项目仅供学习和研究使用。\n\n## 🤝 贡献\n\n欢迎提交 Issue 和 Pull Request！\n\n---\n\n**注意**: 本系统仅用于合法的 ChatGPT Team 账号管理，请遵守 OpenAI 的服务条款。\n","tibbar213\u002Fteam-manage 是一个基于 FastAPI 的 ChatGPT Team 账号管理系统，支持管理员批量管理 Team 账号，并允许用户通过兑换码自动加入 Team。该项目的核心功能包括智能识别和提取 AT Token、邮箱、Account ID，自动同步 Team 信息，以及生成和管理兑换码。系统还提供了详细的使用记录查询、库存预警 Webhook 和多维度筛选功能。技术上，项目采用了 FastAPI 框架、Uvicorn 服务器、SQLite 数据库等现代工具栈，并支持 Docker 一键部署以简化配置过程。此项目适用于需要高效管理和自动化处理 ChatGPT Team 账号的场景，如企业内部团队协作或教育机构的教学辅助。",2,"2026-06-11 03:49:54","high_star"]