Skip to content

目录结构

├── app/                       # 核心包
│   ├── config.py              # 路径/环境变量/本地配置集中管理
│   ├── crypto.py              # MySekai 存档 AES-128-CBC 解密
│   ├── parser.py              # msgpack 解析+站点坐标旋转(纯函数)
│   ├── har.py                 # Reqable 上报服务器 HAR 解析与解压(纯函数)
│   ├── render.py              # 提取掉落点 → matplotlib 绘图+稀有资源统计
│   ├── notify.py              # 推送:Telegram 媒体组/Bark,按玩家路由
│   ├── server.py              # FastAPI 上传服务(分片上传 + Reqable 上报服务器)
│   └── cli.py                 # 命令行入口
├── assets/                    # 静态资源(提交到仓库)
│   ├── resourceId.csv         # 物品 ID → 名称+图标(base64)
│   └── NotoSansSC-Regular.ttf # 中文字体(OFL 协议)
├── config/                    # 本地配置(真实文件不提交,参考 *.example.json)
│   ├── bark_map.example.json  # Bark 别名 → 设备 key 模板
│   └── push_map.example.json  # 玩家 ID → 推送方式模板
├── data/                      # 运行时数据(整个目录 gitignore)
│   ├── tmp/                   # 分片上传暂存,合并后即清
│   ├── raw_mysekai/           # 合并后的原始(加密)存档,永久保留
│   ├── archive/               # 历史成品归档 by-id/<user>/<时间戳>/(Bark 直链即指向此处)
│   └── latest/                # 最近一次生成的成品
├── cli.py                     # 统一入口
├── tests/                     # 单元测试(pytest)
├── .env.example               # 环境变量模板(复制为 .env 填写)
└── requirements.txt           # 运行时依赖(精确锁版本)

测试

bash
python -m pytest