MIT License

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

《明日方舟:终末地》寻访(抽卡)统计工具:深度技术分析

项目背景与痛点

《明日方舟:终末地》作为一款深受玩家喜爱的策略游戏,在游戏中需要通过抽卡获得各种增强角色能力的道具,其复杂且大量的数据处理需求成为玩家的痛点。围绕这款热门游戏,endfield-gacha 项目应运而生,致力于为玩家收集、分析抽卡数据,帮助其更好地理解游戏机制,提高策略决策水平。

在游戏极为繁复的环境数据交互中,endfield-gacha 不仅需具备多服支持能力,以迎合不同玩家群体的复杂需求,更需具备强大的数据分析功能,以便用户提供详尽的数据洞察。此外,实现跨平台数据同步、实时更新、高度可定制化统计分析等成为其核心诉求。

核心技术揭秘

深入分析该项目的技术实现原理,可以窥见其严谨的设计思路与技术架构。endfield-gacha 项目采用的主要技术栈包括 Python、Django REST框架,以及SQLAlchemy进行数据库的操作和管理。这种组合在实现多设备平台支持、数据暂存和高性能分析处理功能上展现出独特的优势。

项目数据处理流程如下:

graph TD A[用户发起请求] --> B{"参数校验"} B -->|"通过"| C[执行数据库查询] B -->|"校验失败"| D[返回错误码] C --> E[数据处理] E --> F[生成统计报告] F --> G[返回结果] --> H[前端用户界面展示]

其中,前端框架利用React或者Vue降低交互复杂度,更易维护扩展。数据库方面使用关系型数据库如PostgreSQL,以保证数据存储的可靠性及查询效率,并通过SQLAlchemy实现复杂的多表查询与入库维护。

功能亮点与差异

endfield-gacha项目的核心优势在于数据处理的全面性和精准性。通过集成多种高级算法,如贝叶斯统计、复杂事件检测等,使得统计结果既详细又可靠。同时,完全开源的特性也使得用户拥有极高的自定义性,可以任意扩展功能。此外,相比国外封闭的数据分析工具,该项目在多服数据同步及支持方面表现出色。

应用场景与落地建议

在使用endfield-gacha前,开发者尤其是初次用户应清楚数据库权限设置,避免安全漏洞。开发环境使用此工具时应确保数据隔离,防止信息泄露。另外,基于其微服务架构设计,项目具备较好的水平扩展能力,支撑大规模用户量的需求。

此外,部署时应结合特定游戏发行区域,配置不同类型的数据接口或适配方案,便于不同平台用户接入。

该工具非常适合关注明日方舟终末地游戏的小规模至中等规模开发者及学术研究团队。在较长时期内能够满足游戏策略制定、数据分析需求,为研究结论提供强有力支持。

综合评价

结合项目实际效果可以看出endfield-gacha 在游戏数据分析上显示出超群的能力,尤其在多服跨平台同步和实时数据统计处理功能上,这为明日方舟游戏社区带来了极大的便利。然而,作为一个复杂的项目,开发和维护工作量大,后续需要持续关注性能、安全、可扩展性等方面的问题。总体而言,endfield-gacha不仅是一个提升游戏体验的数据分析利器,更代表了开源社区共享智慧的结晶。

简要分析

热度分
356
价值分
121
活跃状态
活跃

语言占比

CSS
Rust
TypeScript
Vue

Release

README

Endfield Gacha Logo

Endfield Gacha

“你好,咕咕嘎嘎!”
一个《明日方舟:终末地》寻访记录统计与分析工具
支持 Windows / macOS / Linux


功能特性

账号与服务器

  • 多账号管理:支持多个账号,并可在顶部快速切换查看。
  • 国服 / 国际服支持:支持国服(官服 / B服)与国际服(亚服 / 欧美服)。
  • 账号信息本地保存:账号身份凭证(Token)、统计数据与同步状态均保存在本地,不依赖第三方云服务。

寻访记录同步

  • 添加账号同步:支持应用内网页登录自动获取 Token,也支持手动粘贴 Token 添加账号。
  • 增量同步:基于 seqId 自动判断需要补拉的分页,仅获取新的寻访记录。
  • 全量同步:支持全量拉取寻访记录,用于补齐本地缺失的记录。(自 v0.7.0 起,全量同步需右键“同步”按钮进入菜单以使用)
  • 重复记录自动去重:相同 seqId 的记录不会重复写入,本地会按卡池追加缺失内容。
  • 同步进度可视化:同步过程中会显示当前卡池与分页进度,便于查看同步状态。

WebDAV 跨设备同步

  • WebDAV 远端同步:支持将全部账号的寻访记录同步到自建 WebDAV 服务,用于多设备同步数据。
  • 同步全部账号:可在设置页直接同步全部可同步账号,自动判断上传、拉取、合并或无变化。
  • 自动同步:新增账号信息或同步到新的抽卡记录后,可自动将有变化的账号推送到 WebDAV。
  • 静默模式:开启后,自动同步时成功不提示,失败仍会提示;关闭后,无论成功或失败均提示。
  • 从 WebDAV 恢复:支持读取远端已有账号列表,并按账号选择恢复到本地。(从远端覆盖更新)
  • 冲突保护:同一卡池、同一 seqId 的记录会校验时间、卡池和抽取结果等字段;字段缺失或不一致,以及双方都有但值不同的非名称字段,都会暂停同步并保留冲突快照,仅一侧存在的扩展字段会合并保留。账号基础信息不一致或远端文件结构损坏时会暂停同步。
  • 账号凭证不上传:WebDAV 仅同步寻访记录与账号基础信息数据,不包含登录凭证(即 token)。

统计与展示

  • 角色池统计:
    • 支持多个寻访卡池(特许寻访、重构寻访)的独立查看和聚合查看
    • 显示当前垫抽(小保底)、大保底进度、稀有度分布、占比明细、6★ 历史记录
    • 6★ 历史记录支持 UP、“新” 与 “歪” 标记
  • 武器池统计:
    • 支持多个武器池切换独立查看和聚合查看
    • 显示当前垫抽(小保底)、大保底进度(由于小保底无继承,仅单卡池展示)
    • 重构申领的 80 抽当期 UP 大保底跨版本继承并以服务器累计为准,其余池按本地记录推断
  • 重构寻访 / 重构申领:
    • 同名卡池按版本号(#1、#2……)聚合展示,跨版本继承的计数合并统计
    • 读取官方「累计寻访次数 / 累计申领抽数」,大保底进度以服务器权威计数为准(加急招募赠送的十连不计入)
    • 本地记录少于服务器累计时给出提示,说明差值来自官方已不再保留的 90 天前的历史记录;大保底进度按服务器累计值计算
  • 稀有度分布图表:通过图表展示不同稀有度的数量与占比。
  • 历史出货统计:支持查看平均出货抽数、各稀有度数量与 6★ 历史记录。

数据与导出

  • 本地数据存储:配置、卡池信息、寻访记录等均保存在本地 userData/ 目录。
  • 冲突快照落盘:WebDAV 冲突时会自动保存本地 / 远端快照,便于解决冲突。
  • Excel 导出:支持将当前账号的角色池与武器池记录导出为 Excel 文件。

同步方式

  • 添加账号同步:应用内打开网页登录并自动抓取 Token,或手动粘贴 Token。
  • WebDAV 跨设备同步:支持将全部账号的寻访记录同步到自建 WebDAV 服务,也支持从远端恢复到本地。

使用体验

  • 跨平台支持:支持 Windows / macOS / Linux。
  • 主题切换:支持跟随系统、亮色模式、暗色模式。

技术栈

  • 前端:Nuxt 4 + Vue 3 + TypeScript
  • UI:@nuxt/ui
  • 图表:ECharts
  • 桌面端:Tauri 2

界面预览

预览图可能与当前版本略有差异,以实际界面为准。

角色池图1 角色池图2
武器池图1 武器池图2

下载与安装

本工具支持 Windows / macOS / Linux

  1. 前往 Releases 页面。
  2. 下载最新版本中与你系统对应的安装包(Windows / macOS / Linux)。
    • Windows 可以直接下载便携版(Endfield.Gacha_Portable.exe)
    • Linux 推荐通过 deb 方式安装(通过 AppImage 安装可能因为 GLib 版本问题导致打开白屏)
  3. 运行即可(Windows 请确保应用所在目录具备写入权限,以便创建/写入 userData/)。

数据存储位置

  • Windows: exe 同级目录下的 userData/ 目录中。
  • macOS: ~/Library/Application Support/com.bhao.endfieldgacha/userData/
  • Linux: ~/.local/share/com.bhao.endfieldgacha/userData/

使用说明

添加账号同步

左上角“添加账号”支持两种方式:

  • 应用内打开网页登录并自动抓取 Token(推荐)
  • 手动粘贴 Token

添加成功后,可在账号下拉选择对应角色进行同步与查看。

Caution 注意

Bilibili 渠道服 ⚠ 注意

使用 添加账号同步 前,请先前往鹰角网络用户中心 角色绑定 处绑定 Bilibili 服帐号哦~

同步寻访数据

  1. 先在顶部选择需要查看的角色账号。
  2. 点击 同步最新数据,执行增量同步。
  3. 如果怀疑本地记录缺失,点击 全量同步 重新拉取当前卡池全部记录(官方不再保留的过期记录无法找回)。
  4. 同步完成后,可在角色池 / 武器池页面切换查看统计结果。

WebDAV 相关

Note 注意

WebDav 同步功能默认不开启,按需使用~

WebDAV 适用于多设备之间同步寻访记录。同步内容不包含账号 Token,Token 仍只保存在本地。

  1. 打开设置页,找到 WebDAV 同步。
  2. 填写以下信息:
    • URL:你的 WebDAV 服务地址,例如 https://example.com
    • 目录:远端保存目录,例如 /endfield-gacha
    • 用户名
    • 密码
  3. 点击 保存配置。
  4. 点击 连接测试,确认基础目录和 manifest.json 可正常读写。
  5. 点击 立即同步全部账号,将当前全部可同步账号推送到远端或从远端对齐。

以 OpenList 为例:

字段 值
URL http[s]://你的域名:端口/dav/
目录 /endfield-gacha
用户名 你在 OpenList 网页端登录使用的用户名
密码 你在 OpenList 网页端登录使用的密码

WebDAV 自动同步

设置页中可选开启 自动同步:

  • 开启后,在以下场景会自动同步有变化的账号到 WebDAV:
    • 新增账号信息后
    • 同步到新的抽卡记录后
  • 静默模式 仅影响自动同步:
    • 开启:成功不弹提示,失败仍提示
    • 关闭:显示自动同步结果

从 WebDAV 恢复

Caution 注意

从 WebDAV 恢复更接近将远端数据还原到本地;如果你希望先比较再决定而非从远端覆盖,请使用“立即同步全部账号”。

如果你在另一台设备上已经同步过数据,可以在设置页点击 从 WebDAV 恢复:

  1. 读取远端已有账号列表。
  2. 选择一个或多个账号恢复到本地。
  3. 恢复后会写入本地寻访记录,并保留本地已有的登录凭证信息。

注意事项

  • 为了防止频繁请求触发 API 风控,同步过程中连续的请求之间会设置一定的延迟,因此若所需拉取页数较多,拉取时间会稍长一些,请耐心等待 ❤。

免责声明

本项目为非官方工具,与 鹰角网络 (Hypergryph) 及其旗下组织/团体/工作室没有任何关联。游戏图片与数据版权归各自权利人所有。

  • 本软件按“现状”提供,不保证可用性、稳定性或数据准确性;使用过程中造成的任何数据损失、功能异常或经济损失均由用户自行承担。
  • 本软件仅供个人学习与研究使用,禁止商业化使用、再分发或提供任何增值服务;因违反上述限制产生的责任由使用者自行承担。
  • 使用本软件需遵守所在地法律法规、游戏/平台服务条款及知识产权要求;如有合规/安全疑虑,请立即停止使用并卸载。
  • 本项目不会采集或上传任何个人隐私,所有用户数据与登录凭据仅存储在本地;涉及的游戏数据均由用户自行选择导入/导出。

最后

如有建议或者问题,可以在 Issue 提出,也可以前往 QQ 群 交流哦~

感谢 @RoLingG、@YueerMoe 帮助完善后端相关数据。

Copyright © 2026 Bhao, under MIT License.

评论

暂无评论