chore: establish development baseline

This commit is contained in:
2026-06-28 01:27:09 +08:00
commit dd53e3054e
131 changed files with 19327 additions and 0 deletions
+132
View File
@@ -0,0 +1,132 @@
# BlueArchive Toolkit
**BlueArchiveToolkit** 是一个面向长期维护的 Blue Archive 资源管理、解析、翻译和补丁工具套件。
当前项目仍处于早期开发阶段:Rust 领域模型、适配器框架和部分 CAS 基础能力已经存在;资源同步、完整 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` 基础文件系统对象存储。
- `bat-ffi` 基础 crate 边界。
- 文档路线图和当前缺口清单。
未完成:
- 生产级 CAS 引用计数、GC、并发安全和事务化元数据。
- 真实 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)
---
## 技术栈
- RustCAS、AssetBundle、Patch、FFI 等核心引擎。
- GoCLI、资源同步、API Server、任务编排、SDK。
- PostgreSQL:服务端主数据库。
- Redis:缓存、队列状态、限流和短期锁。
- Vue 3 + TypeScriptWeb 管理后台。
- 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. 恢复或初始化 Git 元数据。
2. 冻结核心领域接口和错误模型。
3. 合并 CAS 实现边界。
4. 完成生产级 CAS:原子写入、引用计数、GC、并发测试。
5. 完成 Manifest 真实解析。
6. 启动 Go CLI 的 `doctor` 和基础命令框架。
不建议在 CAS、Manifest、AssetBundle 基础能力完成前优先开发 Web UI。
---
## 许可证
本项目采用 MIT 许可证,见 [LICENSE](LICENSE)。