QQ农场Bot部署教程
文章摘要:QQ 农场 Bot 是一款免费开源的 QQ 农场多账号自动化挂机工具(基于 Node.js,全新 Vue 3 Web 控制面板)。本文整理了一份可直接照抄执行的部署教程,覆盖 Docker Compose(推荐)、源码运行、Windows 本机 / 二进制 三种方式,并附初始化、备份恢复与常见问题。
适用版本:2.3.x 重构维护版 | 面板默认端口:3007
一、项目简介
QQ 农场 Bot(qq-farm-bot)是基于 Node.js 的 QQ 农场自动化工具,支持多账号挂机、实时日志、数据统计、好友管理、活动、商城、图鉴和后台管理等能力。当前仓库是 2.3.x 重构维护版:后端采用 Node.js / Express / Socket.IO,前端用 Vue 3 + Vite + TypeScript + Pinia + UnoCSS 完全重构,交互和信息密度相比旧版面板有明显提升。
主要特点:
多账号并行挂机:每个账号独立 Worker,首页一屏总览所有账号状态,支持一键启动 / 停止。
全新 Web 控制面板:亮 / 暗双主题、毛玻璃质感 UI,桌面端 / 移动端自适应;底部悬浮导航栏可在已登录账号间随时切换。
应用宝扫码登录开箱即用(Docker):官方镜像已内置应用宝 Go 服务(yyb-go),与主服务跑在同一容器、共用 3007 端口,无需再单独部署应用宝接口服务;API Token 首次启动自动生成并持久化,前端配置自动预填。
离线自动重连:账号异常掉线后自动重连,实时日志一目了然。
功能齐全:实时数据统计、个人生涯、好友管理、活动中心(观星礼录等)、商城、图鉴、后台管理、推送通知等。
⚠️ 风险提示:本项目仅供学习与研究用途。自动挂机可能违反相关游戏的服务条款,存在账号风险,请尽量使用不重要的账号测试;由此产生的封号、数据丢失等后果由使用者自行承担。本项目完全免费开源,请警惕任何「收费代部署」「倒卖源码」行为。
二、部署方式怎么选
应用宝说明:只有 Docker 镜像内置 yyb-go。二进制版与纯源码运行不包含 yyb-go,若要用应用宝扫码登录 / 离线重连,需要自行部署应用宝接口服务并填写接口地址与 Token,或者改用其他登录方式(如抓包登录)。
三、部署前准备
服务器要求
系统:Linux 服务器(本文示例为 Ubuntu 22.04;Windows 用户请看第六节)。
配置:运行期 1 GB 内存起步;首次构建建议 2 GB+ 内存、5 GB+ 剩余磁盘(首次构建需要安装依赖、构建前端并编译 Go 服务,耗时 5~15 分钟属正常)。
工具二选一:
Docker 路线:安装 Docker Engine 20.10+ 与 Docker Compose v2(支持
docker compose子命令);源码路线:安装 Node.js 20+,并用
corepack enable启用 pnpm。
网络:放行 TCP 3007 端口(云服务器安全组 + 系统防火墙都要放行),例如
sudo ufw allow 3007/tcp。国内服务器建议给 Docker 配置镜像加速(需要拉取 node / golang 基础镜像)。
动手前先确认工具可用:
docker compose version # Docker 路线
node -v # 源码路线,需输出 v20 及以上
四、方式一:Docker Compose 部署(推荐)
4.1 获取项目源码
方式一(推荐):蓝奏云网盘下载压缩包
在浏览器中打开下面的链接下载源码包(文件名形如 qq-farm-bot-20260815.zip,蓝奏云一般需要在浏览器中打开后点击下载):
https://bodt.lanzn.com/iEJl94780z5a
下载完成后把它上传到服务器再解压(可用 scp、WinSCP、宝塔面板文件管理器等工具上传):
# 本机终端上传示例(在源码包所在目录执行):
scp qq-farm-bot-20260815.zip root@你的服务器IP:/opt/
# 服务器上解压并进入项目目录(zip 解压后第一层就是项目根目录 qq-farm-bot)
cd /opt
unzip qq-farm-bot-20260815.zip # 提示没有 unzip 时先执行:apt install -y unzip
cd qq-farm-bot # 该目录下应有 docker-compose.yml
方式二(备选):GitHub 仓库 clone
若 GitHub 仓库已对公众开放,也可以直接 clone:
git clone https://github.com/Aoluis1005/qq-farm-bot.git
cd qq-farm-bot
蓝奏云压缩包与 GitHub 仓库内容一致,只包含代码与静态资源,不包含任何账号数据。后续所有命令都需要在含
docker-compose.yml的项目根目录中执行。
4.2(可选)创建 .env 配置文件
仓库根目录的 docker-compose.yml 已经可以直接启动,无需任何配置。如需自定义端口、时区或应用宝 Token,在 docker-compose.yml 同目录下新建 .env 文件:
# 面板对外端口(默认 3007)
PORT=3007
# 容器时区
TZ=Asia/Shanghai
# 应用宝 API Token(可选):
# 不设置时,首次启动会自动生成并持久化,前端「应用宝」配置页自动预填,开箱即用;
# 如需自己指定,请填一段足够随机的字符串(Node 代理与 yyb-go 会使用同一个值)。
YYB_API_TOKEN=
# (可选)应用宝 OAuth 域名固定解析 IP,默认 42.81.170.92,一般无需修改
# YYB_OAUTH_HOST_IP=42.81.170.92
# (可选)应用宝服务 Web 管理页登录账密,留空则使用内置默认
# YYB_ADMIN_USER=
# YYB_ADMIN_PASS=
4.3 构建并启动
docker compose up -d --build
该命令会先构建镜像(安装依赖 → 构建前端 → 编译内置的 yyb-go),构建完成后在后台启动名为 qq-farm-bot 的容器。容器配置了 restart: unless-stopped,服务器重启或进程异常退出后会自动拉起。
4.4 验证部署结果
# 查看容器状态(STATUS 显示 Up (healthy) 即为正常)
docker compose ps
# 实时查看日志(Ctrl+C 退出)
docker compose logs -f
刚启动的 15 秒内容器处于
starting状态属正常(健康检查有启动宽限期)。在服务器本机自测:
curl -I http://127.0.0.1:3007/,能返回 HTTP 响应即代表服务已起来。确认无误后,浏览器访问
http://你的服务器IP:3007,按第七节完成首次登录初始化。
4.5 日常管理命令
⚠️ 切勿执行
docker compose down -v,-v会连同数据卷一起删除,所有账号与配置将无法找回。
4.6 如何升级到新版本
蓝奏云包安装的(推荐写法):Docker 数据都存在命名数据卷里,与项目目录无关,因此直接换新目录即可,旧目录先保留作兜底:
cd /opt/qq-farm-bot
docker compose down # 停掉并移除旧容器(数据卷保留)
cd /opt
mv qq-farm-bot qq-farm-bot.bak # 旧目录改名保留,确认新版正常后再删
# 下载 / 上传新版源码包后:
unzip qq-farm-bot-2026新版日期.zip
cd qq-farm-bot
docker compose up -d --build # 重新构建并启动
docker compose ps
# 确认运行正常后清理兜底目录:
# rm -rf /opt/qq-farm-bot.bak
git clone 安装的:在项目目录内直接更新即可:
cd qq-farm-bot
git pull
docker compose down
docker compose up -d --build
docker compose ps
无论哪种方式,升级完成后浏览器里按 Ctrl + F5 强制刷新一次,避免前端缓存残留旧界面。
4.7 数据卷、备份与恢复
Docker 部署的数据存放在三个命名数据卷中(卷名在 docker-compose.yml 里固定声明,与目录名无关,可放心备份 / 恢复):
备份(在项目目录执行,生成三个 tar.gz 到当前目录):
docker compose stop
for v in qq-farm-test-data qq-farm-test-logs qq-farm-test-yyb-db; do
docker run --rm -v $v:/data -v "$PWD":/backup alpine \
tar czf /backup/$v-$(date +%F).tar.gz -C /data .
done
docker compose start
恢复(迁移到新服务器时,先启动一次让卷创建好,再停掉还原):
docker compose up -d && docker compose down
for v in qq-farm-test-data qq-farm-test-logs qq-farm-test-yyb-db; do
docker run --rm -v $v:/data -v "$PWD":/backup alpine \
tar xzf /backup/$v-你的备份日期.tar.gz -C /data
done
docker compose up -d
备份文件请放到服务器之外的异地位置保存;
core/data内含账号与登录凭据,切勿公开分享。
4.8 一键脚本部署(偷懒版)
仓库根目录提供了 server-deploy.sh,适合已经按 4.1 节拿到源码并解压好、装有 docker(Compose v2)的 Linux 服务器:
bash server-deploy.sh
脚本会自动完成:不存在 .env 时生成随机 YYB_API_TOKEN 写入 .env → docker compose up -d --build → 等待 15 秒 → 输出容器状态与健康检查结果。
五、方式二:源码运行(无 Docker,Linux)
5.1 安装 Node.js 20+ 与 pnpm
# 以 nvm 安装 Node 20 为例(已安装可跳过)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# 重新登录终端后执行:
nvm install 20
nvm use 20
# 启用 pnpm(Node 自带 corepack)
corepack enable
node -v # 确认是 v20+
国内网络可顺手切换依赖源(可选):pnpm config set registry https://registry.npmmirror.com。
5.2 获取源码、安装依赖并构建前端
获取源码的方式与 4.1 节相同:推荐从蓝奏云链接 https://bodt.lanzn.com/iEJl94780z5a 下载压缩包,上传解压后进入项目根目录;GitHub 仓库公开时也可用 git clone。
# 蓝奏云包示例:解压后进入 qq-farm-bot 目录,其余命令完全一致
cd /opt
unzip qq-farm-bot-20260815.zip
cd qq-farm-bot
# git clone 备选(GitHub 仓库公开时):
# git clone https://github.com/Aoluis1005/qq-farm-bot.git && cd qq-farm-bot
pnpm install # 安装 workspace 全部依赖
pnpm build:web # 构建 Vue 3 前端
5.3 启动
pnpm dev:core
# 如需修改端口(默认 3007):
ADMIN_PORT=8080 pnpm dev:core
Windows PowerShell 写法:$env:ADMIN_PORT="8080"; pnpm dev:core。
启动成功后访问 http://服务器IP:3007(或你指定的端口)。
5.4 让它在后台常驻运行
简单做法是放进 tmux / screen 会话,或使用 nohup:
nohup pnpm dev:core > farm.log 2>&1 &
也可以使用你熟悉的进程守护工具(如 pm2:pm2 start "pnpm dev:core" --name qq-farm-bot,需保证 pnpm 在 PATH 中)。注意:日志会输出到 nohup 指定的文件,关闭终端不影响运行。
5.5 源码运行需要注意
运行时数据保存在
core/data/(自动生成),日志在core/data/logs/,按天滚动、保留最近 3 天自动清理。源码运行不含内置应用宝 yyb-go:要用应用宝扫码登录 / 离线自动重连,需要自备应用宝接口服务,并在面板中添加账号时填写你自己的「接口地址 + API Token」;没有的话可改用其他登录方式(如抓包登录)。
升级步骤:先备份
core/data,再下载新版压缩包解压到新目录,把备份的core/data放回新目录对应位置,然后pnpm install→pnpm build:web→ 重启进程;用 git 安装的仓库直接git pull后执行同样的安装 / 构建 / 重启即可。
六、方式三:Windows 本机与二进制发布版
6.1 Windows 本机(start.bat)
安装 Node.js 20+(nodejs.org 下载 LTS 安装即可,安装时勾选 corepack 或安装后执行
corepack enable)。从蓝奏云链接 https://bodt.lanzn.com/iEJl94780z5a 下载源码压缩包并解压到本地目录(路径不要带中文;GitHub 仓库公开时也可
git clone)。双击
start.bat:脚本会自动安装依赖、在缺少前端产物时自动构建、检测 3007 端口占用,并新开一个窗口启动服务。浏览器打开
http://localhost:3007即可使用;需要停止时双击stop.bat。
6.2 二进制发布版(免安装 Node / Docker)
在装有 Node.js + pnpm 的机器上、按 5.2 节方式拿到源码后执行(产物与执行平台一致):
pnpm install
pnpm package:release
构建产物输出到 dist/ 目录:
上表为通用产物命名,实际以
dist/目录中的文件为准。
运行:
# Windows:直接双击 qq-farm-bot.exe(或在终端执行)
# Linux / macOS:
chmod +x ./qq-farm-bot
./qq-farm-bot
程序会在可执行文件同级目录自动创建 data/,用于保存账号、用户、日志和缓存等运行时数据;如需改端口,运行时设置环境变量 ADMIN_PORT 即可。注意二进制版同样不包含 yyb-go,应用宝相关功能需自备接口服务或改用其他登录方式。
七、登录面板与首次初始化
无论用哪种方式部署,启动后的操作都是一样的:
访问面板:
http://localhost:3007(本机)或http://服务器IP:3007(远程)。登录:默认管理员账号
admin,默认密码admin。立即修改默认密码:进入「设置」→「用户管理」页签,在密码修改卡片中换成你自己的强密码。默认密码不修改等于裸奔,务必第一时间改掉。
添加 QQ 账号:点击顶部菜单或底部悬浮导航中的「添加账号」。
Docker 部署:内置 yyb-go 已就绪,后端会自动预填「应用宝」接口地址与 Token,无需手动填写;在弹窗中切到「应用宝扫码」页签生成二维码,手机微信扫码授权后自动添加账号。
非 Docker 部署:需要在「应用宝」配置页填写你自己的接口地址与 API Token(接口不可用或 Token 失效时需重新填写),或改用其他登录方式。
多账号管理:重复添加即可;每个账号独立 Worker,概览页可分别一键启动 / 停止,右上角菜单与悬浮导航支持随时切换账号。
日常观察:首页看账号状态与今日统计,账号日志页看实时运行日志;账号异常掉线后会自动重连(重连有次数上限,达到上限会停止,可按日志提示重新登录)。
八、(可选)域名 + HTTPS 反向代理
有域名时建议反代 + HTTPS。示例 Nginx 配置(核心是保留 WebSocket Upgrade 头,实时日志依赖它):
server {
listen 80;
server_name farm.example.com; # 改成你的域名
location / {
proxy_pass http://127.0.0.1:3007;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
proxy_read_timeout 300s;
}
}
申请证书(已装 certbot 时):sudo certbot --nginx -d farm.example.com。
九、常见问题(FAQ)
Q1:面板打不开?
依次排查:① docker compose ps 看容器是否 Up (healthy);② docker compose logs -f 看有无报错;③ 服务器本机 curl -I http://127.0.0.1:3007/,本机通但外网不通则是防火墙 / 安全组没有放行 TCP 3007(如 sudo ufw allow 3007/tcp)。
Q2:如何修改端口?
Docker 方式:在 .env 中设置 PORT=8080,然后执行 docker compose up -d(配置变化会自动重建容器);源码方式:启动时设置环境变量 ADMIN_PORT。改完记得放行新端口。
Q3:如何升级到新版?
Docker 方式见 4.6 节;源码方式见 5.5 节。升级后浏览器 Ctrl + F5 强刷。
Q4:应用宝扫码提示 Token 无效 / 401?
Docker 部署无需手动配置 Token(自动生成、自动预填)。若你在 .env 里手动设置了 YYB_API_TOKEN,重启容器后保持一致即可(Node 代理与 yyb-go 共用同一个值,compose 已自动同步)。非 Docker 部署请确认你的应用宝接口地址可访问、Token 正确且没有过期。仍异常时用 docker compose logs -f 查看具体报错。
Q5:容器一直重启 / 状态 unhealthy?
先用 docker compose logs -f qq-farm-bot 看崩溃原因;刚启动 15 秒内显示 starting 属正常。如果日志中有明确报错,带上日志到项目 Issues 反馈。
Q6:应用宝 OAuth 域名解析异常?
镜像默认把应用宝 OAuth 域名固定解析到 42.81.170.92(部分机房 DNS 会轮询到不可用的腾讯节点);如果仍然连不上,可以在 .env 中用 YYB_OAUTH_HOST_IP 覆盖为其他可用 IP 后重建容器。
Q7:怎么迁移到新服务器?
用 4.7 节的备份命令打包三个数据卷,新服务器部署启动后先停容器,再逐个还原数据卷,最后 docker compose up -d。源码方式直接整体打包 / 恢复 core/data/ 即可。
Q8:日志会不会把磁盘占满?
Docker 日志驱动做了轮转(单个 10MB、保留 3 个);源码运行日志按天滚动、只保留最近 3 天。可定期用 docker system df 查看占用。
Q9:想彻底停止并清掉容器?docker compose down 只移除容器、保留数据;不要加 -v,否则数据卷会一起被删(见 4.5 节警告)。
十、项目信息与免责声明
源码下载:https://bodt.lanzn.com/iEJl94780z5a(蓝奏云网盘,即本文使用的源码包,内含 docker-compose.yml 等项目全部文件)
项目主页 / 更新日志(GitHub 参考信息):https://github.com/Aoluis1005/qq-farm-bot | https://github.com/Aoluis1005/qq-farm-bot/blob/main/UPDATE_README.md
遇到 Bug 或想提建议,欢迎到项目 Issues 反馈。
本项目为免费开源的学习项目,仅供学习与研究用途。使用本工具可能违反相关游戏的服务条款,由此产生的一切后果(包括但不限于封号、数据丢失)由使用者自行承担。任何「付费购买源码」「收费代部署」「倒卖牟利」等行为均与作者无关,请知悉。