Kylsky/chatgpt-team-helper

一站式Team账号管理

JavaScript

1,119

73 commits

updated Mar 24, 2026

See the code

README

ChatGPT Team Helper

Telegram 交流群 Linux DO

一个多渠道 Team 账号管理与兑换平台,支持多种订单渠道接入、自动发货、积分体系和权限管理。使用 Vue 3、Node.js、shadcn-vue 和 SQLite 构建。

image image

Star History

Star History Chart

功能特性

账号管理

  • Team 账号全生命周期管理(创建、编辑、删除、封号)
  • 开放API 提供 Token 自动刷新与状态同步
  • 账号用户数、邀请数实时同步(通过 OpenAI API)
  • 账号到期管理与开放展示控制
  • 创建账号时自动生成兑换码

多渠道兑换

  • 通用兑换:邮箱 + 兑换码直接兑换
  • 小红书兑换:邮箱 + 小红书订单号自动匹配兑换
  • 闲鱼兑换:邮箱 + 闲鱼订单号自动匹配兑换
  • Linux DO 兑换:通过 Linux DO OAuth 身份验证后兑换
  • 开放账号页:Linux DO 用户付费上车,支持 Credit 积分支付
  • 补号/账号恢复:历史订单找回与重新兑换

订单管理

  • 支付订单:Zpay 支付网关集成,支持多种商品类型(标准、无质保)
  • Credit 订单:Linux DO Credit 支付网关集成
  • 小红书订单:API 自动同步 + 手动导入,定时轮询
  • 闲鱼订单:API 同步 + WebSocket 实时监听 + IM 自动发货

支付与商城

  • 在线购买商城,支持多种商品
  • Zpay / Credit 双支付网关
  • 订单状态轮询与过期自动清理
  • 支付回调与自动发码

积分体系

  • 邀请奖励 & 购买奖励积分
  • 积分提现/返现(比例与门槛可配置)
  • 积分流水明细查询

候车室

  • Linux DO 用户排队上车机制
  • 信任等级门槛控制
  • 自动上车定时任务(可配置活跃时段)
  • 冷却期管理

Telegram 机器人

  • 私聊兑换流程(/redeem)
  • 库存查询(/stock)
  • 在线购买(/buy)
  • 管理员专属:随机激活(/random_activate)、指定激活(/activate)
  • 事件通知推送(支付成功、订单同步等)

权限管理(RBAC)

  • 用户管理(注册、登录、邮箱域名白名单)
  • 角色管理(超级管理员 / 自定义角色)
  • 菜单权限动态分配
  • 功能模块开关(小红书 / 闲鱼 / 支付 / 开放账号)

系统运维

  • 邮件告警(SMTP)
  • Cloudflare Turnstile 人机验证
  • 开放账号超员扫描定时任务
  • 订单过期清理定时任务
  • Credit 订单失败补偿任务
  • 数据统计仪表盘

技术栈

前端

  • Vue 3 + TypeScript + Vite
  • Vue Router
  • shadcn-vue UI 组件
  • Tailwind CSS v3
  • Axios

后端

  • Node.js + Express
  • SQLite (sql.js)
  • JWT 认证
  • Nginx 反向代理(Docker 部署)
  • Supervisor 进程管理(Docker 部署)

部署

Docker Compose 部署(推荐)

1. 克隆仓库

git clone <仓库地址>
cd auto-gpt-team

2. 构建镜像

docker build -t auto-gpt-team:latest .

3. 配置环境变量

cp backend/.env.example backend/.env

编辑 backend/.env,至少配置以下必填项:

# 必须设置为强随机字符串,否则后端拒绝启动
JWT_SECRET=你的随机密钥

# 管理员初始密码(可选,不设则首次启动随机生成并输出到日志)
INIT_ADMIN_PASSWORD=你的初始密码

# 如前后端分离部署,配置允许的前端域名
CORS_ORIGINS=https://你的域名

完整环境变量列表请参考 backend/.env.example,大部分配置也可在管理后台「系统设置」中在线修改。

4. 启动服务

docker compose up -d

5. 访问应用

浏览器打开 http://你的服务器IP:5173

6. 登录

  • 用户名:admin
  • 密码:INIT_ADMIN_PASSWORD 环境变量值,或查看容器日志获取随机密码:
    docker compose logs app | grep -i password
    

数据持久化

docker-compose.yml 默认将数据库目录挂载到宿主机:

容器路径宿主机路径说明
/app/backend/db./dataSQLite 数据库文件

日志查看

所有日志统一输出到容器 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

反向代理(Nginx 示例)

如需通过域名 + 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 部署

Zeabur 是一个无需配置服务器的云平台,支持一键部署。

  1. 在 Zeabur 创建项目,选择「从 Git 仓库部署」
  2. 输入仓库地址:https://github.com/Kylsky/chatgpt-team-helper
  3. 配置环境变量:JWT_SECRET、INIT_ADMIN_PASSWORD
  4. 配置端口 5173 并生成域名
  5. 添加持久化硬盘,挂载路径 /app/backend/db

详细步骤请参考 Zeabur 部署教程。

本地开发

1. 安装依赖

npm install

2. 启动开发服务器

终端 1 - 启动后端:

cd backend
npm run dev

终端 2 - 启动前端:

cd frontend
npm run dev

3. 访问应用

可选功能配置

以下所有配置均可在管理后台「系统设置」中在线修改,系统配置优先于环境变量。

邮件服务(SMTP)

用于发送订单通知、告警邮件、邮箱验证码等。

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=订单信息

Linux DO OAuth

使用 /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

Linux DO Credit 支付(开放账号上车)

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

Telegram 机器人

# 必填:通过 @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 通知推送

# 是否启用通知(支付成功、订单同步等事件)
TELEGRAM_NOTIFY_ENABLED=true

# 通知接收者的 chat_id(逗号分隔),优先级高于 TELEGRAM_ALLOWED_USER_IDS
TELEGRAM_NOTIFY_CHAT_IDS=123456789

# 通知请求超时(毫秒)
TELEGRAM_NOTIFY_TIMEOUT_MS=8000

Telegram 账号绑定

使用 /admin auth 命令将 Telegram 账号绑定到系统用户,绑定后可使用管理员专属功能。

/admin auth <用户名或邮箱> <API_KEY>
  • 仅限私聊中使用
  • API_KEY 优先使用管理后台「系统设置」中配置的值,未配置时回退到 backend/.env 中的 AUTO_BOARDING_API_KEY
  • 绑定成功后,若该用户拥有 super_admin 角色,即可使用 /random_activate、/activate 等管理员指令

Telegram 管理员功能

⚠️ /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 配置方式:

  1. 安装浏览器插件 EditThisCookie(推荐)或使用开发者工具
  2. 登录小红书千帆(https://ark.xiaohongshu.com)
  3. 使用 EditThisCookie 导出 JSON 格式的 Cookie,或在开发者工具 Network 面板复制请求 Cookie
  4. 在管理后台「小红书订单」页面粘贴,支持以下格式:
// 对象格式(推荐)
{
  "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

闲鱼 WebSocket 自动发货

开启后,收到"待发货"订单时自动给买家发送 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)

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

Cloudflare Turnstile 人机验证

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 部署问题

容器启动失败:

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

License

ISC

Kylsky/chatgpt-team-helper

一站式Team账号管理

JavaScript

1,119

73 commits

updated Mar 24, 2026

See the code

README

ChatGPT Team Helper

Telegram 交流群 Linux DO

一个多渠道 Team 账号管理与兑换平台,支持多种订单渠道接入、自动发货、积分体系和权限管理。使用 Vue 3、Node.js、shadcn-vue 和 SQLite 构建。

image image

Star History

Star History Chart

功能特性

账号管理

  • Team 账号全生命周期管理(创建、编辑、删除、封号)
  • 开放API 提供 Token 自动刷新与状态同步
  • 账号用户数、邀请数实时同步(通过 OpenAI API)
  • 账号到期管理与开放展示控制
  • 创建账号时自动生成兑换码

多渠道兑换

  • 通用兑换:邮箱 + 兑换码直接兑换
  • 小红书兑换:邮箱 + 小红书订单号自动匹配兑换
  • 闲鱼兑换:邮箱 + 闲鱼订单号自动匹配兑换
  • Linux DO 兑换:通过 Linux DO OAuth 身份验证后兑换
  • 开放账号页:Linux DO 用户付费上车,支持 Credit 积分支付
  • 补号/账号恢复:历史订单找回与重新兑换

订单管理

  • 支付订单:Zpay 支付网关集成,支持多种商品类型(标准、无质保)
  • Credit 订单:Linux DO Credit 支付网关集成
  • 小红书订单:API 自动同步 + 手动导入,定时轮询
  • 闲鱼订单:API 同步 + WebSocket 实时监听 + IM 自动发货

支付与商城

  • 在线购买商城,支持多种商品
  • Zpay / Credit 双支付网关
  • 订单状态轮询与过期自动清理
  • 支付回调与自动发码

积分体系

  • 邀请奖励 & 购买奖励积分
  • 积分提现/返现(比例与门槛可配置)
  • 积分流水明细查询

候车室

  • Linux DO 用户排队上车机制
  • 信任等级门槛控制
  • 自动上车定时任务(可配置活跃时段)
  • 冷却期管理

Telegram 机器人

  • 私聊兑换流程(/redeem)
  • 库存查询(/stock)
  • 在线购买(/buy)
  • 管理员专属:随机激活(/random_activate)、指定激活(/activate)
  • 事件通知推送(支付成功、订单同步等)

权限管理(RBAC)

  • 用户管理(注册、登录、邮箱域名白名单)
  • 角色管理(超级管理员 / 自定义角色)
  • 菜单权限动态分配
  • 功能模块开关(小红书 / 闲鱼 / 支付 / 开放账号)

系统运维

  • 邮件告警(SMTP)
  • Cloudflare Turnstile 人机验证
  • 开放账号超员扫描定时任务
  • 订单过期清理定时任务
  • Credit 订单失败补偿任务
  • 数据统计仪表盘

技术栈

前端

  • Vue 3 + TypeScript + Vite
  • Vue Router
  • shadcn-vue UI 组件
  • Tailwind CSS v3
  • Axios

后端

  • Node.js + Express
  • SQLite (sql.js)
  • JWT 认证
  • Nginx 反向代理(Docker 部署)
  • Supervisor 进程管理(Docker 部署)

部署

Docker Compose 部署(推荐)

1. 克隆仓库

git clone <仓库地址>
cd auto-gpt-team

2. 构建镜像

docker build -t auto-gpt-team:latest .

3. 配置环境变量

cp backend/.env.example backend/.env

编辑 backend/.env,至少配置以下必填项:

# 必须设置为强随机字符串,否则后端拒绝启动
JWT_SECRET=你的随机密钥

# 管理员初始密码(可选,不设则首次启动随机生成并输出到日志)
INIT_ADMIN_PASSWORD=你的初始密码

# 如前后端分离部署,配置允许的前端域名
CORS_ORIGINS=https://你的域名

完整环境变量列表请参考 backend/.env.example,大部分配置也可在管理后台「系统设置」中在线修改。

4. 启动服务

docker compose up -d

5. 访问应用

浏览器打开 http://你的服务器IP:5173

6. 登录

  • 用户名:admin
  • 密码:INIT_ADMIN_PASSWORD 环境变量值,或查看容器日志获取随机密码:
    docker compose logs app | grep -i password
    

数据持久化

docker-compose.yml 默认将数据库目录挂载到宿主机:

容器路径宿主机路径说明
/app/backend/db./dataSQLite 数据库文件

日志查看

所有日志统一输出到容器 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

反向代理(Nginx 示例)

如需通过域名 + 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 部署

Zeabur 是一个无需配置服务器的云平台,支持一键部署。

  1. 在 Zeabur 创建项目,选择「从 Git 仓库部署」
  2. 输入仓库地址:https://github.com/Kylsky/chatgpt-team-helper
  3. 配置环境变量:JWT_SECRET、INIT_ADMIN_PASSWORD
  4. 配置端口 5173 并生成域名
  5. 添加持久化硬盘,挂载路径 /app/backend/db

详细步骤请参考 Zeabur 部署教程。

本地开发

1. 安装依赖

npm install

2. 启动开发服务器

终端 1 - 启动后端:

cd backend
npm run dev

终端 2 - 启动前端:

cd frontend
npm run dev

3. 访问应用

可选功能配置

以下所有配置均可在管理后台「系统设置」中在线修改,系统配置优先于环境变量。

邮件服务(SMTP)

用于发送订单通知、告警邮件、邮箱验证码等。

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=订单信息

Linux DO OAuth

使用 /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

Linux DO Credit 支付(开放账号上车)

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

Telegram 机器人

# 必填:通过 @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 通知推送

# 是否启用通知(支付成功、订单同步等事件)
TELEGRAM_NOTIFY_ENABLED=true

# 通知接收者的 chat_id(逗号分隔),优先级高于 TELEGRAM_ALLOWED_USER_IDS
TELEGRAM_NOTIFY_CHAT_IDS=123456789

# 通知请求超时(毫秒)
TELEGRAM_NOTIFY_TIMEOUT_MS=8000

Telegram 账号绑定

使用 /admin auth 命令将 Telegram 账号绑定到系统用户,绑定后可使用管理员专属功能。

/admin auth <用户名或邮箱> <API_KEY>
  • 仅限私聊中使用
  • API_KEY 优先使用管理后台「系统设置」中配置的值,未配置时回退到 backend/.env 中的 AUTO_BOARDING_API_KEY
  • 绑定成功后,若该用户拥有 super_admin 角色,即可使用 /random_activate、/activate 等管理员指令

Telegram 管理员功能

⚠️ /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 配置方式:

  1. 安装浏览器插件 EditThisCookie(推荐)或使用开发者工具
  2. 登录小红书千帆(https://ark.xiaohongshu.com)
  3. 使用 EditThisCookie 导出 JSON 格式的 Cookie,或在开发者工具 Network 面板复制请求 Cookie
  4. 在管理后台「小红书订单」页面粘贴,支持以下格式:
// 对象格式(推荐)
{
  "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

闲鱼 WebSocket 自动发货

开启后,收到"待发货"订单时自动给买家发送 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)

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

Cloudflare Turnstile 人机验证

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 部署问题

容器启动失败:

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

License

ISC

Significant stargazers

不要葱姜蒜

1,033 followers · starred Apr 2026

inkdust2021

8 followers · starred Mar 2026

Wesley Liddick

832 followers · starred Mar 2026

keh4l

2 followers · starred Feb 2026