# BlueArchive Toolkit **BlueArchiveToolkit** 是一个面向长期维护的 Blue Archive 资源管理、解析、翻译和补丁工具套件。 当前项目仍处于早期开发阶段:Rust 领域模型、适配器框架和生产级 CAS V1 已经存在;资源同步、完整 AssetBundle 解析、翻译系统、Patch、CLI、API Server 和 Web 后台仍在持续完善。当前官方资源实验与推送准备在 `experiment` 分支进行。 --- ## 项目目标 最终系统计划支持: - 资源同步:Manifest、版本管理、增量同步、Hash 校验、断点续传、重试、缓存。 - CAS 存储:内容寻址、去重、引用计数、垃圾回收、多版本共享、完整性校验。 - Unity AssetBundle:插件化解析 TextAsset、Localization、MonoBehaviour、ScriptableObject 等资源。 - 文本提取:剧情、UI、系统文本、配置文本的标准化导出。 - 翻译系统:Translation Memory、Glossary、AI Provider、审核流、历史记录。 - Patch 系统:增量 Patch、Binary Patch、JSON Patch、Rollback、Integrity Check。 - CLI / API / Web / SDK:提供本地工具、服务端接口、管理后台和外部集成能力。 --- ## 当前状态 已具备: - Rust workspace 和 monorepo 结构。 - `bat-core` 领域对象和仓储接口骨架。 - `bat-adapters` Unity、Manifest、Client 集成框架。 - `bat-cas-engine` CAS V1:原子写入、Hash 校验、引用计数、GC、并发写入测试、损坏检测。 - `bat-infrastructure` CAS 仓储适配层。 - `bat-ffi` 基础 crate 边界。 - 官方日服资源 bootstrap、官方 launcher bootstrap、官方 pull plan 用户流程。 - 文档路线图和当前缺口清单。 - 当前阶段说明与推送前核查文档。 未完成: - 真实 AssetBundle 解析。 - 真实 Patch apply/diff。 - Go CLI、API Server、SDK。 - Web 管理后台。 - Translation Memory、Glossary、AI Provider。 详细状态见: - [当前状态](CURRENT_STATUS.md) - [完整开发计划](PROJECT_PLAN.md) - [当前缺口清单](docs/reports/CURRENT_GAPS.md) - [文档索引](DOCS_INDEX.md) - [当前阶段说明](docs/reports/current-stage-prepush.md) --- ## 技术栈 - Rust:CAS、AssetBundle、Patch、FFI 等核心引擎。 - Go:CLI、资源同步、API Server、任务编排、SDK。 - PostgreSQL:服务端主数据库。 - Redis:缓存、队列状态、限流和短期锁。 - Vue 3 + TypeScript:Web 管理后台。 - Docker / Docker Compose:本地开发和部署。 --- ## 项目结构 ```text BlueArchiveToolkit/ ├── core/ # Rust 领域模型和仓储接口 ├── adapters/ # Rust 适配器框架 ├── infrastructure/ # Rust 基础设施适配层 ├── crates/ # Rust 引擎 crate │ ├── bat-cas-engine/ │ ├── bat-assetbundle/ │ ├── bat-patch/ │ └── bat-ffi/ ├── cmd/ # Go CLI 入口,尚未实现 ├── internal/ # Go 内部包,尚未实现 ├── pkg/ # Go SDK 包,尚未实现 ├── api/ # API 定义,尚未实现 ├── web/ # Web 管理后台,尚未实现 ├── deployments/ # Docker 和部署配置 ├── docs/ # 文档、历史报告和分析资料 ├── Cargo.toml ├── go.mod └── Makefile ``` --- ## 本地验证 前置要求: - Rust 1.75+ - Go 1.22+ - Docker 与 Docker Compose,后续数据库开发需要 当前可运行的主要验证命令: ```bash cargo test --workspace ``` 也可以使用 Makefile: ```bash make help make test make check ``` 说明:Go CLI/API 尚未实现,因此 Makefile 中的 Go build/test/check/fmt/lint 会在没有 Go package 时明确跳过。 --- ## 开发优先级 近期优先级: 1. 完成 Manifest 真实解析。 2. 启动 Go CLI 的 `doctor` 和基础命令框架。 3. 设计 Resource Repository 的持久化 schema。 4. 开始 AssetBundle 解析框架实装。 不建议在 Manifest、AssetBundle 和文本提取基础能力完成前优先开发 Web UI。 --- ## 许可证 本项目采用 MIT 许可证,见 [LICENSE](LICENSE)。