Agent/server/README.md

1.8 KiB

中台引擎(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/ 模块注册表、常量、备份表定义

运行

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)同理,生产环境由密钥目录管理。