新增中台引擎 README:核心模块清单附具体代码位置(文件:行号)
This commit is contained in:
parent
991ec26b68
commit
b128e33fb8
41
server/README.md
Normal file
41
server/README.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# 中台引擎(L2 · :8088)
|
||||||
|
|
||||||
|
城轨智能中台四层架构中的 **L2 中台层**,Express API 服务,**仅绑定 127.0.0.1 本机回环**。中台只解决"接入"与"安全",业务能力在各子系统内部实现——本目录不含业务子系统代码。
|
||||||
|
|
||||||
|
## 架构位置
|
||||||
|
|
||||||
|
```
|
||||||
|
L1 AI 客户端(:8090)
|
||||||
|
↓
|
||||||
|
L2 中台引擎 = 本目录(:8088,仅 127.0.0.1)
|
||||||
|
↓ MCP 路由
|
||||||
|
L3 子系统 MCP Server(:7777 排班 / :7778 画像)
|
||||||
|
↓ dispatcher
|
||||||
|
L4 业务工具层(子系统内部,2496 个既有业务函数,零侵入)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 核心模块(附具体代码位置)
|
||||||
|
|
||||||
|
| 模块 | 位置 | 说明 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 服务入口 | `src/main.js:20` | `app.listen(config.port, '127.0.0.1')`,本地回环监听 |
|
||||||
|
| 路由装配 | `src/app.js` | Express 装配 + 鉴权中间件挂载(`:87` 经 `hasPermission` 校验) |
|
||||||
|
| JWT Ed25519 鉴权 | `src/auth/jwt-ed25519.js:29,47` | `signEdDsa` / `verifyEdDsa`;校验入口 `src/auth/auth.js:28`;密钥强制 ed25519 `src/auth/jwt-keys.js:47` |
|
||||||
|
| 审计·链式哈希 | `src/audit/audit.js:45,58,90-94` | `:45` 承接上一条 current_hash(首条为 64 个 0);`:58` `SHA-256(prev_hash + canonical(entry))`;`:90-94` 逐条校验,断链返回 brokenAtId——篡改任一条,整链断裂 |
|
||||||
|
| RBAC 权限 | `src/rbac/rbac.js:64` | `hasPermission(userId, module, action)`;权限缓存 TTL 5 分钟(`:7`) |
|
||||||
|
| 数据导入 | `src/import/monthly-materials.js`(月度材料)、`monthly-exams.js`(月考)、`personnel-roster.js`(人员名册)、`question-bank.js`(题库);`src/upload/kilometers-import.js`(公里数) | 上传登记 `src/upload/upload.js:90`(batch_uuid 入库)、`:103`(同月重复上传即覆盖,§5.1 幂等) |
|
||||||
|
| 预计算 | `src/precompute/service.js:13,38,42` | `recomputePeriod` / `onUploadComplete` / `recomputeAll`;指标实现在 `src/precompute/impls/`(公里数/在线考试/实操考试)——AI 不算账,业务系统算好 |
|
||||||
|
| 导出工作队列 | `src/export/queue.js:12`(BullMQ Queue)、`src/export/worker.js:10`(Worker) | 报表异步生成;另含 `backup.js`(备份) |
|
||||||
|
| 公共包 | `../packages/shared/` | `module-registry.js`(模块注册)、`constants.js`(常量)、`backup-tables.js`(备份表定义) |
|
||||||
|
|
||||||
|
## 运行
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp .env.example .env # 按需修改(开发占位值,生产密钥走本地密钥目录)
|
||||||
|
npm install
|
||||||
|
npm start # node src/main.js
|
||||||
|
```
|
||||||
|
|
||||||
|
## 密钥说明
|
||||||
|
|
||||||
|
JWT Ed25519 密钥对由 `scripts/generate-jwt-keys.js` 本地生成,存放于本地密钥目录(`keys/` 已被 .gitignore 排除,任何情况下不入库);PII 字段加密密钥(DATA_ENC_KEY / DATA_HMAC_KEY)同理,生产环境由密钥目录管理。
|
||||||
Loading…
Reference in New Issue
Block a user