Skip to content

feat: 接入 RapidOCR 与 relaxed 校验并修复每日弹窗和智能换船 - #534

Open
ShiinaKuroko wants to merge 7 commits into
OpenWSGR:mainfrom
ShiinaKuroko:feat/daily-overlay-rapidocr-relaxed-fleet-fix
Open

feat: 接入 RapidOCR 与 relaxed 校验并修复每日弹窗和智能换船#534
ShiinaKuroko wants to merge 7 commits into
OpenWSGR:mainfrom
ShiinaKuroko:feat/daily-overlay-rapidocr-relaxed-fleet-fix

Conversation

@ShiinaKuroko

Copy link
Copy Markdown
Contributor

改动说明

本 PR 包含两项修复和两项功能:

fix:每日弹窗常驻处理

  • 增加按本地日期生效的每日处理 gate,每天 0 点后首次进入相关流程时处理,避免每次回主页重复截图检测。
  • 在启动就绪、返回主页、任务执行前及长期挂机等待阶段接入处理入口。
  • 按顺序处理新闻公告、每日签到、活动预约及奖励确认弹窗。
  • 增加确认按钮模板兜底,并重新校准游戏 5.6.0 深色界面的新闻弹窗签名。

feat:RapidOCR 增强船只识别

  • 增加可选的 RapidOCR/PP-OCR 船只识别引擎,通过 ocr.enhanced_ship_ocr 开启,默认关闭以保持兼容。
  • 舰名、等级和舰种识别节点优先使用增强引擎,其余 OCR 流程继续使用 EasyOCR。
  • 增加准备页舰种识别及选船页单卡舰种识别,复用现有舰名匹配和用户自定义舰名规则。

feat:relaxed 宽松校验

  • YAML 主选和对象备选规则支持 relaxed: true,缺省为 false
  • API FleetShipRuleRequest 同步增加 relaxed: bool = False
  • 宽松模式仍要求舰名匹配;舰种和等级约束尽力识别,识别失败或不匹配时放行。
  • 非布尔值严格报错,字符串备选不隐式继承该字段。

fix:智能换船

  • 首次舰队快照同时识别舰名、舰种和等级,并标记已就位且满足约束的槽位。
  • 修复已就位舰船不在船池时反复进入选船页导致的死循环。
  • 重规划备选后重新标记已验证槽位,同时保留最终舰队校验兜底。

验证

  • uv run pre-commit run --all-files:通过
  • uv run pytest -q:784 passed
  • git diff --check upstream/main...HEAD:通过
  • MuMu 1280x720 / 游戏 5.6.0:启动、新闻、签到、奖励确认到干净主页链路实测通过

@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant