命令列工具(cli.py)
所有功能都可透過 cli.py 驅動;安裝後(pip install -e .)也可用等價的 mysekai 命令。命令成功退出碼為 0,出錯為 1(錯誤資訊印到 stderr)。
bash
python cli.py --help # 子命令總覽
python cli.py <命令> --help # 查看某子命令的參數generate —— 解密存檔並產生地圖
bash
python cli.py generate <mysekai_bin><mysekai_bin>:加密存檔路徑(.bin),必填- 流程:AES-128-CBC 解密 → msgpack 解析 → 擷取掉落座標 → 繪製 4 張地圖(
site_5.png~site_8.png)→ 寫出rare_resources.txt - 輸出到
data/latest/,結束時印出實際路徑 - 前置要求:
.env已設定AES_KEY/AES_IV;存檔中沒有任何掉落點時會報錯退出
notify —— 推播地圖與統計
bash
python cli.py notify <output_dir> [task_id]<output_dir>:包含site_*.png與rare_resources.txt的目錄(通常就是data/latest/)[task_id]:選填,上傳任務 ID,預設unknown。用於從data/raw_mysekai/反查玩家 ID:優先比對mysekai_<玩家ID>_<task_id>.bin,比對不到時取 raw_mysekai 裡最新的存檔- 推播到 Telegram 還是 Bark 由
config/push_map.json路由(未設定的玩家預設走 Telegram),詳見玩家推播路由
server —— 啟動上傳服務(分片上傳 + Reqable 上報伺服器)
bash
python cli.py server [--host 0.0.0.0] [--port 9478]- 啟動 FastAPI 服務:用戶端向
POST /uploadMySekai上傳加密存檔(單片或分片;介面細節見上傳介面);Reqable 也可把 HAR 工作階段上報到內建上報端點(見Reqable 上報伺服器) - 全部片到達後自動完成:合併存檔 → 產生地圖 → 歸檔到
data/archive/by-id/<user_id>/<時間戳>/→ 依玩家路由推播通知,無需人工介入 - 預設監聽
9478連接埠;公開網路部署時建議透過反向代理暴露為 HTTPS,用戶端腳本中寫死的上傳 URL(含連接埠)需與你的實際部署保持一致
典型手動流程
bash
python cli.py generate mysekai_xxx.bin # 1. 產生地圖到 data/latest/
python cli.py notify data/latest <task_id> # 2. 推播(task_id 填上傳 ID,如 chfto53c3)