refactor(ffi): 降级 FFI 为可选兼容层并整理文档

将 bat-ffi 明确收敛为无状态 C ABI 兼容层,默认集成路径改为 bat --json 进程边界或未来稳定 SDK。

同步 README、当前状态、项目计划、架构文档、开发指南和缺口清单,移除 FFI 作为主集成边界的表述。

新增 AGENTS.md 和 CONTRIBUTING.md,压缩 CLAUDE.md 为兼容入口,并归档阶段性报告、同步 .gitignore 规则。
This commit is contained in:
2026-07-15 21:12:17 +08:00
parent 90307a3243
commit b4b4f25cb3
22 changed files with 420 additions and 772 deletions
+7 -6
View File
@@ -16,7 +16,7 @@
- `bat`:官方资源自动发现、全量拉取、原子发布到 `current -> versions/<id>`、本地 manifest audit/repair、`.part` 断点续传、403/404/5xx 分类重试、下载 quarantine 诊断、ZIP 结构校验、官方 seed `.hash` 校验、snapshot/cache、`--watch` 常驻更新、`--daemon` 后台运行,以及 Unix socket JSON-RPC 后台控制命令 `status/stop/restart/reload/refresh/logs/verify/repair/doctor/clean-stable`
- 官方同步会维护 `<output>/official-version-state.json`,明确记录当前已完成版本、正在拉取版本、上一个可用版本和失败版本。
- 资源导入链路可将 manifest 条目写入 CAS + `ResourceRepository`AssetBundle 会记录 UnityFS 摘要,TextAsset/Table/Media 会按类型分类索引。
- `bat-ffi` 粗粒度 JSON 接口:Manifest inspect 和官方 sync plan。
- `bat-ffi` 可选无状态 C ABI 兼容层:仅保留 Manifest inspect 和官方 sync plan 的粗粒度 JSON helper,不作为 Go CLI 或生产同步的主集成边界
- 文档路线图、当前状态、缺口清单、官方资源运行指南。
仍未完成:
@@ -134,8 +134,9 @@ make official-smoke
## 技术栈
- RustCAS、官方资源同步核心、AssetBundle/Patch 引擎、FFI
- Go:计划中的最小 CLI、服务编排、API Server、SDK当前仅有 FFI 包骨架
- RustCAS、官方资源同步核心、AssetBundle/Patch 引擎;当前生产同步入口是 `bat` binary
- Go:计划中的最小 CLI、服务编排、API Server、SDK默认通过 `bat --json` 进程边界或未来 SDK 集成 Rust 能力
- `bat-ffi`:可选兼容层,只暴露无状态粗粒度 JSON C ABI,不承载 daemon、下载器、CAS handle 或主控制面。
- PostgreSQL:计划中的服务端主数据库。
- Redis:计划中的缓存、队列状态、限流和短期锁。
- Vue 3 + TypeScript:计划中的 Web 管理后台。
@@ -154,8 +155,8 @@ BlueArchiveToolkit/
│ ├── bat-cas-engine/
│ ├── bat-assetbundle/
│ ├── bat-patch/
│ └── bat-ffi/
├── internal/ffi/ # Go 调用 Rust FFI 的早期包装
│ └── bat-ffi/ # 可选无状态 C ABI 兼容层
├── internal/ffi/ # 可选 CGO 兼容包装,不是 Go CLI 主路径
├── cmd/ # Go CLI 入口,尚未实现
├── pkg/ # Go SDK 包,尚未实现
├── api/ # API 定义,尚未实现
@@ -173,7 +174,7 @@ BlueArchiveToolkit/
近期优先级:
1. 落地 Go CLI 最小可用入口:`bat doctor``bat sync --help`、Rust 同步命令包装
1. 落地 Go CLI 最小可用入口:`bat doctor``bat sync --help`通过 `bat --json` 包装 Rust 同步命令。
2. 补齐 AssetBundle UnityFS header/block/directory 解析。
3. 扩展 Addressables catalog 解析覆盖,继续用真实形态 fixture/golden 锁定行为。
4. 将官方同步结果接入 CAS + ResourceRepository 的用户级工作流。