QISIMIAO LOL STATS
让 Hermes 帮你做一个真正可热更新的内战数据前后台系统
这份教程给不懂编程的管理员使用。照着步骤复制提示词、运行命令、检查结果即可。
目标效果
玩家看到的前台
群友打开 http://服务器IP:6666,可以查询选手、英雄、排行榜、比赛明细和对位数据。
管理员更新数据后,前台刷新即可看到最新结果。
管理员使用的后台
管理员打开后台页面,新增、编辑、删除比赛记录或选手档案。保存时调用后端 API,数据写入服务器数据库。
后台必须有管理员密码或 token,不能让所有人都能改数据。
最终架构
浏览器前台 http://服务器IP:6666
↓ 读取最新统计
后端 API http://服务器IP:7777/api/stats
↓ 保存修改
SQLite 数据库文件 /app/data/lol-stats.db
管理员要做什么
把需求复制给 Hermes
不要让 Hermes 一次性乱改。每次只做一个阶段,做完就验收。
看 Hermes 的结果
重点看它有没有跑通命令、有没有报错、有没有说明改了哪些文件。
在服务器部署
用 Docker Compose 启动服务,然后访问前台和后端地址检查。
服务器准备
先登录服务器,进入项目目录。下面命令根据你的服务器实际情况执行。
cd /你的项目目录/qisimiao-lol-stats
检查 Docker 是否可用
docker --version
docker compose version
如果这两个命令有版本号输出,说明 Docker 准备好了。
检查端口是否被占用
sudo lsof -i :6666
sudo lsof -i :7777
如果没有输出,说明端口空闲。若有输出,把占用进程停掉,或者找懂服务器的人确认。
创建环境变量文件
后续 Hermes 应该会生成 .env.example。正式部署时复制成 .env:
cp .env.example .env
nano .env
里面至少要有一个管理员密钥:
ADMIN_TOKEN=请改成一串很长的随机密码
ADMIN_TOKEN 发到群里,也不要写死在前端代码里。
让 Hermes 施工
推荐分 5 轮让 Hermes 做。每轮做完都要让它说明结果,不要跳步。
第 1 轮:扫描项目并给计划
你是我的全栈开发工程师。当前项目是一个英雄联盟娱乐群战绩查询静态站。
请先扫描项目结构,理解现有 index.html、assets/app.js、assets/data.js 的数据结构和展示逻辑。
目标是把项目升级成真正的前后台系统:
1. 前台端口 6666。
2. 后端 API 端口 7777。
3. 后台管理可以新增、编辑、删除选手和比赛记录。
4. 保存后数据写入服务器数据库,前台刷新后可以看到最新数据。
5. 使用 SQLite,不使用云数据库。
6. 使用 Docker Compose 部署。
7. 管理后台需要 ADMIN_TOKEN 鉴权,通过环境变量配置。
这一轮不要修改代码。请只输出:
- 当前项目结构分析
- 推荐技术方案
- 分阶段实施计划
- 可能风险
第 2 轮:先做后端 API
请按上一轮计划,先实现后端 API。
要求:
1. 使用 Node.js + Express + SQLite。
2. 后端监听 7777 端口。
3. SQLite 文件保存到 /app/data/lol-stats.db。
4. 首次启动时,如果数据库不存在,就从现有 assets/data.js 导入初始数据。
5. 提供这些接口:
GET /api/health
GET /api/stats
GET /api/players
POST /api/players
PUT /api/players/:id
DELETE /api/players/:id
GET /api/matches
POST /api/matches
PUT /api/matches/:id
DELETE /api/matches/:id
6. 写操作必须校验 ADMIN_TOKEN。
7. 每次比赛数据变化后,重新计算选手统计、英雄统计、对位统计。
请直接修改文件,并告诉我改了哪些文件、如何启动、如何测试。
第 3 轮:改前台读取 API
现在请把前台从读取静态 assets/data.js,改成优先读取后端 API。
要求:
1. 前台打开后请求 http://当前域名:7777/api/stats 或可配置的 API 地址。
2. 保留现有页面视觉和功能。
3. 如果 API 请求失败,页面要显示清晰错误提示。
4. 前台刷新后能看到后台保存的新数据。
5. 不要破坏现有查询、排行榜、英雄统计、对位查询、比赛明细功能。
请修改代码,并说明如何验证。
第 4 轮:做后台管理页面
请实现后台管理页面。
要求:
1. 后台页面可以放在 /admin.html。
2. 支持输入 ADMIN_TOKEN。
3. 支持新增、编辑、删除比赛记录。
4. 支持新增、编辑、删除选手档案。
5. 保存后调用后端 API。
6. 保存成功后提示成功,并能刷新前台看到最新数据。
7. 非程序员也能使用,表单字段要清楚。
请直接修改文件,并说明使用方法。
第 5 轮:Docker 打包部署
请为这个项目补齐 Docker 部署。
要求:
1. 前台容器对外端口 6666。
2. 后端容器对外端口 7777。
3. SQLite 数据库通过 volume 持久化到 ./data。
4. 提供 docker-compose.yml。
5. 提供 .env.example。
6. 提供清晰的部署命令和回滚说明。
7. docker compose up -d --build 后,前台和后端都能访问。
请修改文件,并给出最终部署步骤。
每轮验收标准
Docker 部署命令
等 Hermes 生成 docker-compose.yml 后,在服务器项目目录执行:
docker compose up -d --build
查看运行状态
docker compose ps
查看日志
docker compose logs -f backend
docker compose logs -f frontend
重启服务
docker compose restart
停止服务
docker compose down
测试接口
curl http://127.0.0.1:7777/api/health
curl http://127.0.0.1:7777/api/stats
日常使用流程
管理员打开后台
访问 http://服务器IP:6666/admin.html,输入管理员 token。
录入比赛记录
填写选手、位置、英雄、击杀、死亡、助攻、胜负、对位选手、MVP/SVP。
保存并检查前台
保存成功后,打开前台 http://服务器IP:6666 刷新页面,检查排行榜和比赛明细。
常见问题
| 现象 | 检查命令 | 处理办法 |
|---|---|---|
| 前台打不开 | docker compose ps |
确认 frontend 容器在运行,服务器防火墙放行 6666。 |
| 后台保存失败 | docker compose logs -f backend |
检查 ADMIN_TOKEN 是否正确,后端是否报错。 |
| 重启后数据丢了 | ls -la ./data |
确认 SQLite 数据库挂载到了服务器的 ./data 目录。 |
| 端口冲突 | sudo lsof -i :6666sudo lsof -i :7777 |
停止占用端口的旧服务,或改 compose 端口。 |
| 前台没有最新数据 | curl http://127.0.0.1:7777/api/stats |
先确认后端数据是否更新,再刷新浏览器缓存。 |
完整提示词模板
如果管理员只想复制一段给 Hermes,可以先用这一段:
你是我的全栈开发工程师和部署助手。请帮助我把当前英雄联盟娱乐群战绩查询静态站,升级成真正可热更新的前后台系统。
背景:
- 当前项目已经有静态前台,可以展示选手、比赛、英雄、BAN、对位等数据。
- 现在需要后台管理,让不会编程的管理员可以手动录入和修改数据。
- 项目要部署在我的云服务器上。
- 服务器上已经部署 Hermes,并配置好了模型。
目标:
1. 前台对外端口是 6666。
2. 后端 API 对外端口是 7777。
3. 后台保存一条数据后,前台刷新就能看到最新效果。
4. 使用 SQLite 保存数据,不使用云数据库。
5. 使用 Docker Compose 打包和部署。
6. 管理后台必须有 ADMIN_TOKEN 鉴权,token 从环境变量读取。
7. 不要添加遥测、统计、第三方追踪。
8. 不要把任何密码或 token 写死在代码里。
工作方式:
- 先扫描项目,不要直接改代码。
- 先给我分阶段计划。
- 每一阶段完成后,告诉我改了哪些文件、运行了哪些命令、如何验收。
- 如果遇到报错,不要绕过,请解释原因并修复。
请现在开始第 1 阶段:扫描项目结构并输出实施计划。
最后确认
这个教程的核心原则是:让 Hermes 写代码,但管理员负责验收。
只要每一步都能通过验收,再进入下一步,项目就不容易被改乱。