diff --git a/CLAUDE.md b/CLAUDE.md index ee630ad..4ba134b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -76,6 +76,7 @@ - **主项目 = 根仓库(`opc`)**:负责 `design/`、`materials/`、根文档与全局规范;**不跟踪各 code 子项目的代码,但保留其文件夹**——`code/*` 各为独立仓库(组织 Pine),被根仓库忽略。 - **同步全子项目**:同步 / 部署时必须**同步所有子项目**(`agent-desktop / server-core / web-official / park-desktop / training / compute-engine`),逐个 `git pull`/`push`,不得遗漏。 - **分别提交**:任一子项目有修改时,在**各自仓库**内分批用中文提交并推送,**不得混入根仓库或其它子项目**。 +10. **server-core 架构标准**:FastAPI 采用**四层架构**(接口层→业务层→领域层,基础设施层含数据模型层),**禁止反向依赖**;server-core 与**算力调度服务**经**内部 IP / loopback** 交互,对外算力调用统一走**服务端 `/api/v1`**。工程化(`serverdata/` 数据目录、`serverrun/` 容器启动、`ops/` 运维脚本)参考 `C:\Users\Administrator\MyCode\PineSoundServer`。 --- diff --git a/云超服一体化架构设计方案.md b/云超服一体化架构设计方案.md index 6284965..fa86b64 100644 --- a/云超服一体化架构设计方案.md +++ b/云超服一体化架构设计方案.md @@ -426,6 +426,42 @@ dpm 后端新增数据源层,以**园区账号 token** 拉取**本园区**数 --- +## 十三、server-core 分层架构与算力通信规范 + +### 13.1 FastAPI 四层架构(单向依赖) + +| 层 | 职责 | server-core 目录(规划) | +|----|------|------------------------| +| **接口层** | 接收请求、返回响应、参数校验、路由 | `app/routers/` + `app/schemas/`(Pydantic) | +| **业务层** | 业务逻辑编排、用例(用领域对象实现用例) | `app/services/` | +| **领域层** | 核心业务模型与规则(实体 / 值对象 / 领域服务) | `app/domain/` | +| **基础设施层**(含数据模型层) | 数据库访问、缓存、消息队列、外部服务适配 | `app/infrastructure/`(`repositories/`、`models/`、`cache/`、`mq/`) | + +**依赖方向(单向,禁止反向依赖)**: +``` +接口层 → 业务层 → 领域层 + ↘ ↘ ↘ + 基础设施层(数据模型 / DB / 缓存 / MQ / 外部服务) +``` +- 接口层只做「收请求 → 调业务层 → 返回响应」;业务层不依赖接口层。 +- 领域层是核心模型与规则,**不依赖**业务层 / 接口层 / 基础设施层的具体实现(只面向其接口)。 +- 基础设施层实现接口,**不得反向依赖**上层。 + +### 13.2 算力通信规范 + +- **内部**:FastAPI(server-core)与**算力调度服务**(compute-engine / 算力引擎)经**内部 IP / loopback** 交互(`http://127.0.0.1:3000`),不经过公网。 +- **对外**:前端 / 用户的算力调用统一走**服务端 `/api/v1`**(server-core 统一入口),**不直连**算力引擎。 +- 算力引擎(new-api)仅作服务被消费,无页面暴露;额度 / 令牌 / 流水由服务端算力服务程序化管理(见 §4.3)。 + +### 13.3 参考工程化:PineSoundServer + +server-core 的工程化(数据目录 / 容器启动 / 运维脚本)参考 `C:\Users\Administrator\MyCode\PineSoundServer`: +- **`serverdata/`**:数据目录规范(`logs/ data/ files/ keys/ prompts/` + 各中间件数据 `emqx-data/ redis-data/ minio/ milvus/`)。 +- **`serverrun/`**:容器与微服务启动(`start-all.sh` 编排、各服务 `docker-compose.yml`、`envcopy.sh` 配置加密、`encrypt-certs.sh` 证书加密)。 +- **`ops/`**:运维脚本(`init_admin` / `db_backup` / 数据迁移 / `clear_redis_tokens` / 算力套餐与分区初始化等)。 + +--- + ## 附:与既有设计文档的关系 - 本设计是「`三端架构设计.md`(培训三端)」与「`身份体系与端口权限设计方案.md`(云超服七端口)」的**合一演进**:培训业务并入云超服端口体系。