4.0 KiB
4.0 KiB
server-rs 工作区占位说明
日期:2026-04-20
1. 目录用途
server-rs/ 是本项目新 Rust 后端的固定根目录,用于承载以下重写目标:
AxumHTTP / SSE 边界层SpacetimeDB状态机模块阿里云 OSS资产接入与应用层编排
该目录固定放在仓库根目录,与 server-node/、src/、docs/ 同级。
2. 当前阶段说明
当前目录已经完成以下二十八项初始化:
- 为新后端预留正式目录并把路径固定到仓库结构中。
- 创建虚拟 workspace
Cargo.toml,后续 package 会逐项挂入。 - 明确内部采用“
apps/*主工程 +packages/*独立模块包”的多 package 组织方式。 - 创建
apps/api-server/目录占位,固定 Axum 主工程落位。 - 创建
apps/spacetime-module/目录占位,固定 SpacetimeDB 主工程落位。 - 创建
packages/module-auth/目录占位,固定鉴权模块 package 落位。 - 创建
packages/module-runtime/目录占位,固定运行时状态基座模块 package 落位。 - 创建
packages/module-story/目录占位,固定故事主循环模块 package 落位。 - 创建
packages/module-combat/目录占位,固定战斗规则模块 package 落位。 - 创建
packages/module-inventory/目录占位,固定背包与物品变更模块 package 落位。 - 创建
packages/module-npc/目录占位,固定 NPC 状态与互动模块 package 落位。 - 创建
packages/module-progression/目录占位,固定成长与章节推进模块 package 落位。 - 创建
packages/module-quest/目录占位,固定任务运行时模块 package 落位。 - 创建
packages/module-runtime-item/目录占位,固定运行时物品模块 package 落位。 - 创建
packages/module-custom-world/目录占位,固定自定义世界与 agent 模块 package 落位。 - 创建
packages/module-assets/目录占位,固定资产任务与对象绑定模块 package 落位。 - 创建
packages/module-ai/目录占位,固定 AI 编排模块 package 落位。 - 创建
packages/shared-contracts/目录占位,固定前后端兼容 contract 共享 package 落位。 - 创建
packages/shared-kernel/目录占位,固定跨模块共享领域内核 package 落位。 - 创建
packages/platform-auth/目录占位,固定鉴权平台适配 package 落位。 - 创建
packages/platform-oss/目录占位,固定 OSS 平台适配 package 落位。 - 创建
packages/platform-llm/目录占位,固定大模型平台适配 package 落位。 - 创建
packages/spacetime-client/目录占位,固定 SpacetimeDB 客户端适配 package 落位。 - 创建
packages/tests-support/目录占位,固定测试支撑共享 package 落位。 - 创建
scripts/dev.ps1,固定 Windows 本地开发入口。 - 创建
scripts/dev.sh,固定 Unix-like 本地开发入口。 - 创建
scripts/test.ps1,固定 Windows 本地测试入口。 - 创建
scripts/test.sh,固定 Unix-like 本地测试入口。
后续任务会继续在本目录内按顺序补齐:
- lint、smoke 与 SpacetimeDB 本地脚本
3. 已冻结边界
本目录后续落地时必须继续遵守 M0 已冻结的边界:
- 迁移期保留
server-node/,不提前删除。 - 前端在
M0 ~ M6期间只访问 Axum,不直连 SpacetimeDB。 - 外部副作用统一收口在 Axum / package 内应用层 / infra。
apps/api-server只组合与暴露协议,不直接吞并业务模块实现。apps/spacetime-module只负责汇总各模块 package 的表、reducer、view。