with one click
go-map-tracker-guide
// MaaEnd MapTracker 相关组件编写指南。为 agent/go-service/maptracker 下的 Go 代码提供说明,并提供 MapTracker 的开发文档指引。在参与开发 MapTracker 的 Go 代码实现时,或需要了解 MapTracker 详细工作原理时使用。
// MaaEnd MapTracker 相关组件编写指南。为 agent/go-service/maptracker 下的 Go 代码提供说明,并提供 MapTracker 的开发文档指引。在参与开发 MapTracker 的 Go 代码实现时,或需要了解 MapTracker 详细工作原理时使用。
向 routes.json 添加环境监测(EnvironmentMonitoring)新观察点条目。使用时:新增 zmdmap / kite_station_i18n 观察点路线配置、适配新版本的环境监测任务、补全缺失的 EnterMap、MapPath 或 MapTarget 数据。会自动检测缺失任务,逐字段询问路线数据后写入 routes.json。
分析 Windows 崩溃转储文件(.dmp),诊断 MaaEnd 及其依赖项(MaaFramework、MXU)的崩溃。自动从 GitHub Releases 下载对应版本 PDB 符号,使用 minidump-stackwalk 解析堆栈轨迹并定位崩溃根因。当 issue 日志包或附件中发现 .dmp 文件,或用户要求分析 DMP/崩溃转储时使用。
分析 MaaEnd 上游仓库公开 Issue(`https://github.com/MaaEnd/MaaEnd/issues/...` 或 `#1234`)。自动抓取 issue 正文和评论中的 `MaaEnd-logs-*.zip` 附件,下载解压后从 `maafw.log`、`maafw.bak.*.log`、`go-service.log`、`mxu-tauri.log`、`mxu-web-*.log`、`mxu-agent*.log`、`config/*`、`on_error/` 中筛选关键证据,并结合 MaaEnd、MaaFramework、MXU 的代码和文档判断根因、给出修复方案,供用户在让你分析 MaaEnd issue、日志包、识别失败、任务卡死、控制器差异、Pipeline/Agent/MXU 问题时使用。
分析 MaaEnd `CreditShoppingMain` 的日志。用于还原信用购物任务中实际购买了什么商品、每件商品的折扣力度、是否触发过刷新(或刷新次数已用尽)、稳健刷新是否触发、以及信用点的消耗状况。货架槽位必须以日志中的 `CreditIcon`(TemplateMatcher)为锚,有无 `BuyFirstOCR`/`Priority2OCR` 不影响槽位级货架的还原与呈现。适用于用户询问信用点交易、信用购物买了什么、折扣情况、刷新配置、`CreditShoppingMain` 任务行为等场景。
仅分析 `AutoStockStapleMain` 的 MaaEnd 日志。用于还原该任务实际购买了什么、购买所对应的证据、逐步剩余账单(券/账单)数值时间线,以及在 pipeline 或 go-service 中应当加日志/埋点的位置。适用于用户询问 `AutoStockStapleMain`、`AutoStockStaple`、武陵/四号谷地的稳定需求物资购买,或该任务内账单数值变化原因等场景。
MaaEnd Pipeline JSON 编写指南。基于 MaaFramework Pipeline 协议,提供节点命名、识别算法、动作类型、流程控制、可复用节点等编码规范与模式参考。在编写、修改或审查 Pipeline JSON、设计节点流程、使用 TemplateMatch/OCR/Custom 识别或 Click/Swipe 动作时使用。
| name | go-map-tracker-guide |
| description | MaaEnd MapTracker 相关组件编写指南。为 agent/go-service/maptracker 下的 Go 代码提供说明,并提供 MapTracker 的开发文档指引。在参与开发 MapTracker 的 Go 代码实现时,或需要了解 MapTracker 详细工作原理时使用。 |
MapTracker 是 MaaEnd 项目中,通过计算机识别方法识别游戏内的地图信息,以提供玩家定位、寻路、导航等功能的组件。
需要注意当前项目中存在两套相似的系统,一套是使用 Go 编写的 MapTracker,另一套是使用 Cpp 编写的 MapNavigator/Locator,两套系统的实现方式完全不同且没有交集,本指南针对的是 Go 版本的 MapTracker,在开发时要区分。
当你判断确实正在进行 MapTracker 的开发工作时,务必无条件地先读取下列文档以快速了解详细内容:
Go 代码位于 agent/go-service/maptracker 目录下,主要包含以下子包:
主要的依赖项是 agent/go-service/pkg/minicv 包,提供了定制化的计算机视觉功能,例如模板匹配。
为了帮助使用者和维护者对地图图片、路线进行快速的操作和可视化,在 tools/map_tracker 目录下提供了一些使用 Python 写的工具代码。具体如下: