mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 00:55:15 +08:00
3.9 KiB
3.9 KiB
BlueArchive Toolkit
BlueArchiveToolkit 是一个面向长期维护的 Blue Archive 资源管理、解析、翻译和补丁工具套件。
当前项目仍处于早期开发阶段:Rust 领域模型、适配器框架和生产级 CAS V1 已经存在;资源同步、完整 AssetBundle 解析、翻译系统、Patch、CLI、API Server 和 Web 后台尚未完成。
项目目标
最终系统计划支持:
- 资源同步: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-adaptersUnity、Manifest、Client 集成框架。bat-cas-engineCAS V1:原子写入、Hash 校验、引用计数、GC、并发写入测试、损坏检测。bat-infrastructureCAS 仓储适配层。bat-ffi基础 crate 边界。- 文档路线图和当前缺口清单。
未完成:
- 真实 AssetBundle 解析。
- 真实 Patch apply/diff。
- Go CLI、API Server、SDK。
- Web 管理后台。
- Translation Memory、Glossary、AI Provider。
详细状态见:
技术栈
- Rust:CAS、AssetBundle、Patch、FFI 等核心引擎。
- Go:CLI、资源同步、API Server、任务编排、SDK。
- PostgreSQL:服务端主数据库。
- Redis:缓存、队列状态、限流和短期锁。
- Vue 3 + TypeScript:Web 管理后台。
- Docker / Docker Compose:本地开发和部署。
项目结构
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,后续数据库开发需要
当前可运行的主要验证命令:
cargo test --workspace
也可以使用 Makefile:
make help
make test
make check
说明:Go CLI/API 尚未实现,因此 Makefile 中的 Go build/test/check/fmt/lint 会在没有 Go package 时明确跳过。
开发优先级
近期优先级:
- 完成 Manifest 真实解析。
- 启动 Go CLI 的
doctor和基础命令框架。 - 设计 Resource Repository 的持久化 schema。
- 开始 AssetBundle 解析框架实装。
不建议在 Manifest、AssetBundle 和文本提取基础能力完成前优先开发 Web UI。
许可证
本项目采用 MIT 许可证,见 LICENSE。