mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 03:56:44 +08:00
131 lines
3.9 KiB
Markdown
131 lines
3.9 KiB
Markdown
# 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。
|
||
|
||
详细状态见:
|
||
|
||
- [当前状态](CURRENT_STATUS.md)
|
||
- [完整开发计划](PROJECT_PLAN.md)
|
||
- [当前缺口清单](docs/reports/CURRENT_GAPS.md)
|
||
- [文档索引](DOCS_INDEX.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)。
|