feat: implement core AzurLaneConfig module and add fleet UI asset definitions

This commit is contained in:
wess09 2026-05-06 22:47:22 +08:00
parent 55469a77bd
commit 839bf996bd
42 changed files with 125 additions and 0 deletions

115
PRIVACY_AND_DISCLAIMER.md Normal file
View File

@ -0,0 +1,115 @@
# 隐私说明、风险提示与免责声明
更新日期2026-05-06
本文件适用于 AzurPilot / AzurLaneAutoScript 修改版(以下简称“本项目”)。本项目是面向《碧蓝航线》及相关模拟器环境的本地自动化辅助工具,并非游戏官方产品。本项目与《碧蓝航线》、其运营方、发行方、开发方及相关平台不存在官方合作、授权、代理、担保或背书关系。
请在使用本项目及相关联网、上报、通知、WebUI、MCP、远程访问等功能前阅读本文件。
本文件用于说明本项目可能涉及的数据处理方式、风险提示和免责声明;除 GPL-3.0 或其他适用开源许可证允许的范围外,本文件不对用户依据开源许可证享有的复制、运行、修改、分发等权利施加额外限制。
如您不同意本文件中关于联网服务、错误上报、统计上报、通知推送、LLM 分析、远程访问等功能的数据处理说明,请不要启用相应功能;如您不能接受相关风险,请停止使用相关功能或自行删除本项目。
> 本文件仅为项目说明和风险提示,不构成法律意见。如需用于正式发布、商业运营、上架平台或面向大量用户分发,请自行咨询具备资质的法律专业人士。
## 一、项目性质
1. 本项目为开源软件和自动化脚本工具主要通过模拟器、ADB、截图、OCR、图像识别、配置调度、WebUI、MCP 服务等方式,在用户本地设备上执行自动化流程。
2. 本项目仅作为技术研究、学习交流和个人自动化使用参考。用户应自行判断其使用方式是否符合所在地法律法规、游戏用户协议、平台规则、社区规则及其他适用规范。
3. 本项目不提供任何形式的游戏服务、账号服务、充值服务、交易服务、外挂服务、代练服务或规避官方检测、限制、风控、封禁措施的承诺。
4. 本项目包含实验性功能,可能存在识别错误、逻辑错误、配置错误、兼容性问题、依赖问题、网络请求失败、统计偏差或其他未知缺陷。
## 二、可能处理的数据类型
本项目运行过程中可能在本地处理或在用户启用相关功能后向第三方或项目相关服务器发送以下数据:
1. 配置数据实例名称、任务开关、调度时间、模拟器连接信息、服务器区域、仓库地址、代理设置、通知配置、API Token、LLM API Key、WebUI 端口、远程访问配置等。
2. 运行日志任务执行状态、错误堆栈、路径信息、设备连接状态、ADB 输出、资源识别结果、OCR 结果、统计信息、告警信息等。
3. 截图与图像数据游戏画面截图、错误现场截图、掉落记录截图、OCR/识别调试图片、MCP 或 WebUI 截图预览返回内容等。
4. 设备标识:本项目可能基于硬件指纹生成哈希化设备 ID并写入 `log/device_id.json`,用于统计、迁移、错误上报或去重。
5. 统计数据:如 CL1 战斗次数、明石遭遇概率、作战收益、掉落记录、战斗轮数、资源统计等匿名或半匿名数据。
6. 通知数据:在用户配置 OnePush 或其他通知渠道时,可能处理推送服务提供商所需的 token、地址、消息内容及任务状态。
7. WebUI / MCP 数据:当用户启用 WebUI、MCP 或远程访问时,相关接口可能读取或返回实例列表、配置、日志、任务队列、运行状态、截图、资源状态,并可能修改配置或触发任务。
上述数据可能包含账号昵称、游戏 UID、舰队/角色/资源状态、游戏画面、路径信息、设备环境信息、令牌或其他敏感内容。请用户自行审慎配置、保存、分享和上传。
## 三、数据处理方式
1. 本地处理:项目主要在用户本地设备、模拟器、容器或服务器中运行,配置文件、日志、截图、统计缓存、数据库等通常存储在项目目录下的 `config``log``screenshots` 等路径或用户配置的路径中。
2. 错误日志:在发生异常时,项目可能保存错误日志和最近截图到本地 `log/error/...`。代码中存在对部分敏感图片区域和路径文本进行遮罩或脱敏的逻辑,但该处理不保证覆盖全部敏感信息。
3. 错误上报:若启用 BugReport 或相关错误上报功能,项目可能将设备 ID、错误内容、任务名称、异常堆栈等提交到项目配置的 API 服务。
4. 统计上报:若启用 TelemetryReport、DropRecord 上传或相关统计功能,项目可能上传匿名统计数据、掉落图像或作战统计到配置的统计服务。
5. 公告与更新:项目可能访问公告 API、GitHub、Gitee、镜像源、PyPI 镜像、依赖下载地址、资源仓库、更新服务器或 CDN以获取公告、更新代码、下载依赖或资源。
6. LLM 分析:若启用 LLM 错误分析,异常信息可能被发送到用户配置或项目默认配置的 LLM API 地址。请勿在配置或日志中填入不希望被第三方服务处理的内容。
7. 远程访问:若启用 WebUI、MCP、SSH 反向隧道、云服务器部署、内网穿透或监听 `0.0.0.0`访问者可能通过网络读取截图、日志、配置或控制实例。用户应自行设置密码、防火墙、反向代理、访问控制、HTTPS 等安全措施。
8. 第三方服务通知推送、统计上传、公告接口、更新接口、LLM API、GitHub/Gitee、镜像源、远程访问服务、Maa 相关服务等均可能由第三方提供。第三方对数据的处理受其自身协议和隐私政策约束,本项目不对其行为承担责任。
## 四、用户控制与删除
1. 用户可以通过项目配置关闭或调整错误保存、错误上报、统计上报、截图保存、截图上传、通知推送、LLM 分析、远程访问、MCP 服务等功能。
2. 用户可以自行删除本地配置、日志、截图、统计文件、数据库、缓存和 `log/device_id.json`。但删除本地文件可能影响功能运行、问题排查、统计连续性或配置恢复。
3. 用户在提交 Issue、群聊反馈、公开截图、上传日志、分享配置或寻求帮助前应自行检查并移除账号、token、API key、设备路径、截图画面、个人身份信息及其他敏感信息。
4. 若您认为已上传的数据需要删除,请通过项目公开说明中的联系方式或仓库 Issue 进行反馈。由于项目可能由社区、镜像、第三方服务或用户自行部署,项目维护者不保证能够定位、控制或删除所有副本。
## 五、数据接收方、联系方式与保存期限
1. 个人信息处理者 / 数据接收方本项目本身主要在用户本地运行若用户启用错误上报、统计上报、截图上传、公告、更新、LLM 分析、通知推送、远程访问等功能,相关数据可能由项目维护者、相关服务运营者或用户自行配置的第三方服务接收。
2. 项目维护者或相关服务运营者请以项目仓库、发布页、README、问题反馈页面或相关服务页面公开的信息为准。
3. 联系方式、数据查询、删除或投诉渠道:请通过项目仓库 Issue、README 中列明的反馈渠道、相关服务页面或用户自行配置的第三方服务渠道联系。若相关服务并非项目维护者运营,请直接联系对应第三方服务提供者。
4. 本地数据保存期限:本地配置、日志、截图、统计文件、数据库、缓存和设备 ID 文件由用户自行控制,保存期限取决于用户配置、清理策略和手动删除行为。
5. 服务器端数据保存期限:除非法律法规另有要求,项目相关服务器接收的错误上报、统计数据、日志、截图或其他数据,将在实现处理目的所需的最短期限内保存。具体保存期限可根据服务类型、存储成本、排障需要、安全审计需要和用户删除请求进行调整。
6. 匿名化或去标识化统计数据:为统计趋势、排障、兼容性分析或公共展示目的,部分匿名化或去标识化数据可能在不再指向特定个人后继续保存。
## 六、使用提醒与责任
本项目作者、维护者和贡献者不鼓励、不支持、也不提供任何用于违法违规、侵犯他人权益、破坏网络安全、作弊、外挂、代练、规避平台规则、规避检测或其他不当用途的帮助、服务或承诺。
用户应自行判断其使用方式是否符合所在地法律法规、游戏用户协议、平台规则、社区规则及其他适用规范,并自行承担由其具体使用方式产生的后果。
用户应自行备份游戏账号、项目配置、脚本文件、日志、数据库和其他重要数据,并妥善保管 API Token、通知 token、LLM API Key、WebUI 密码、SSH 配置、代理配置、远程访问地址等敏感信息。
本条仅为风险提示和项目立场说明,不限制用户依据 GPL-3.0 或其他适用开源许可证享有的复制、运行、修改和分发权利。
## 七、风险提示
使用本项目可能产生包括但不限于以下风险:
1. 游戏账号被限制、风控、冻结、封禁、回档、清除收益或采取其他处罚。
2. 游戏资源、道具、体力、油、金币、钻石、舰船、装备、任务进度、活动次数等因识别错误或自动操作错误而损失。
3. 自动化流程误触、误买、误拆、误退役、误强化、误改配置、误提交、误清空队列、误重启模拟器或误执行任务。
4. 模拟器、ADB、系统权限、依赖库、OCR、图像识别、网络环境或更新过程异常导致程序崩溃、数据损坏或设备异常。
5. 截图、日志、配置、设备 ID、统计数据、通知内容或密钥因用户分享、上传、远程访问配置不当、服务器暴露、第三方服务问题或其他原因泄露。
6. WebUI、MCP、远程访问或内网穿透若暴露到公网可能被未授权访问者读取截图、日志、配置或控制实例。
7. 开源代码、第三方依赖、镜像源、插件、子模块、外部服务、上游项目或社区分发版本可能存在漏洞、后门、供应链风险或不可用风险。
## 八、免责声明
在适用法律允许的最大范围内:
1. 本项目按“现状”和“可用状态”提供,不作任何明示、默示或法定保证,包括但不限于适销性、特定用途适用性、准确性、稳定性、持续可用性、兼容性、安全性、无错误、无病毒、无侵权、不会导致账号处罚或不会造成损失等保证。
2. 项目作者、维护者、贡献者、分发者、社区成员及相关服务提供者不对用户使用或无法使用本项目导致的任何直接、间接、偶然、特殊、惩罚性、衍生性损失承担责任,包括但不限于账号损失、游戏资产损失、数据丢失、设备损坏、服务中断、隐私泄露、利润损失、商誉损失、第三方索赔或行政处罚。
3. 用户因违反法律法规、游戏协议、平台规则、第三方服务条款或本文件而产生的任何责任,均由用户自行承担。
4. 本项目不保证自动化结果正确,不保证识别结果准确,不保证统计结果完整,不保证更新成功,不保证第三方服务稳定,不保证任何功能持续维护。
5. 本项目不对任何第三方项目、第三方依赖、第三方 API、第三方服务器、镜像、启动器、插件、子模块、LLM 服务、通知服务、统计服务、远程访问服务或用户自行修改版本承担责任。
6. 用户自行部署 WebUI、MCP、远程访问、云服务器、Docker、内网穿透、反向代理、HTTPS、密码认证、防火墙等产生的安全后果由用户自行承担。
7. 任何文档、注释、配置示例、默认值、群聊建议、Issue 回复或社区经验均仅供参考,不构成对特定使用场景的承诺、保证、授权或免责以外的额外义务。
## 九、开源许可证与无担保
本项目包含或基于 GPL-3.0 许可的软件内容。除非另有明确说明相关代码的复制、修改和分发应遵守对应开源许可证。GPL-3.0 许可证本身也包含无担保条款。若本文件与适用开源许可证存在冲突,应以开源许可证中不可变更的强制条款为准。
本文件中的风险提示、隐私说明、项目立场、数据处理说明或免责声明,不应被解释为对 GPL-3.0 或其他适用开源许可证授予权利的额外限制。
## 十、未成年人使用
本项目不面向未成年人提供专门服务。未成年人应在监护人明确同意、指导和监督下使用。监护人应自行评估自动化工具、游戏协议、付费行为、账号安全、隐私泄露和沉迷风险。
## 十一、文件更新
项目维护者可根据代码变化、功能变化、第三方服务变化、法律法规变化或运营需要更新本文件。
本文件更新后将适用于更新后版本的项目说明、相关联网服务、上报功能、统计服务、WebUI/MCP 服务及其他数据处理活动。该等更新不影响用户已经依据 GPL-3.0 或其他适用开源许可证取得的权利。
## 十二、最终提示
请仅在您充分理解并愿意承担全部风险的情况下使用本项目。若您担心账号安全、隐私安全、数据安全、合规风险或任何潜在损失,请停止使用本项目。

BIN
dev/ENTER.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
dev/FLEET_1_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

BIN
dev/FLEET_1_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
dev/FLEET_1_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
dev/FLEET_1_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
dev/FLEET_1_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
dev/FLEET_1_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
dev/FLEET_2_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
dev/FLEET_2_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
dev/FLEET_2_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
dev/FLEET_2_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
dev/FLEET_2_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
dev/FLEET_2_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
dev/FLEET_3_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
dev/FLEET_3_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
dev/FLEET_3_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
dev/FLEET_3_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
dev/FLEET_3_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
dev/FLEET_3_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
dev/FLEET_DEPLOYMENT.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
dev/Fleet1-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

BIN
dev/fleet1-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
dev/舰队1-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
dev/舰队1-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
dev/舰队1-5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
dev/舰队1-6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
dev/舰队2-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
dev/舰队2-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
dev/舰队2-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
dev/舰队2-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
dev/舰队2-5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
dev/舰队2-6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
dev/舰队3-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
dev/舰队3-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
dev/舰队3-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
dev/舰队3-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
dev/舰队3-5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
dev/舰队3-6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
dev/舰队部署.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
dev/进入.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -127,6 +127,16 @@ class AzurLaneConfig(ConfigUpdater, ManualConfig, GeneratedConfig, ConfigWatcher
self.data = self.read_file(self.config_name)
self.config_override()
# Force disable OpsiSirenBug after 2026-05-07 10:00:00
if datetime.now() >= datetime(2026, 5, 7, 10, 0, 0):
for task_data in self.data.values():
if isinstance(task_data, dict) and 'OpsiSirenBug' in task_data:
bug_config = task_data['OpsiSirenBug']
if bug_config.get('SirenBug_Enable', False) or bug_config.get('SirenResearch_Enable', False):
logger.warning(f'OpsiSirenBug feature is forced disabled after 2026-05-07 10:00:00')
bug_config['SirenBug_Enable'] = False
bug_config['SirenResearch_Enable'] = False
for path, value in self.modified.items():
deep_set(self.data, keys=path, value=value)