Files
BlueArchiveToolkit/README.md
T

3.9 KiB
Raw Blame History

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-adapters Unity、Manifest、Client 集成框架。
  • bat-cas-engine CAS V1:原子写入、Hash 校验、引用计数、GC、并发写入测试、损坏检测。
  • bat-infrastructure CAS 仓储适配层。
  • bat-ffi 基础 crate 边界。
  • 文档路线图和当前缺口清单。

未完成:

  • 真实 AssetBundle 解析。
  • 真实 Patch apply/diff。
  • Go CLI、API Server、SDK。
  • Web 管理后台。
  • Translation Memory、Glossary、AI Provider。

详细状态见:


技术栈

  • RustCAS、AssetBundle、Patch、FFI 等核心引擎。
  • GoCLI、资源同步、API Server、任务编排、SDK。
  • PostgreSQL:服务端主数据库。
  • Redis:缓存、队列状态、限流和短期锁。
  • Vue 3 + TypeScriptWeb 管理后台。
  • 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 时明确跳过。


开发优先级

近期优先级:

  1. 完成 Manifest 真实解析。
  2. 启动 Go CLI 的 doctor 和基础命令框架。
  3. 设计 Resource Repository 的持久化 schema。
  4. 开始 AssetBundle 解析框架实装。

不建议在 Manifest、AssetBundle 和文本提取基础能力完成前优先开发 Web UI。


许可证

本项目采用 MIT 许可证,见 LICENSE