41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
# 中台引擎(L2 · :8088)
|
|
|
|
城轨智能中台四层架构中的 **L2 中台层**,Express API 服务,**仅绑定 127.0.0.1 本机回环**(`src/main.js:20`)。中台只解决"接入"与"安全",业务能力在各子系统内部实现——本目录不含任何业务子系统代码。
|
|
|
|
## 架构位置
|
|
|
|
```
|
|
L1 AI 客户端(:8090)
|
|
↓
|
|
L2 中台引擎 = 本目录(:8088,仅 127.0.0.1)
|
|
↓ MCP 路由
|
|
L3 子系统 MCP Server(:7777 排班 / :7778 画像,见 scripts/mcp-server-sdk.js)
|
|
↓ dispatcher
|
|
L4 业务工具层(子系统内部,2496 个既有业务函数,零侵入)
|
|
```
|
|
|
|
## 核心模块
|
|
|
|
| 模块 | 位置 | 说明 |
|
|
| --- | --- | --- |
|
|
| 服务入口 | `src/main.js` | 127.0.0.1 监听、路由装配 |
|
|
| JWT Ed25519 鉴权 | `src/auth/` | `signEdDsa`/`verifyEdDsa`(jwt-ed25519.js),密钥强制 ed25519(jwt-keys.js) |
|
|
| 审计·链式哈希 | `src/audit/` | 每条日志承接上一条 SHA-256,篡改任一条整链断裂(audit.js:45,58,90-94) |
|
|
| RBAC 权限 | `src/rbac/` | 角色权限缓存与校验 |
|
|
| 数据导入 | `src/import/` `src/upload/` | 月度材料/月考/人员名册导入;batch_uuid 防重、同月重复上传即覆盖(§5.1 幂等) |
|
|
| 预计算 | `src/precompute/` | 乘务指标预计算——AI 不算账,业务系统算好 |
|
|
| 导出 | `src/export/` | 报表导出工作队列 |
|
|
| 公共包 | `../packages/shared/` | 模块注册表、常量、备份表定义 |
|
|
|
|
## 运行
|
|
|
|
```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)同理,生产环境由密钥目录管理。
|