把《蔚蓝档案》的日程装进日历里:BlueArchive.ics

作为《蔚蓝档案》玩家,你是不是也经常这样:打开游戏才发现卡池还剩一天,或者总力战已经结束了?
游戏公告和 wiki 虽然都有排期,但总得主动去查,稍不留神就错过。

所以我写了一个小工具 —— BlueArchive.ics。它会自动抓取卡池、活动、总力战的信息,生成标准的 .ics 日历文件。订阅之后,所有日程直接显示在你的手机或电脑日历里,再也不用记时间了。


✨ 它能做什么

  • 覆盖三类事件:卡池、活动、总力战/大决战
  • 支持三个服务器:国服(cn)、国际服(in)、日服(jp)
  • 智能合并卡池/ba.ics/card/merged.ics 会自动合并时间重叠的卡池,日历不会出现重复条目
  • 标准日历格式:兼容 Google Calendar、Apple 日历、Outlook 等几乎所有支持 .ics 的应用
  • 一次订阅,自动同步:后续卡池更新无需重新添加,日历会自动刷新

📱 实际效果

订阅之后,当前和即将到来的卡池、活动、总力战都会清晰列在你的日历上:

月视图日程视图
在日历中订阅(月视图)在日历中订阅(月视图)
在日历中订阅(日程视图)在日历中订阅(日程视图)

🚀 快速上手

方式一:直接订阅(推荐)

你不需要部署任何东西。在日历应用(或 ICSx5 等日历订阅应用)里添加一个订阅链接即可:

https://ba-ics.thisisxd.top/cn/ba.ics

把链接中的 cn 换成 jpin,就能切换到对应服务器。

方式二:自己部署

如果你想跑在自己的服务器上,也很简单:

git clone https://github.com/This-is-XiaoDeng/BlueArchive.ics.git
cd BlueArchive.ics
poetry install
poetry run uvicorn bluearchive_ics.main:app --host 0.0.0.0 --port 8000

启动后访问 http://localhost:8000 即可看到首页和路由说明。


📍 所有可用路由

所有路径都可以加上 /{server}/ 前缀(cn / in / jp),默认为国服 cn

路由说明是否合并卡池
/ba.ics全部事件✅ 合并
/all.ics全部事件❌ 不合并
/card.ics仅卡池❌ 不合并
/card/merged.ics仅卡池✅ 合并
/assault.ics仅总力战
/event.ics仅活动

一些例子:

  • /jp/ba.ics → 日服全部事件(合并卡池)
  • /cn/card/merged.ics → 国服合并后的卡池
  • /in/assault.ics → 国际服总力战

🔧 技术实现

项目非常轻量,核心就两部分:

  1. 数据采集scraper.py
    从 GameKee 蔚蓝档案专区抓取卡池、活动、总力战的起止时间。
  2. 日历生成calendar.py
    icalendar 库把数据转换成标准的 iCalendar 格式。

Web 端用 FastAPI 提供路由,每次请求动态生成 .ics 文件。卡池合并的逻辑也很简单:把时间区间有重叠的卡池合并成一个事件,避免日历上出现一堆重叠的色块。


🌈 最后

BlueArchive.ics 想做一件事:让你把「什么时候抽谁、什么时候打总力」从脑子里彻底移出去,交给日历自动提醒。

如果你是《蔚蓝档案》玩家,不妨试试看。

最后修改于:2026年05月17日 14:31

添加新评论