{"repo": "aofeili-code/rocom-data", "files": {"README.md": {"d2c0533aad9a0480d39e3fbc5c37507a47958251": {"t": 1785746473.4838197, "n": 18801, "h": "2ee893198aee89c8", "c": "
\n
\n
\n v1.3 — 数据爬虫 · 战斗引擎 · MCTS / LLM 对战智能体 · PVP 自动化 · MariaDB 战斗日志 · LLM 复盘\n
\n\n---\n\n爬取 BWIKI 精灵图鉴 + 玩家配队,附带终端图鉴查看器、自由组队战斗模拟器,以及基于 **蒙特卡洛树搜索(MCTS)** 的 AI 智能体,支持 YAML 策略配置、LLM 智能体对战、批量训练并发加速。v1.1 新增 **游戏客户端自动化模块** 直接驱动游戏进行 PVP 自动战斗;v1.3 接入 **MariaDB 战斗日志** 与 **LLM 聚合复盘**,可对历史 N 场对战做模式分析与改阵建议。\n\n> ⚠️ **战斗模拟器仅供参考,结果不代表真实游戏表现。**\n> 详见「[模拟器精度说明](#模拟器精度说明)」章节。\n\n> 🚧 **功能完成度提示:**\n> - **PVP 自动挑战(v1.1)** 仍处于 **开发阶段**,实际游戏环境下尚未稳定跑通,目前仅提供模板匹配 + 操作框架,**不保证可用**。\n> - **LLM 辅助功能(智能体 / 组队 / 策略生成 / 聚合复盘)** 属于 **玩具阶段**,输出仅供参考娱乐,**不应作为真实对战决策依据**。模型对洛克王国游戏机制理解有限,分析结论可能与实际相差较大。\n\n---\n\n## 功能一览\n\n| 功能 | 说明 |\n|------|------|\n| 🕷️ 全量爬取 | 抓取 BWIKI 上全部精灵数据,保存为 JSON 和 CSV |\n| 🔄 检查更新 | 对比本地与 wiki 的差异,仅增量爬取新增精灵 |\n| 📚 BWIKI 阵容 | 抓取 BWIKI 玩家配队(PVP/PVE),可一键导入名册 |\n| 📖 图鉴查看器 | 在终端按页浏览每只精灵的完整信息,支持搜索 |\n| ⚔️ 战斗模拟器 | 自由组队 + 队伍名册,完整战斗机制模拟 |\n| 🤖 MCTS AI | 蒙特卡洛树搜索智能体,支持积累对局经验,YAML 策略配置 |\n| 🧠 LLM 智能体 | OpenAI 兼容协议(DeepSeek 等),可代替 MCTS 做决策与组队 |\n| 📋 队伍名册 | 队伍持久化存储,内置预设 + 用户自定义,随时调取并编辑 |\n| 🖼️ 图片导入 | 识别游戏内队伍分享截图,自动解析精灵和技能并存入名册 |\n| 🎮 PVP 自动挑战 🚧 | 驱动游戏客户端自动战斗(v1.1,**开发中,未稳定跑通**) |\n| 🗄️ MariaDB 后端 | 经验库 / 对战记录 / 详细战斗日志可写入 MariaDB(v1.3) |\n| 🔍 LLM 聚合复盘 🧪 | 对一支队伍最近 ≤100 场对战做胜率诊断 + 改阵建议(v1.3,**玩具阶段,仅供参考**) |\n\n---\n\n## 环境要求\n\n- Python 3.10+\n\n```bash\npip install -r requirements.txt\n```\n\n### 依赖说明\n\n| 库 | 用途 | 是否必须 |\n|----|------|----------|\n| `requests` | 爬虫网络请求 | ✅ |\n| `beautifulsoup4` | 爬虫 HTML 解析 | ✅ |\n| `rich` | 图鉴查看器 UI | ✅ |\n| `pyyaml` | YAML 策略配置文件解析 | ✅ |\n| `loguru` | PVP 自动战斗日志 | PVP 功能必须 |\n| `pywin32` | Windows 窗口操作(截图/按键/鼠标) | PVP 功能必须 |\n| `opencv-python` | 模板图像匹配 | PVP 功能必须 |\n| `anthropic` | 图片导入 — API 识别方式 | 可选 |\n| `rapidocr-onnxruntime` | 图片导入 — 本地 OCR(轻量,约 50MB) | 可选 |\n| `easyocr` | 图片导入 — 本地 OCR(高精度,依赖 PyTorch) | 可选 |\n\n图片导入功能至少安装 `anthropic` 或 `rapidocr-onnxruntime` 其中一个。\n\n---\n\n## 快速启动\n\n### 方式一:双击 run.bat(Windows 推荐)\n\n```\n============================================\n Rocom Helper v1.3\n============================================\n 1. Scrape sprites (rocom wiki)\n 2. Check for sprite updates\n 3. Scrape BWIKI lineups (player teams)\n 4. Browse sprites (viewer)\n 5. Battle simulator (teams / import / PVP / LLM review)\n 6. Train MCTS (self-play loop)\n 7. Manage experience DB\n 0. Exit\n============================================\n```\n\n### 方式二:命令行\n\n```bash\npython rocom_scraper.py # 全量爬取(自动跳过已有精灵)\npython rocom_scraper.py --force # 强制重爬所有精灵\npython viewer.py # 图鉴查看器\npython battle.py # 战斗模拟器(含 AI 对战)\npython train.py # 批量训练 MCTS AI\n```\n\n---\n\n## MCTS AI 对战引擎\n\n### AI 是如何工作的\n\n本项目的 AI 对战基于 **蒙特卡洛树搜索(MCTS)**,而非随机操作。每一回合,AI 会:\n\n1. **展开模拟树**:从当前状态克隆多个分支,对每个候选行动运行前瞻模拟(默认 100 次迭代)\n2. **评估得分**:根据双方生命格差值、当前 HP 比例、场上状态估算该分支的\"胜利期望\"\n3. **选择最优行动**:UCB1 公式平衡探索(试新动作)与利用(选已知好动作)\n4. **积累经验**:每局结束后,将胜负结果回溯到历史决策树,更新各状态下动作的胜率权重\n5. **经验持久化**:对局经验保存在 `data/experience/<队伍名>.json`,每次对战自动加载,越打越强\n\n> MCTS 本身不具备\"学习\"权重的神经网络,而是通过**统计每个局面下每种行动的历史胜率**来做出判断。经验越多,决策越稳定。这是一种\"无模型、无神经网络\"的纯树搜索方案,对战效果接近人类中等水平。\n\n### YAML 策略配置\n\n通过编写 YAML 文件,可以向 AI 注入人类的战斗直觉,大幅提升其在特定队伍上的表现。\n\n**文件位置:** `data/strategies/<队伍名>.yaml`(参考模板 `data/strategies/_template.yaml`)\n\n```yaml\n# 示例:为毒队配置策略\nteam: 预设毒队\nstarter: 影狸 # 首发精灵\n\nskill_priority:\n 影狸: [感染病, 毒液渗透, 嘲弄, 恶意逃离] # 优先传毒,再逃脱\n 裘卡: [毒囊, 崩拳, 阻断, 防御]\n\nswitch_rules:\n - when: type_disadvantaged # 属性被克制时\n action: switch\n to: type_counter # 换克制对方的精灵\n\n - when: hp_pct < 25\n action: switch\n to: highest_hp\n\ngeneral:\n prefer_gather_below_energy: 3\n prefer_attack_when_type_advantage: true\n```\n\n策略权重与 MCTS 经验权重相乘,策略推荐的行动权重 ×3.0,排斥的行动权重 ×0.2,AI 会在策略偏好的方向上更积极地探索。\n\n**可用条件(when):**\n\n| 条件 | 说明 |\n|------|------|\n| `hp_pct < N` | 己方当前精灵 HP 低于 N% |\n| `energy < N` | 己方能量低于 N |\n| `type_disadvantaged` | 己方精灵属性被克制 |\n| `type_advantaged` | 己方精灵有属性克制对手 |\n| `enemy_hp_pct < N` | 对手 HP 低于 N% |\n| `always` | 无条件(默认规则) |\n\n---\n\n## LLM 智能体与聚合复盘(v1.3,🧪 玩具阶段)\n\n> ⚠️ **本节所有 LLM 相关功能均为玩具阶段实验性产物。** 模型对洛克王国具体机制(特性触发、印记联动、能量节奏)理解有限,组队建议和复盘结论可能存在事实性错误,**仅供娱乐与参考,不构成真实对战决策建议**。\n\n除 MCTS 之外,本项目还支持 **OpenAI 兼容协议** 的 LLM 智能体,可直接代替 MCTS 做决策、组队和战斗复盘。\n\n### 配置 LLM\n\n复制 `data/llm_config.example.yaml` 为 `data/llm_config.yaml` 并填入:\n\n```yaml\nendpoint: https://api.deepseek.com/v1 # 任意 OpenAI 兼容端点\nmodel: deepseek-chat\napi_key:\n
\n
\n
\n
\n v1.3 — 数据爬虫 · 战斗引擎 · MCTS / LLM 对战智能体 · PVP 自动化 · MariaDB 战斗日志 · LLM 复盘\n
\n\n---\n\n爬取 BWIKI 精灵图鉴 + 玩家配队,附带终端图鉴查看器、自由组队战斗模拟器,以及基于 **蒙特卡洛树搜索(MCTS)** 的 AI 智能体,支持 YAML 策略配置、LLM 智能体对战、批量训练并发加速。v1.1 新增 **游戏客户端自动化模块** 直接驱动游戏进行 PVP 自动战斗;v1.3 接入 **MariaDB 战斗日志** 与 **LLM 聚合复盘**,可对历史 N 场对战做模式分析与改阵建议。\n\n> ⚠️ **战斗模拟器仅供参考,结果不代表真实游戏表现。**\n> 详见「[模拟器精度说明](#模拟器精度说明)」章节。\n\n> 🚧 **功能完成度提示:**\n> - **PVP 自动挑战(v1.1)** 仍处于 **开发阶段**,实际游戏环境下尚未稳定跑通,目前仅提供模板匹配 + 操作框架,**不保证可用**。\n> - **LLM 辅助功能(智能体 / 组队 / 策略生成 / 聚合复盘)** 属于 **玩具阶段**,输出仅供参考娱乐,**不应作为真实对战决策依据**。模型对洛克王国游戏机制理解有限,分析结论可能与实际相差较大。\n\n---\n\n## 功能一览\n\n| 功能 | 说明 |\n|------|------|\n| 🕷️ 全量爬取 | 抓取 BWIKI 上全部精灵数据,保存为 JSON 和 CSV |\n| 🔄 检查更新 | 对比本地与 wiki 的差异,仅增量爬取新增精灵 |\n| 📚 BWIKI 阵容 | 抓取 BWIKI 玩家配队(PVP/PVE),可一键导入名册 |\n| 📖 图鉴查看器 | 在终端按页浏览每只精灵的完整信息,支持搜索 |\n| ⚔️ 战斗模拟器 | 自由组队 + 队伍名册,完整战斗机制模拟 |\n| 🤖 MCTS AI | 蒙特卡洛树搜索智能体,支持积累对局经验,YAML 策略配置 |\n| 🧠 LLM 智能体 | OpenAI 兼容协议(DeepSeek 等),可代替 MCTS 做决策与组队 |\n| 📋 队伍名册 | 队伍持久化存储,内置预设 + 用户自定义,随时调取并编辑 |\n| 🖼️ 图片导入 | 识别游戏内队伍分享截图,自动解析精灵和技能并存入名册 |\n| 🎮 PVP 自动挑战 🚧 | 驱动游戏客户端自动战斗(v1.1,**开发中,未稳定跑通**) |\n| 🗄️ MariaDB 后端 | 经验库 / 对战记录 / 详细战斗日志可写入 MariaDB(v1.3) |\n| 🔍 LLM 聚合复盘 🧪 | 对一支队伍最近 ≤100 场对战做胜率诊断 + 改阵建议(v1.3,**玩具阶段,仅供参考**) |\n\n---\n\n## 环境要求\n\n- Python 3.10+\n\n```bash\npip install -r requirements.txt\n```\n\n### 依赖说明\n\n| 库 | 用途 | 是否必须 |\n|----|------|----------|\n| `requests` | 爬虫网络请求 | ✅ |\n| `beautifulsoup4` | 爬虫 HTML 解析 | ✅ |\n| `rich` | 图鉴查看器 UI | ✅ |\n| `pyyaml` | YAML 策略配置文件解析 | ✅ |\n| `loguru` | PVP 自动战斗日志 | PVP 功能必须 |\n| `pywin32` | Windows 窗口操作(截图/按键/鼠标) | PVP 功能必须 |\n| `opencv-python` | 模板图像匹配 | PVP 功能必须 |\n| `anthropic` | 图片导入 — API 识别方式 | 可选 |\n| `rapidocr-onnxruntime` | 图片导入 — 本地 OCR(轻量,约 50MB) | 可选 |\n| `easyocr` | 图片导入 — 本地 OCR(高精度,依赖 PyTorch) | 可选 |\n\n图片导入功能至少安装 `anthropic` 或 `rapidocr-onnxruntime` 其中一个。\n\n---\n\n## 快速启动\n\n### 方式一:双击 run.bat(Windows 推荐)\n\n```\n============================================\n Rocom Helper v1.3\n============================================\n 1. Scrape sprites (rocom wiki)\n 2. Check for sprite updates\n 3. Scrape BWIKI lineups (player teams)\n 4. Browse sprites (viewer)\n 5. Battle simulator (teams / import / PVP / LLM review)\n 6. Train MCTS (self-play loop)\n 7. Manage experience DB\n 0. Exit\n============================================\n```\n\n### 方式二:命令行\n\n```bash\npython rocom_scraper.py # 全量爬取(自动跳过已有精灵)\npython rocom_scraper.py --force # 强制重爬所有精灵\npython viewer.py # 图鉴查看器\npython battle.py # 战斗模拟器(含 AI 对战)\npython train.py # 批量训练 MCTS AI\n```\n\n---\n\n## MCTS AI 对战引擎\n\n### AI 是如何工作的\n\n本项目的 AI 对战基于 **蒙特卡洛树搜索(MCTS)**,而非随机操作。每一回合,AI 会:\n\n1. **展开模拟树**:从当前状态克隆多个分支,对每个候选行动运行前瞻模拟(默认 100 次迭代)\n2. **评估得分**:根据双方生命格差值、当前 HP 比例、场上状态估算该分支的\"胜利期望\"\n3. **选择最优行动**:UCB1 公式平衡探索(试新动作)与利用(选已知好动作)\n4. **积累经验**:每局结束后,将胜负结果回溯到历史决策树,更新各状态下动作的胜率权重\n5. **经验持久化**:对局经验保存在 `data/experience/<队伍名>.json`,每次对战自动加载,越打越强\n\n> MCTS 本身不具备\"学习\"权重的神经网络,而是通过**统计每个局面下每种行动的历史胜率**来做出判断。经验越多,决策越稳定。这是一种\"无模型、无神经网络\"的纯树搜索方案,对战效果接近人类中等水平。\n\n### YAML 策略配置\n\n通过编写 YAML 文件,可以向 AI 注入人类的战斗直觉,大幅提升其在特定队伍上的表现。\n\n**文件位置:** `data/strategies/<队伍名>.yaml`(参考模板 `data/strategies/_template.yaml`)\n\n```yaml\n# 示例:为毒队配置策略\nteam: 预设毒队\nstarter: 影狸 # 首发精灵\n\nskill_priority:\n 影狸: [感染病, 毒液渗透, 嘲弄, 恶意逃离] # 优先传毒,再逃脱\n 裘卡: [毒囊, 崩拳, 阻断, 防御]\n\nswitch_rules:\n - when: type_disadvantaged # 属性被克制时\n action: switch\n to: type_counter # 换克制对方的精灵\n\n - when: hp_pct < 25\n action: switch\n to: highest_hp\n\ngeneral:\n prefer_gather_below_energy: 3\n prefer_attack_when_type_advantage: true\n```\n\n策略权重与 MCTS 经验权重相乘,策略推荐的行动权重 ×3.0,排斥的行动权重 ×0.2,AI 会在策略偏好的方向上更积极地探索。\n\n**可用条件(when):**\n\n| 条件 | 说明 |\n|------|------|\n| `hp_pct < N` | 己方当前精灵 HP 低于 N% |\n| `energy < N` | 己方能量低于 N |\n| `type_disadvantaged` | 己方精灵属性被克制 |\n| `type_advantaged` | 己方精灵有属性克制对手 |\n| `enemy_hp_pct < N` | 对手 HP 低于 N% |\n| `always` | 无条件(默认规则) |\n\n---\n\n## LLM 智能体与聚合复盘(v1.3,🧪 玩具阶段)\n\n> ⚠️ **本节所有 LLM 相关功能均为玩具阶段实验性产物。** 模型对洛克王国具体机制(特性触发、印记联动、能量节奏)理解有限,组队建议和复盘结论可能存在事实性错误,**仅供娱乐与参考,不构成真实对战决策建议**。\n\n除 MCTS 之外,本项目还支持 **OpenAI 兼容协议** 的 LLM 智能体,可直接代替 MCTS 做决策、组队和战斗复盘。\n\n### 配置 LLM\n\n复制 `data/llm_config.example.yaml` 为 `data/llm_config.yaml` 并填入:\n\n```yaml\nendpoint: https://api.deepseek.com/v1 # 任意 OpenAI 兼容端点\nmodel: deepseek-chat\napi_key:\n
\n
\n
\n
\n v1.3 — 数据爬虫 · 战斗引擎 · MCTS / LLM 对战智能体 · PVP 自动化 · MariaDB 战斗日志 · LLM 复盘\n
\n\n---\n\n爬取 BWIKI 精灵图鉴 + 玩家配队,附带终端图鉴查看器、自由组队战斗模拟器,以及基于 **蒙特卡洛树搜索(MCTS)** 的 AI 智能体,支持 YAML 策略配置、LLM 智能体对战、批量训练并发加速。v1.1 新增 **游戏客户端自动化模块** 直接驱动游戏进行 PVP 自动战斗;v1.3 接入 **MariaDB 战斗日志** 与 **LLM 聚合复盘**,可对历史 N 场对战做模式分析与改阵建议。\n\n> ⚠️ **战斗模拟器仅供参考,结果不代表真实游戏表现。**\n> 详见「[模拟器精度说明](#模拟器精度说明)」章节。\n\n> 🚧 **功能完成度提示:**\n> - **PVP 自动挑战(v1.1)** 仍处于 **开发阶段**,实际游戏环境下尚未稳定跑通,目前仅提供模板匹配 + 操作框架,**不保证可用**。\n> - **LLM 辅助功能(智能体 / 组队 / 策略生成 / 聚合复盘)** 属于 **玩具阶段**,输出仅供参考娱乐,**不应作为真实对战决策依据**。模型对洛克王国游戏机制理解有限,分析结论可能与实际相差较大。\n\n---\n\n## 功能一览\n\n| 功能 | 说明 |\n|------|------|\n| 🕷️ 全量爬取 | 抓取 BWIKI 上全部精灵数据,保存为 JSON 和 CSV |\n| 🔄 检查更新 | 对比本地与 wiki 的差异,仅增量爬取新增精灵 |\n| 📚 BWIKI 阵容 | 抓取 BWIKI 玩家配队(PVP/PVE),可一键导入名册 |\n| 📖 图鉴查看器 | 在终端按页浏览每只精灵的完整信息,支持搜索 |\n| ⚔️ 战斗模拟器 | 自由组队 + 队伍名册,完整战斗机制模拟 |\n| 🤖 MCTS AI | 蒙特卡洛树搜索智能体,支持积累对局经验,YAML 策略配置 |\n| 🧠 LLM 智能体 | OpenAI 兼容协议(DeepSeek 等),可代替 MCTS 做决策与组队 |\n| 📋 队伍名册 | 队伍持久化存储,内置预设 + 用户自定义,随时调取并编辑 |\n| 🖼️ 图片导入 | 识别游戏内队伍分享截图,自动解析精灵和技能并存入名册 |\n| 🎮 PVP 自动挑战 🚧 | 驱动游戏客户端自动战斗(v1.1,**开发中,未稳定跑通**) |\n| 🗄️ MariaDB 后端 | 经验库 / 对战记录 / 详细战斗日志可写入 MariaDB(v1.3) |\n| 🔍 LLM 聚合复盘 🧪 | 对一支队伍最近 ≤100 场对战做胜率诊断 + 改阵建议(v1.3,**玩具阶段,仅供参考**) |\n\n---\n\n## 环境要求\n\n- Python 3.10+\n\n```bash\npip install -r requirements.txt\n```\n\n### 依赖说明\n\n| 库 | 用途 | 是否必须 |\n|----|------|----------|\n| `requests` | 爬虫网络请求 | ✅ |\n| `beautifulsoup4` | 爬虫 HTML 解析 | ✅ |\n| `rich` | 图鉴查看器 UI | ✅ |\n| `pyyaml` | YAML 策略配置文件解析 | ✅ |\n| `loguru` | PVP 自动战斗日志 | PVP 功能必须 |\n| `pywin32` | Windows 窗口操作(截图/按键/鼠标) | PVP 功能必须 |\n| `opencv-python` | 模板图像匹配 | PVP 功能必须 |\n| `anthropic` | 图片导入 — API 识别方式 | 可选 |\n| `rapidocr-onnxruntime` | 图片导入 — 本地 OCR(轻量,约 50MB) | 可选 |\n| `easyocr` | 图片导入 — 本地 OCR(高精度,依赖 PyTorch) | 可选 |\n\n图片导入功能至少安装 `anthropic` 或 `rapidocr-onnxruntime` 其中一个。\n\n---\n\n## 快速启动\n\n### 方式一:双击 run.bat(Windows 推荐)\n\n```\n============================================\n Rocom Helper v1.3\n============================================\n 1. Scrape sprites (rocom wiki)\n 2. Check for sprite updates\n 3. Scrape BWIKI lineups (player teams)\n 4. Browse sprites (viewer)\n 5. Battle simulator (teams / import / PVP / LLM review)\n 6. Train MCTS (self-play loop)\n 7. Manage experience DB\n 0. Exit\n============================================\n```\n\n### 方式二:命令行\n\n```bash\npython rocom_scraper.py # 全量爬取(自动跳过已有精灵)\npython rocom_scraper.py --force # 强制重爬所有精灵\npython viewer.py # 图鉴查看器\npython battle.py # 战斗模拟器(含 AI 对战)\npython train.py # 批量训练 MCTS AI\n```\n\n---\n\n## MCTS AI 对战引擎\n\n### AI 是如何工作的\n\n本项目的 AI 对战基于 **蒙特卡洛树搜索(MCTS)**,而非随机操作。每一回合,AI 会:\n\n1. **展开模拟树**:从当前状态克隆多个分支,对每个候选行动运行前瞻模拟(默认 100 次迭代)\n2. **评估得分**:根据双方生命格差值、当前 HP 比例、场上状态估算该分支的\"胜利期望\"\n3. **选择最优行动**:UCB1 公式平衡探索(试新动作)与利用(选已知好动作)\n4. **积累经验**:每局结束后,将胜负结果回溯到历史决策树,更新各状态下动作的胜率权重\n5. **经验持久化**:对局经验保存在 `data/experience/<队伍名>.json`,每次对战自动加载,越打越强\n\n> MCTS 本身不具备\"学习\"权重的神经网络,而是通过**统计每个局面下每种行动的历史胜率**来做出判断。经验越多,决策越稳定。这是一种\"无模型、无神经网络\"的纯树搜索方案,对战效果接近人类中等水平。\n\n### YAML 策略配置\n\n通过编写 YAML 文件,可以向 AI 注入人类的战斗直觉,大幅提升其在特定队伍上的表现。\n\n**文件位置:** `data/strategies/<队伍名>.yaml`(参考模板 `data/strategies/_template.yaml`)\n\n```yaml\n# 示例:为毒队配置策略\nteam: 预设毒队\nstarter: 影狸 # 首发精灵\n\nskill_priority:\n 影狸: [感染病, 毒液渗透, 嘲弄, 恶意逃离] # 优先传毒,再逃脱\n 裘卡: [毒囊, 崩拳, 阻断, 防御]\n\nswitch_rules:\n - when: type_disadvantaged # 属性被克制时\n action: switch\n to: type_counter # 换克制对方的精灵\n\n - when: hp_pct < 25\n action: switch\n to: highest_hp\n\ngeneral:\n prefer_gather_below_energy: 3\n prefer_attack_when_type_advantage: true\n```\n\n策略权重与 MCTS 经验权重相乘,策略推荐的行动权重 ×3.0,排斥的行动权重 ×0.2,AI 会在策略偏好的方向上更积极地探索。\n\n**可用条件(when):**\n\n| 条件 | 说明 |\n|------|------|\n| `hp_pct < N` | 己方当前精灵 HP 低于 N% |\n| `energy < N` | 己方能量低于 N |\n| `type_disadvantaged` | 己方精灵属性被克制 |\n| `type_advantaged` | 己方精灵有属性克制对手 |\n| `enemy_hp_pct < N` | 对手 HP 低于 N% |\n| `always` | 无条件(默认规则) |\n\n---\n\n## LLM 智能体与聚合复盘(v1.3,🧪 玩具阶段)\n\n> ⚠️ **本节所有 LLM 相关功能均为玩具阶段实验性产物。** 模型对洛克王国具体机制(特性触发、印记联动、能量节奏)理解有限,组队建议和复盘结论可能存在事实性错误,**仅供娱乐与参考,不构成真实对战决策建议**。\n\n除 MCTS 之外,本项目还支持 **OpenAI 兼容协议** 的 LLM 智能体,可直接代替 MCTS 做决策、组队和战斗复盘。\n\n### 配置 LLM\n\n复制 `data/llm_config.example.yaml` 为 `data/llm_config.yaml` 并填入:\n\n```yaml\nendpoint: https://api.deepseek.com/v1 # 任意 OpenAI 兼容端点\nmodel: deepseek-chat\napi_key:\n
\n
\n
\n
\n v1.3 — 数据爬虫 · 战斗引擎 · MCTS / LLM 对战智能体 · PVP 自动化 · MariaDB 战斗日志 · LLM 复盘\n
\n\n---\n\n爬取 BWIKI 精灵图鉴 + 玩家配队,附带终端图鉴查看器、自由组队战斗模拟器,以及基于 **蒙特卡洛树搜索(MCTS)** 的 AI 智能体,支持 YAML 策略配置、LLM 智能体对战、批量训练并发加速。v1.1 新增 **游戏客户端自动化模块** 直接驱动游戏进行 PVP 自动战斗;v1.3 接入 **MariaDB 战斗日志** 与 **LLM 聚合复盘**,可对历史 N 场对战做模式分析与改阵建议。\n\n> ⚠️ **战斗模拟器仅供参考,结果不代表真实游戏表现。**\n> 详见「[模拟器精度说明](#模拟器精度说明)」章节。\n\n> 🚧 **功能完成度提示:**\n> - **PVP 自动挑战(v1.1)** 仍处于 **开发阶段**,实际游戏环境下尚未稳定跑通,目前仅提供模板匹配 + 操作框架,**不保证可用**。\n> - **LLM 辅助功能(智能体 / 组队 / 策略生成 / 聚合复盘)** 属于 **玩具阶段**,输出仅供参考娱乐,**不应作为真实对战决策依据**。模型对洛克王国游戏机制理解有限,分析结论可能与实际相差较大。\n\n---\n\n## 功能一览\n\n| 功能 | 说明 |\n|------|------|\n| 🕷️ 全量爬取 | 抓取 BWIKI 上全部精灵数据,保存为 JSON 和 CSV |\n| 🔄 检查更新 | 对比本地与 wiki 的差异,仅增量爬取新增精灵 |\n| 📚 BWIKI 阵容 | 抓取 BWIKI 玩家配队(PVP/PVE),可一键导入名册 |\n| 📖 图鉴查看器 | 在终端按页浏览每只精灵的完整信息,支持搜索 |\n| ⚔️ 战斗模拟器 | 自由组队 + 队伍名册,完整战斗机制模拟 |\n| 🤖 MCTS AI | 蒙特卡洛树搜索智能体,支持积累对局经验,YAML 策略配置 |\n| 🧠 LLM 智能体 | OpenAI 兼容协议(DeepSeek 等),可代替 MCTS 做决策与组队 |\n| 📋 队伍名册 | 队伍持久化存储,内置预设 + 用户自定义,随时调取并编辑 |\n| 🖼️ 图片导入 | 识别游戏内队伍分享截图,自动解析精灵和技能并存入名册 |\n| 🎮 PVP 自动挑战 🚧 | 驱动游戏客户端自动战斗(v1.1,**开发中,未稳定跑通**) |\n| 🗄️ MariaDB 后端 | 经验库 / 对战记录 / 详细战斗日志可写入 MariaDB(v1.3) |\n| 🔍 LLM 聚合复盘 🧪 | 对一支队伍最近 ≤100 场对战做胜率诊断 + 改阵建议(v1.3,**玩具阶段,仅供参考**) |\n\n---\n\n## 环境要求\n\n- Python 3.10+\n\n```bash\npip install -r requirements.txt\n```\n\n### 依赖说明\n\n| 库 | 用途 | 是否必须 |\n|----|------|----------|\n| `requests` | 爬虫网络请求 | ✅ |\n| `beautifulsoup4` | 爬虫 HTML 解析 | ✅ |\n| `rich` | 图鉴查看器 UI | ✅ |\n| `pyyaml` | YAML 策略配置文件解析 | ✅ |\n| `loguru` | PVP 自动战斗日志 | PVP 功能必须 |\n| `pywin32` | Windows 窗口操作(截图/按键/鼠标) | PVP 功能必须 |\n| `opencv-python` | 模板图像匹配 | PVP 功能必须 |\n| `anthropic` | 图片导入 — API 识别方式 | 可选 |\n| `rapidocr-onnxruntime` | 图片导入 — 本地 OCR(轻量,约 50MB) | 可选 |\n| `easyocr` | 图片导入 — 本地 OCR(高精度,依赖 PyTorch) | 可选 |\n\n图片导入功能至少安装 `anthropic` 或 `rapidocr-onnxruntime` 其中一个。\n\n---\n\n## 快速启动\n\n### 方式一:双击 run.bat(Windows 推荐)\n\n```\n============================================\n Rocom Helper v1.3\n============================================\n 1. Scrape sprites (rocom wiki)\n 2. Check for sprite updates\n 3. Scrape BWIKI lineups (player teams)\n 4. Browse sprites (viewer)\n 5. Battle simulator (teams / import / PVP / LLM review)\n 6. Train MCTS (self-play loop)\n 7. Manage experience DB\n 0. Exit\n============================================\n```\n\n### 方式二:命令行\n\n```bash\npython rocom_scraper.py # 全量爬取(自动跳过已有精灵)\npython rocom_scraper.py --force # 强制重爬所有精灵\npython viewer.py # 图鉴查看器\npython battle.py # 战斗模拟器(含 AI 对战)\npython train.py # 批量训练 MCTS AI\n```\n\n---\n\n## MCTS AI 对战引擎\n\n### AI 是如何工作的\n\n本项目的 AI 对战基于 **蒙特卡洛树搜索(MCTS)**,而非随机操作。每一回合,AI 会:\n\n1. **展开模拟树**:从当前状态克隆多个分支,对每个候选行动运行前瞻模拟(默认 100 次迭代)\n2. **评估得分**:根据双方生命格差值、当前 HP 比例、场上状态估算该分支的\"胜利期望\"\n3. **选择最优行动**:UCB1 公式平衡探索(试新动作)与利用(选已知好动作)\n4. **积累经验**:每局结束后,将胜负结果回溯到历史决策树,更新各状态下动作的胜率权重\n5. **经验持久化**:对局经验保存在 `data/experience/<队伍名>.json`,每次对战自动加载,越打越强\n\n> MCTS 本身不具备\"学习\"权重的神经网络,而是通过**统计每个局面下每种行动的历史胜率**来做出判断。经验越多,决策越稳定。这是一种\"无模型、无神经网络\"的纯树搜索方案,对战效果接近人类中等水平。\n\n### YAML 策略配置\n\n通过编写 YAML 文件,可以向 AI 注入人类的战斗直觉,大幅提升其在特定队伍上的表现。\n\n**文件位置:** `data/strategies/<队伍名>.yaml`(参考模板 `data/strategies/_template.yaml`)\n\n```yaml\n# 示例:为毒队配置策略\nteam: 预设毒队\nstarter: 影狸 # 首发精灵\n\nskill_priority:\n 影狸: [感染病, 毒液渗透, 嘲弄, 恶意逃离] # 优先传毒,再逃脱\n 裘卡: [毒囊, 崩拳, 阻断, 防御]\n\nswitch_rules:\n - when: type_disadvantaged # 属性被克制时\n action: switch\n to: type_counter # 换克制对方的精灵\n\n - when: hp_pct < 25\n action: switch\n to: highest_hp\n\ngeneral:\n prefer_gather_below_energy: 3\n prefer_attack_when_type_advantage: true\n```\n\n策略权重与 MCTS 经验权重相乘,策略推荐的行动权重 ×3.0,排斥的行动权重 ×0.2,AI 会在策略偏好的方向上更积极地探索。\n\n**可用条件(when):**\n\n| 条件 | 说明 |\n|------|------|\n| `hp_pct < N` | 己方当前精灵 HP 低于 N% |\n| `energy < N` | 己方能量低于 N |\n| `type_disadvantaged` | 己方精灵属性被克制 |\n| `type_advantaged` | 己方精灵有属性克制对手 |\n| `enemy_hp_pct < N` | 对手 HP 低于 N% |\n| `always` | 无条件(默认规则) |\n\n---\n\n## LLM 智能体与聚合复盘(v1.3,🧪 玩具阶段)\n\n> ⚠️ **本节所有 LLM 相关功能均为玩具阶段实验性产物。** 模型对洛克王国具体机制(特性触发、印记联动、能量节奏)理解有限,组队建议和复盘结论可能存在事实性错误,**仅供娱乐与参考,不构成真实对战决策建议**。\n\n除 MCTS 之外,本项目还支持 **OpenAI 兼容协议** 的 LLM 智能体,可直接代替 MCTS 做决策、组队和战斗复盘。\n\n### 配置 LLM\n\n复制 `data/llm_config.example.yaml` 为 `data/llm_config.yaml` 并填入:\n\n```yaml\nendpoint: https://api.deepseek.com/v1 # 任意 OpenAI 兼容端点\nmodel: deepseek-chat\napi_key:\n
\n