mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 03:56:44 +08:00
Persist official version-state, extend CAS/ResourceRepository import classification, and add offline catalog and failure regression fixtures. Fixes #13 Fixes #12 Fixes #8
3.9 KiB
3.9 KiB
当前进度交接
- 更新时间:2026-07-15
- 状态分支:
experiment - 最新功能提交:以当前
git log --oneline -1为准 - 用途:给下一次对话快速恢复上下文,优先以当前工作区和已验证结果为准。
1. 现在处在什么阶段
项目已经完成基础整理、CAS V1、Rust 官方资源同步闭环,以及真实官方网络 smoke 的可重复命令固化。下一阶段重点是 Go CLI 最小可用、同步结果进入 CAS/ResourceRepository,以及 AssetBundle 解析起步。
已确认的事实:
- 当前分支为
experiment。 bat-cas-engine的 CAS V1 已完成。bat是当前官方资源同步正式入口。- Linux 生产链路不安装、不启动、不依赖官方启动器。
--auto-discover通过官方 HTTP metadata 和临时目录解析GameMainConfig。- 默认平台是
Windows + Android。 - 真实下载会维护
official-download-manifest.json,并使用 size + BLAKE3、本地 audit/repair 和官方 seed.hash校验。 - 下载失败会按 403/404/5xx/网络类型分类;最终失败写入
official-download-quarantine.json并阻止发布不完整资源。 - 旧 launcher 包或
resources.assets下载使用官方 primary/backup CDN 切换。 --watch是 Rust 内部常驻检查模式,正常检查默认 1 小时,失败重试默认 60 秒;外部 systemd/container 只负责守护进程。batprogress log 会输出总体下载进度、单文件进度和校验结果摘要。- 真实官方网络 smoke 已固化为
scripts/official-full-pull-smoke.sh、make official-smoke和docs/guides/official-full-pull-smoke.md,默认写入/tmp隔离目录。 official-version-state.json已持久化当前完成、正在拉取、上一个可用和失败版本,bat status会显示版本状态摘要。- 资源导入链路已支持 CAS +
ResourceRepository写入,AssetBundle UnityFS 摘要,以及 TextAsset/Table/Media 分类索引。 - 当前 catalog、上一个版本 catalog、结构变化 catalog、403、404、hash mismatch 已有离线回归 fixture。
2. 现在不要误解的点
cargo test不会自动开始真实全量下载。- 仓库里的本地实样本测试仍应显式启用,不应默认读取
/home/wanye/D/BlueArchive。 bluearchive.cafe不是官方资源域名,不能当成官方链路使用。- 生产输出目录必须独立,不要指向已有客户端目录、官方启动器安装目录或开发资源目录。
- Go CLI 尚未实现;当前可运行同步入口是 Rust binary。
catalog_*.hash当前作为 Addressables marker,不按官方 seed.hash的xxHash32(seed=0)规则做内容强校验。
3. 当前还没做完什么
仍待实现的主线工作:
- Go CLI 最小入口:
bat doctor、bat sync --help、bat official sync --help。 - 按 smoke runbook 在具备网络和磁盘窗口的环境中执行真实官方网络 smoke,并保留隔离目录报告。
- 官方同步下载结果自动触发 CAS +
SqliteResourceRepository的用户级导入流程。 - Addressables parser 覆盖二进制/压缩字段组合和更细失败诊断。
- AssetBundle 对象表、TypeTree 和 TextAsset 提取链路继续推进。
- Patch、翻译库、API Server、Web。
4. 下一次对话最合适的起点
建议从 Go CLI 最小可用开始:
- 读取
README.md、CURRENT_STATUS.md、PROJECT_PLAN.md。 - 读取
docs/guides/official-resource-test-pull.md和docs/architecture/official-resource-backend.md。 - 实现
cmd/bat和最小命令树。 - Go CLI 调用
bat时显式传--json,把该结构化 report 作为稳定机器输出来源。
5. 相关入口
README.mdPROJECT_PLAN.mdCURRENT_STATUS.mdDOCS_INDEX.mddocs/reports/CURRENT_GAPS.mddocs/guides/official-resource-test-pull.mddocs/guides/official-full-pull-smoke.mddocs/architecture/official-resource-backend.md