RocoM-Scrcpy-Ocr

  • 基于 scrcpy + OpenCV + yolov8 + AI 的洛克王国手游远行商人自动采集工具。

  • 通过 ADB 控制安卓设备,自动完成游戏内点击导航、商店截图、AI 识别商品信息,并将结果存储到 SQLite 数据库,同时提供 HTTP API 供外部调用。

  • 网站地址:https://rocom-api.ovofish.com

功能

  • 自动化导航:YOLO 目标检测 + OpenCV 模板匹配 + OCR 文字识别,自动完成从打开菜单到进入商店的全流程点击
  • Quick 模式:执行逃脱检查和返回游戏后,直接 YOLO 检测 rocom_merchant_dialog,识别到则跳过中间导航步骤
  • AI 识别:截图发送至大模型,自动提取商品名称、价格、剩余时间
  • 时段对齐:根据截图文件名时间 + 剩余时间反推 end_time,自动对齐到 4 小时整点边界
  • SQLite 存储:采集数据持久化,支持按日期/时段查询历史商品和出现统计
  • HTTP API:对外提供实时数据和历史查询接口
  • 定时调度:每日 08:00 / 12:00 / 16:00 / 20:00 自动执行采集
  • 截图重试:截图失败时自动重试最多 5 次,间隔 1 秒
  • 营业时段校验:00:00-08:00 返回 403 未营业状态;时段切换时若新数据未就绪返回 403 引擎运行中
  • 邮件通知:重试 5 次失败时发送邮件告警;OCR 检测”重启”/“更新”关键词并邮件提醒

常规商品时段

时段 时间范围
上午 08:00 - 12:00
下午1 12:00 - 16:00
下午2 16:00 - 20:00
晚间 20:00 - 24:00

HTTP API

方法 路径 说明
GET /api/shop 最新一次采集结果
GET /api/goods?date=2026-06-01&period=16:00-20:00 查询历史商品(不传 date 默认今天)
GET /api/goods/records 查询商品出现统计
GET /health 健康检查

响应示例

GET /api/shop

200 - 成功(数据就绪)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"status": "success",
"timestamp": "2026-06-01 16:03",
"count": 8,
"data": [
{
"name": "火系血脉秘药",
"price": "500",
"currency": "洛克贝",
"limit": "3",
"end_time": "2026-06-01 20:00"
}
]
}

403 - 未到营业时间(00:00-08:00)

1
2
3
4
5
6
{
"status": "closed",
"message": "当前未到远行商人营业时间",
"timestamp": "2026-06-01 03:00:00",
"data": []
}

403 - 引擎运行中(时段切换但新数据未就绪)

1
2
3
4
5
6
{
"status": "running",
"message": "前置引擎运行中,请稍后",
"timestamp": "2026-06-01 12:01:00",
"data": []
}

总结

当前属于测试版本,不建议在生产环境中使用,后续会根据反馈和需求进行优化和迭代,以提高稳定性和功能完整性。
目前数据集内容有限,正在采集更多数据,以完善模型训练。
建议使用本API的同时支持采集该网页好游快爆,以确保稳定性。

  • [ ] 完善模型训练数据集
  • [ ] 优化处理步骤
  • [ ] 添加游戏自动更新