一站式Team账号管理
See the code一个多渠道 Team 账号管理与兑换平台,支持多种订单渠道接入、自动发货、积分体系和权限管理。使用 Vue 3、Node.js、shadcn-vue 和 SQLite 构建。
/redeem)/stock)/buy)/random_activate)、指定激活(/activate)git clone <仓库地址>
cd auto-gpt-team
docker build -t auto-gpt-team:latest .
cp backend/.env.example backend/.env
编辑 backend/.env,至少配置以下必填项:
# 必须设置为强随机字符串,否则后端拒绝启动
JWT_SECRET=你的随机密钥
# 管理员初始密码(可选,不设则首次启动随机生成并输出到日志)
INIT_ADMIN_PASSWORD=你的初始密码
# 如前后端分离部署,配置允许的前端域名
CORS_ORIGINS=https://你的域名
完整环境变量列表请参考
backend/.env.example,大部分配置也可在管理后台「系统设置」中在线修改。
docker compose up -d
浏览器打开 http://你的服务器IP:5173
adminINIT_ADMIN_PASSWORD 环境变量值,或查看容器日志获取随机密码:
docker compose logs app | grep -i password
docker-compose.yml 默认将数据库目录挂载到宿主机:
| 容器路径 | 宿主机路径 | 说明 |
|---|---|---|
/app/backend/db | ./data | SQLite 数据库文件 |
所有日志统一输出到容器 stdout/stderr,使用 Docker 原生日志命令查看:
# 实时查看日志
docker compose logs -f app
# 查看最近 100 行
docker compose logs --tail 100 app
# 查看服务状态
docker compose ps
# 查看实时日志
docker compose logs -f app
# 重启服务
docker compose restart app
# 停止服务
docker compose down
# 重新构建并启动(代码更新后)
docker build -t auto-gpt-team:latest . && docker compose up -d
当有新版本发布时,可通过以下步骤更新:
# 1. 拉取最新代码
git pull
# 2. 重新构建镜像
docker build -t auto-gpt-team:latest .
# 3. 重启服务(自动使用新镜像)
docker compose down && docker compose up -d
也可以在管理后台「系统设置」页面点击「检查更新」按钮查看是否有新版本。
修改 docker-compose.yml 中的端口映射:
ports:
- "8080:5173" # 将外部端口改为 8080
如需通过域名 + HTTPS 访问,在宿主机 Nginx 中添加:
server {
listen 443 ssl;
server_name 你的域名;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:5173;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Zeabur 是一个无需配置服务器的云平台,支持一键部署。
https://github.com/Kylsky/chatgpt-team-helperJWT_SECRET、INIT_ADMIN_PASSWORD5173 并生成域名/app/backend/db详细步骤请参考 Zeabur 部署教程。
npm install
终端 1 - 启动后端:
cd backend
npm run dev
终端 2 - 启动前端:
cd frontend
npm run dev
以下所有配置均可在管理后台「系统设置」中在线修改,系统配置优先于环境变量。
用于发送订单通知、告警邮件、邮箱验证码等。
SMTP_HOST=smtp.example.com
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=your-email@example.com
SMTP_PASS=your-password
SMTP_FROM=noreply@example.com
ADMIN_ALERT_EMAIL=admin@example.com
# 可选:自定义邮件主题
EMAIL_VERIFICATION_SUBJECT=邮箱验证码
PURCHASE_EMAIL_SUBJECT=订单信息
使用 /redeem/linux-do、/redeem/open-accounts 或候车室功能前需配置。
# 必填:在 connect.linux.do 创建应用获取
LINUXDO_CLIENT_ID=your-client-id
LINUXDO_CLIENT_SECRET=your-client-secret
LINUXDO_REDIRECT_URI=https://你的域名/redeem/linux-do
# 可选:自定义 OAuth Endpoint(一般无需修改)
LINUXDO_AUTH_URL=https://connect.linux.do/oauth2/authorize
LINUXDO_TOKEN_URL=https://connect.linuxdo.org/oauth2/token
LINUXDO_USER_INFO_URL=https://connect.linuxdo.org/api/user
LINUXDO_CREDIT_BASE_URL=https://credit.linux.do/epay
LINUXDO_CREDIT_PID=your-pid
LINUXDO_CREDIT_KEY=your-key
# 上车消耗积分
OPEN_ACCOUNTS_CREDIT_COST=30
CREDIT_ORDER_EXPIRE_MINUTES=15
# 必填:通过 @BotFather 创建机器人获得
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
# 可选:限制可使用机器人的用户(逗号分隔),留空表示对所有人开放
TELEGRAM_ALLOWED_USER_IDS=123456789,987654321
# 可选:机器人调用内部 API 的地址(默认 http://127.0.0.1:PORT/api)
TELEGRAM_INTERNAL_API_BASE_URL=https://你的域名/api
# 是否启用通知(支付成功、订单同步等事件)
TELEGRAM_NOTIFY_ENABLED=true
# 通知接收者的 chat_id(逗号分隔),优先级高于 TELEGRAM_ALLOWED_USER_IDS
TELEGRAM_NOTIFY_CHAT_IDS=123456789
# 通知请求超时(毫秒)
TELEGRAM_NOTIFY_TIMEOUT_MS=8000
使用 /admin auth 命令将 Telegram 账号绑定到系统用户,绑定后可使用管理员专属功能。
/admin auth <用户名或邮箱> <API_KEY>
API_KEY 优先使用管理后台「系统设置」中配置的值,未配置时回退到 backend/.env 中的 AUTO_BOARDING_API_KEYsuper_admin 角色,即可使用 /random_activate、/activate 等管理员指令⚠️
/activate和/random_activate命令暂未开放,以下配置仅供参考。
需要先通过 /admin auth 绑定 Telegram 账号,且该用户拥有 super_admin 角色。
# /activate 指定激活账号
TELEGRAM_ACTIVATE_SSE_URL=http://127.0.0.1:8000/api/payments/checkout
TELEGRAM_ACTIVATE_API_KEY=your-api-key
TELEGRAM_ACTIVATE_TIMEOUT_MS=120000
# /random_activate 随机激活账号
TELEGRAM_RANDOM_ACTIVATE_SSE_URL=http://127.0.0.1:8000/api/team/accounts/random/checkout/sse
TELEGRAM_RANDOM_ACTIVATE_API_KEY=your-api-key
TELEGRAM_RANDOM_ACTIVATE_TIMEOUT_MS=120000
在管理后台「小红书订单」页面配置 Cookie 后启用。
# 自动同步调度开关
XHS_AUTO_SYNC_SCHEDULER_ENABLED=true
# 轮询间隔(秒)
XHS_AUTO_SYNC_CHECK_INTERVAL_SECONDS=60
Cookie 配置方式:
// 对象格式(推荐)
{
"cookie_name_1": "cookie_value_1",
"cookie_name_2": "cookie_value_2"
}
// 数组格式
[
{ "name": "cookie_name_1", "value": "cookie_value_1", "domain": ".xiaohongshu.com" }
]
在管理后台「闲鱼订单」页面配置 Cookie 后启用。
# Cookie 自动续期调度开关
XIANYU_LOGIN_REFRESH_ENABLED=true
# 续期间隔(分钟)
XIANYU_LOGIN_REFRESH_INTERVAL_MINUTES=30
开启后,收到"待发货"订单时自动给买家发送 IM 消息。
XIANYU_WS_DELIVERY_ENABLED=true
XIANYU_WS_DELIVERY_MESSAGE=请访问网页输入邮箱和订单号进行自助激活:https://你的域名/redeem/xianyu
# 可选:主动轮询同步间隔(秒),部分环境下服务端不会主动推送
XIANYU_WS_DELIVERY_SYNC_POLL_INTERVAL_SECONDS=60
# 调试选项
XIANYU_WS_DELIVERY_DEBUG=false
XIANYU_WS_DELIVERY_DRY_RUN=false
ZPAY_BASE_URL=https://zpayz.cn
ZPAY_PID=your-pid
ZPAY_KEY=your-key
# 可选:用于生成支付回调 notify_url 的公网域名
PUBLIC_BASE_URL=https://你的域名
# 标准商品
PURCHASE_PRODUCT_NAME=通用渠道激活码
PURCHASE_PRICE=1.00
PURCHASE_SERVICE_DAYS=30
# 无质保商品
PURCHASE_NO_WARRANTY_PRODUCT_NAME=通用渠道激活码(无质保)
PURCHASE_NO_WARRANTY_PRICE=5.00
PURCHASE_NO_WARRANTY_SERVICE_DAYS=30
# 防封禁商品(已下线,配置已弃用)
# PURCHASE_ANTI_BAN_PRODUCT_NAME=通用渠道激活码(防封禁)
# PURCHASE_ANTI_BAN_PRICE=10.00
# PURCHASE_ANTI_BAN_SERVICE_DAYS=30
# 订单过期时间(分钟)
PURCHASE_ORDER_EXPIRE_MINUTES=15
TURNSTILE_SITE_KEY=your-site-key
TURNSTILE_SECRET_KEY=your-secret-key
TURNSTILE_TIMEOUT_MS=5000
用于 OpenAI API 调用、开放账号上车、邀请同步等场景(同一账号会稳定散列到某个代理,以便均衡分摊)。
# 代理池(逗号分隔,支持 http/https/socks5/socks5h)
OPEN_ACCOUNTS_SWEEPER_PROXY_URLS=socks5h://127.0.0.1:1080,http://user:pass@127.0.0.1:8080
# 或从文件读取(每行一个代理地址)
OPEN_ACCOUNTS_SWEEPER_PROXY_FILE=/path/to/proxies.txt
# 单个代理配置请参考 backend/.env.example(优先级与变量名以代码为准)
SQLite 数据库文件:backend/db/database.sqlite
重置数据库:
rm backend/db/database.sqlite
# 重启后端服务会自动重建数据库
.
├── frontend/ # Vue 3 前端应用
│ ├── src/
│ │ ├── components/ui/ # shadcn-vue 组件
│ │ ├── views/ # 页面视图
│ │ ├── router/ # 路由配置
│ │ ├── services/ # API 服务
│ │ └── lib/ # 工具函数与菜单配置
│ └── package.json
├── backend/ # Node.js 后端应用
│ ├── src/
│ │ ├── database/ # 数据库初始化
│ │ ├── routes/ # API 路由
│ │ ├── services/ # 业务服务(同步、通知、定时任务等)
│ │ ├── middleware/ # 认证与权限中间件
│ │ └── server.js # 服务器入口
│ └── package.json
├── Dockerfile # 多阶段构建
├── docker-compose.yml # 容器编排
├── nginx.conf # Nginx 配置
├── supervisord.conf # 进程管理配置
└── package.json # 根配置(workspaces)
容器启动失败:
docker compose logs app
数据库权限问题:
chmod 777 ./data
docker compose restart app
# 后端(3000)
lsof -ti:3000 | xargs kill -9
# 前端(5173)
lsof -ti:5173 | xargs kill -9
ISC
1,033 followers · starred Apr 2026
8 followers · starred Mar 2026
832 followers · starred Mar 2026
2 followers · starred Feb 2026
一站式Team账号管理
See the code一个多渠道 Team 账号管理与兑换平台,支持多种订单渠道接入、自动发货、积分体系和权限管理。使用 Vue 3、Node.js、shadcn-vue 和 SQLite 构建。
/redeem)/stock)/buy)/random_activate)、指定激活(/activate)git clone <仓库地址>
cd auto-gpt-team
docker build -t auto-gpt-team:latest .
cp backend/.env.example backend/.env
编辑 backend/.env,至少配置以下必填项:
# 必须设置为强随机字符串,否则后端拒绝启动
JWT_SECRET=你的随机密钥
# 管理员初始密码(可选,不设则首次启动随机生成并输出到日志)
INIT_ADMIN_PASSWORD=你的初始密码
# 如前后端分离部署,配置允许的前端域名
CORS_ORIGINS=https://你的域名
完整环境变量列表请参考
backend/.env.example,大部分配置也可在管理后台「系统设置」中在线修改。
docker compose up -d
浏览器打开 http://你的服务器IP:5173
adminINIT_ADMIN_PASSWORD 环境变量值,或查看容器日志获取随机密码:
docker compose logs app | grep -i password
docker-compose.yml 默认将数据库目录挂载到宿主机:
| 容器路径 | 宿主机路径 | 说明 |
|---|---|---|
/app/backend/db | ./data | SQLite 数据库文件 |
所有日志统一输出到容器 stdout/stderr,使用 Docker 原生日志命令查看:
# 实时查看日志
docker compose logs -f app
# 查看最近 100 行
docker compose logs --tail 100 app
# 查看服务状态
docker compose ps
# 查看实时日志
docker compose logs -f app
# 重启服务
docker compose restart app
# 停止服务
docker compose down
# 重新构建并启动(代码更新后)
docker build -t auto-gpt-team:latest . && docker compose up -d
当有新版本发布时,可通过以下步骤更新:
# 1. 拉取最新代码
git pull
# 2. 重新构建镜像
docker build -t auto-gpt-team:latest .
# 3. 重启服务(自动使用新镜像)
docker compose down && docker compose up -d
也可以在管理后台「系统设置」页面点击「检查更新」按钮查看是否有新版本。
修改 docker-compose.yml 中的端口映射:
ports:
- "8080:5173" # 将外部端口改为 8080
如需通过域名 + HTTPS 访问,在宿主机 Nginx 中添加:
server {
listen 443 ssl;
server_name 你的域名;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:5173;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Zeabur 是一个无需配置服务器的云平台,支持一键部署。
https://github.com/Kylsky/chatgpt-team-helperJWT_SECRET、INIT_ADMIN_PASSWORD5173 并生成域名/app/backend/db详细步骤请参考 Zeabur 部署教程。
npm install
终端 1 - 启动后端:
cd backend
npm run dev
终端 2 - 启动前端:
cd frontend
npm run dev
以下所有配置均可在管理后台「系统设置」中在线修改,系统配置优先于环境变量。
用于发送订单通知、告警邮件、邮箱验证码等。
SMTP_HOST=smtp.example.com
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=your-email@example.com
SMTP_PASS=your-password
SMTP_FROM=noreply@example.com
ADMIN_ALERT_EMAIL=admin@example.com
# 可选:自定义邮件主题
EMAIL_VERIFICATION_SUBJECT=邮箱验证码
PURCHASE_EMAIL_SUBJECT=订单信息
使用 /redeem/linux-do、/redeem/open-accounts 或候车室功能前需配置。
# 必填:在 connect.linux.do 创建应用获取
LINUXDO_CLIENT_ID=your-client-id
LINUXDO_CLIENT_SECRET=your-client-secret
LINUXDO_REDIRECT_URI=https://你的域名/redeem/linux-do
# 可选:自定义 OAuth Endpoint(一般无需修改)
LINUXDO_AUTH_URL=https://connect.linux.do/oauth2/authorize
LINUXDO_TOKEN_URL=https://connect.linuxdo.org/oauth2/token
LINUXDO_USER_INFO_URL=https://connect.linuxdo.org/api/user
LINUXDO_CREDIT_BASE_URL=https://credit.linux.do/epay
LINUXDO_CREDIT_PID=your-pid
LINUXDO_CREDIT_KEY=your-key
# 上车消耗积分
OPEN_ACCOUNTS_CREDIT_COST=30
CREDIT_ORDER_EXPIRE_MINUTES=15
# 必填:通过 @BotFather 创建机器人获得
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
# 可选:限制可使用机器人的用户(逗号分隔),留空表示对所有人开放
TELEGRAM_ALLOWED_USER_IDS=123456789,987654321
# 可选:机器人调用内部 API 的地址(默认 http://127.0.0.1:PORT/api)
TELEGRAM_INTERNAL_API_BASE_URL=https://你的域名/api
# 是否启用通知(支付成功、订单同步等事件)
TELEGRAM_NOTIFY_ENABLED=true
# 通知接收者的 chat_id(逗号分隔),优先级高于 TELEGRAM_ALLOWED_USER_IDS
TELEGRAM_NOTIFY_CHAT_IDS=123456789
# 通知请求超时(毫秒)
TELEGRAM_NOTIFY_TIMEOUT_MS=8000
使用 /admin auth 命令将 Telegram 账号绑定到系统用户,绑定后可使用管理员专属功能。
/admin auth <用户名或邮箱> <API_KEY>
API_KEY 优先使用管理后台「系统设置」中配置的值,未配置时回退到 backend/.env 中的 AUTO_BOARDING_API_KEYsuper_admin 角色,即可使用 /random_activate、/activate 等管理员指令⚠️
/activate和/random_activate命令暂未开放,以下配置仅供参考。
需要先通过 /admin auth 绑定 Telegram 账号,且该用户拥有 super_admin 角色。
# /activate 指定激活账号
TELEGRAM_ACTIVATE_SSE_URL=http://127.0.0.1:8000/api/payments/checkout
TELEGRAM_ACTIVATE_API_KEY=your-api-key
TELEGRAM_ACTIVATE_TIMEOUT_MS=120000
# /random_activate 随机激活账号
TELEGRAM_RANDOM_ACTIVATE_SSE_URL=http://127.0.0.1:8000/api/team/accounts/random/checkout/sse
TELEGRAM_RANDOM_ACTIVATE_API_KEY=your-api-key
TELEGRAM_RANDOM_ACTIVATE_TIMEOUT_MS=120000
在管理后台「小红书订单」页面配置 Cookie 后启用。
# 自动同步调度开关
XHS_AUTO_SYNC_SCHEDULER_ENABLED=true
# 轮询间隔(秒)
XHS_AUTO_SYNC_CHECK_INTERVAL_SECONDS=60
Cookie 配置方式:
// 对象格式(推荐)
{
"cookie_name_1": "cookie_value_1",
"cookie_name_2": "cookie_value_2"
}
// 数组格式
[
{ "name": "cookie_name_1", "value": "cookie_value_1", "domain": ".xiaohongshu.com" }
]
在管理后台「闲鱼订单」页面配置 Cookie 后启用。
# Cookie 自动续期调度开关
XIANYU_LOGIN_REFRESH_ENABLED=true
# 续期间隔(分钟)
XIANYU_LOGIN_REFRESH_INTERVAL_MINUTES=30
开启后,收到"待发货"订单时自动给买家发送 IM 消息。
XIANYU_WS_DELIVERY_ENABLED=true
XIANYU_WS_DELIVERY_MESSAGE=请访问网页输入邮箱和订单号进行自助激活:https://你的域名/redeem/xianyu
# 可选:主动轮询同步间隔(秒),部分环境下服务端不会主动推送
XIANYU_WS_DELIVERY_SYNC_POLL_INTERVAL_SECONDS=60
# 调试选项
XIANYU_WS_DELIVERY_DEBUG=false
XIANYU_WS_DELIVERY_DRY_RUN=false
ZPAY_BASE_URL=https://zpayz.cn
ZPAY_PID=your-pid
ZPAY_KEY=your-key
# 可选:用于生成支付回调 notify_url 的公网域名
PUBLIC_BASE_URL=https://你的域名
# 标准商品
PURCHASE_PRODUCT_NAME=通用渠道激活码
PURCHASE_PRICE=1.00
PURCHASE_SERVICE_DAYS=30
# 无质保商品
PURCHASE_NO_WARRANTY_PRODUCT_NAME=通用渠道激活码(无质保)
PURCHASE_NO_WARRANTY_PRICE=5.00
PURCHASE_NO_WARRANTY_SERVICE_DAYS=30
# 防封禁商品(已下线,配置已弃用)
# PURCHASE_ANTI_BAN_PRODUCT_NAME=通用渠道激活码(防封禁)
# PURCHASE_ANTI_BAN_PRICE=10.00
# PURCHASE_ANTI_BAN_SERVICE_DAYS=30
# 订单过期时间(分钟)
PURCHASE_ORDER_EXPIRE_MINUTES=15
TURNSTILE_SITE_KEY=your-site-key
TURNSTILE_SECRET_KEY=your-secret-key
TURNSTILE_TIMEOUT_MS=5000
用于 OpenAI API 调用、开放账号上车、邀请同步等场景(同一账号会稳定散列到某个代理,以便均衡分摊)。
# 代理池(逗号分隔,支持 http/https/socks5/socks5h)
OPEN_ACCOUNTS_SWEEPER_PROXY_URLS=socks5h://127.0.0.1:1080,http://user:pass@127.0.0.1:8080
# 或从文件读取(每行一个代理地址)
OPEN_ACCOUNTS_SWEEPER_PROXY_FILE=/path/to/proxies.txt
# 单个代理配置请参考 backend/.env.example(优先级与变量名以代码为准)
SQLite 数据库文件:backend/db/database.sqlite
重置数据库:
rm backend/db/database.sqlite
# 重启后端服务会自动重建数据库
.
├── frontend/ # Vue 3 前端应用
│ ├── src/
│ │ ├── components/ui/ # shadcn-vue 组件
│ │ ├── views/ # 页面视图
│ │ ├── router/ # 路由配置
│ │ ├── services/ # API 服务
│ │ └── lib/ # 工具函数与菜单配置
│ └── package.json
├── backend/ # Node.js 后端应用
│ ├── src/
│ │ ├── database/ # 数据库初始化
│ │ ├── routes/ # API 路由
│ │ ├── services/ # 业务服务(同步、通知、定时任务等)
│ │ ├── middleware/ # 认证与权限中间件
│ │ └── server.js # 服务器入口
│ └── package.json
├── Dockerfile # 多阶段构建
├── docker-compose.yml # 容器编排
├── nginx.conf # Nginx 配置
├── supervisord.conf # 进程管理配置
└── package.json # 根配置(workspaces)
容器启动失败:
docker compose logs app
数据库权限问题:
chmod 777 ./data
docker compose restart app
# 后端(3000)
lsof -ti:3000 | xargs kill -9
# 前端(5173)
lsof -ti:5173 | xargs kill -9
ISC
1,033 followers · starred Apr 2026
8 followers · starred Mar 2026
832 followers · starred Mar 2026
2 followers · starred Feb 2026