洛克王国远行商人提醒工具
RocoM-Scrcpy-Ocr
基于 scrcpy + OpenCV + yolov8 + AI 的洛克王国手游远行商人自动采集工具。
通过 ADB 控制安卓设备,自动完成游戏内点击导航、商店截图、AI 识别商品信息,并将结果存储到 SQLite 数据库,同时提供 HTTP API 供外部调用。
功能
- 自动化导航: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 | { |
403 - 未到营业时间(00:00-08:00)
1 | { |
403 - 引擎运行中(时段切换但新数据未就绪)
1 | { |
总结
当前属于测试版本,不建议在生产环境中使用,后续会根据反馈和需求进行优化和迭代,以提高稳定性和功能完整性。
目前数据集内容有限,正在采集更多数据,以完善模型训练。
建议使用本API的同时支持采集该网页好游快爆,以确保稳定性。
- [ ] 完善模型训练数据集
- [ ] 优化处理步骤
- [ ] 添加游戏自动更新
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 紗夕里!
评论