基于 Node.js + Vue 3 构建的 QQ 农场自动化工具,支持多账号同时管理,提供 Web 可视化面板,实现种植、收获、偷菜、任务领取、仓库出售等全流程自动化。
| 账号管理 | 账号主页 |
|---|---|
![]() | ![]() |
| 土地详情 | 设置 & 种植排行 |
|---|---|
![]() | ![]() |
| 实时日志 | 用户管理 |
|---|---|
![]() | ![]() |
| 层 | 技术 |
|---|---|
| 后端 | Node.js + Express + Socket.io + WebSocket (ws) |
| 前端 | Vue 3 + Vite 6 + Element Plus + Vue Router + Pinia |
| 协议 | Protobuf (protobufjs) 编解码游戏消息 |
| 数据库 | SQLite (sql.js,纯 JS 无需 native 编译) |
| 认证 | 自实现 JWT (HMAC-SHA256) + SHA-256 密码哈希 |
| 加密 | AES-256-CBC 加密 Session 存储 |
| 实时通信 | Socket.io (前后端) + WebSocket (游戏服务器) |
qq-farm-bot/ ├── server/ # 后端服务 │ ├── index.js # 服务器入口 (Express + Socket.io) │ ├── bot-instance.js # Bot 实例 (核心农场逻辑) │ ├── bot-manager.js # Bot 管理器 (多账号调度) │ ├── routes.js # REST API 路由 │ ├── auth.js # JWT 认证中间件 │ ├── database.js # SQLite 数据库 │ └── qr-service.js # QR 扫码登录服务 ├── web/ # 前端 (Vue 3 SPA) │ └── src/ │ ├── views/ # 页面: 仪表盘/主页/土地/设置/日志/管理 │ ├── layouts/ # MainLayout (侧边栏 + 顶栏) │ ├── stores/ # Pinia 状态管理 (auth/theme) │ ├── api/ # Axios API 封装 │ └── socket/ # Socket.io 客户端 ├── src/ │ ├── proto.js # Protobuf 加载器 │ ├── config.js # 游戏常量配置 │ └── gameConfig.js # 植物/等级/物品配置解析 ├── proto/ # Protobuf 协议定义文件 ├── gameConfig/ # 游戏数据 (Plant.json / ItemInfo.json / RoleLevel.json) ├── tools/ # 辅助工具 (经验收益计算器) ├── docker-compose.yml # Docker 生产环境配置 (直接拉取镜像) ├── docker-compose.dev.yml # Docker 开发环境配置 (本地构建) ├── .github/workflows/ # GitHub Actions 工作流 │ ├── deploy.yml # 自动部署到服务器配置 │ └── docker.yml # Docker 镜像自动构建与推送配置 └── data/ # 运行时数据 (SQLite 数据库文件)
git clone https://github.com/maile456/qq-farm-bot.git
cd qq-farm-bot
# 一键安装所有依赖 (后端 + 前端)
npm run setup
npm run build:web
npm start
服务器默认运行在 http://localhost:3000。
首次启动会自动创建默认管理员账号:
| 用户名 | 密码 |
|---|---|
admin | admin123 |
请登录后立即修改默认密码!
本项目提供了两种 Docker 部署方式,分别满足小白用户快速体验与开发者本地调试的需求。
直接拉取云端预编译好的镜像,实现秒级启动,无需在本地耗时编译环境。
docker-compose.yml 文件。docker-compose.yml,修改 BOT_ENCRYPT_KEY 为你的 32 位随机密钥(生产环境建议修改)。生成随机密钥:openssl rand -hex 16docker compose up -d
启动完成后,访问 http://你的IP:3000 即可。
如果你修改了项目源码,希望在本地通过 Docker 重新构建并测试效果,请使用 docker-compose.dev.yml。
docker compose -f docker-compose.dev.yml up -d --build
首次本地构建需要 2~5 分钟时间(包含下载基础镜像、安装依赖和前端打包)。
本项目配置了完善的 GitHub Actions 工作流。
当你推送代码并打上版本标签(如 v2.0.0)时,会自动触发 .github/workflows/docker.yml,构建跨平台镜像并推送到 DockerHub。
配置你的专属构建流(如果你 Fork 了本仓库):
DOCKERHUB_USERNAME: 你的 DockerHub 用户名DOCKERHUB_TOKEN: 你的 DockerHub 访问令牌docker-compose.yml 中将镜像地址修改为你自己的:image: 你的用户名/qq-farm-bot:latest配置后,每次 push 到 main 分支,服务器会自动拉取最新代码并使用 docker-compose.dev.yml 重启服务。
在服务器上生成 SSH 密钥(如果已有可跳过):
ssh-keygen -t ed25519 -C "deploy" -f ~/.ssh/id_ed25519 -N ""
将公钥添加到授权列表:
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
查看私钥(后面要用):
cat ~/.ssh/id_ed25519
进入仓库页面 → Settings → Secrets and variables → Actions → New repository secret
添加以下 4 个 Secret:
| Name | 值 |
|---|---|
SERVER_HOST | 服务器公网 IP(如 123.45.67.89) |
SERVER_USER | SSH 用户名(如 root) |
SERVER_PORT | SSH 端口(通常 22) |
SERVER_SSH_KEY | 服务器私钥(cat ~/.ssh/id_ed25519 的完整输出,包含 BEGIN 和 END 行) |
.github/workflows/deploy.yml 会在推送 main 分支时自动执行以下脚本:
script: |
cd /root/qq-farm-bot
git pull origin main
docker compose -f docker-compose.dev.yml down
docker compose -f docker-compose.dev.yml up -d --build
注意: 部署脚本中的
/root/qq-farm-bot为默认服务器路径,请确保代码已 Clone 到该位置,或根据实际情况修改 Workflow 文件中的路径。
git add -A
git commit -m "ci: 添加 GitHub Actions 自动部署"
git push
前往仓库 Actions 标签页查看部署状态。首次可能失败,请检查:
authorized_keys| 变量 | 默认值 | 说明 |
|---|---|---|
PORT | 3000 | 服务端口 |
JWT_SECRET | 内置随机值 | JWT 签名密钥 |
BOT_ENCRYPT_KEY | 内置默认值 | Session 加密密钥 |
本项目在学习和开发过程中参考了以下优秀的开源项目,在此表示感谢:
本项目仅供学习和研究用途,请勿用于任何商业用途或违反服务条款的行为。使用本项目造成的任何后果由使用者自行承担。