chore(deploy): finalize 0309 SAE rollout updates

Sync deployment documentation to the final successful SAE state and clear pending deployment checklist items. Include backend/frontend/R hardening and diagnostics improvements required for stable production behavior.

Made-with: Cursor
This commit is contained in:
2026-03-09 22:27:11 +08:00
parent d30bf95815
commit 971e903acf
23 changed files with 810 additions and 180 deletions

View File

@@ -1,7 +1,7 @@
# 2026年3月9日部署完成总结
# 2026年3月9日部署完成总结(含二次部署)
> **部署日期**2026-03-09
> **部署范围**:数据库迁移(4项) + 种子数据3项 + R统计引擎 + Node.js后端 + 前端Nginx
> **部署范围**:数据库迁移(5项) + 种子数据3项 + R统计引擎 + Node.js后端 + 前端Nginx(两轮)
> **部署状态**:✅ 全部完成
> **文档日期**2026-03-09
@@ -9,174 +9,144 @@
## 部署成果一览
### 服务版本对比
### 服务版本对比(最终态)
| 服务 | 部署前 | 部署后 | 变更类型 |
|------|--------|--------|---------|
| PostgreSQLRDS | 20/24 迁移 | **24/24 迁移** | 4 个 Prisma 迁移 + 3 个种子脚本 |
| R统计引擎 | v1.0.1 | **v1.0.2** | 新增 execute-code + 错误处理 + AST 预检 |
| Node.js后端 | v2.8 | **v2.9** | 13 项后端变更RVW/SSA/IIT/认证) |
| 前端Nginx | v2.5 | **v2.6** | 10 项前端变更ASL/RVW/SSA/IIT/心跳) |
| 服务 | 当日部署前 | 当日部署后(最终) | 说明 |
|------|-----------|-------------------|------|
| PostgreSQLRDS | 20/25 迁移 | **25/25 迁移** | 4 项基础迁移 + 1 项 AIA attachments 迁移 |
| R统计引擎 | v1.0.1 | **v1.0.5** | execute-code + 错误处理 + 包诊断 + `%||%` 修复 |
| Node.js后端 | v2.8 | **v2.10** | SSE 稳定性 + 优雅停机 + AIA 附件链路 + 短信能力 |
| 前端Nginx | v2.5 | **v2.7** | SSE 代理优化 + 友好错误提示与自动重试 |
| Python微服务 | v1.2 | v1.2(不变) | 无变更 |
### 内网地址变更
### 当前内网地址(最终态)
| 服务 | 部署前地址 | 部署后地址 | 状态 |
|------|-----------|-----------|------|
| R统计引擎 | `172.17.173.101:8080` | `172.17.197.22:8080` | ✅ 已变更 |
| Node.js后端 | `172.17.173.106:3001` | `172.17.173.108:3001` | ✅ 已变更 |
| 前端Nginx | `172.17.173.107:80` | `172.17.197.23:80` | ✅ 已变更 |
| Python微服务 | `172.17.173.102:8000` | `172.17.173.102:8000` | 不变 |
| 服务 | 内网地址 | 状态 |
|------|---------|------|
| R统计引擎 | `172.17.197.26:8080` | ✅ |
| Node.js后端 | `172.17.173.109:3001` | ✅ |
| 前端Nginx | `172.17.197.27:80` | ✅ |
| Python微服务 | `172.17.173.102:8000` | 不变 |
---
## 一、数据库部署
### 1.1 部署前
### 1.1 部署前备
| 项目 | 值 |
|------|---|
| 备份方式 | `pg_dump --format=custom` via Docker 容器 |
| 备份文件 | `backup_before_0309_deploy.dump` |
| 文件大小 | 46.9 MB |
| 备份时间 | 2026-03-09 08:05 |
| 备份文件(第一轮) | `backup_before_0309_deploy.dump` |
| 备份文件(第二轮) | `backup_before_be_fe_deploy_20260309.dump` |
| 第二轮备份大小 | 47,988,197 bytes约 45.8MB |
### 1.2 Prisma 迁移(4 项)
### 1.2 Prisma 迁移(5 项)
使用 `npx prisma migrate deploy`(生产命令)执行。
| 序号 | 迁移名称 | 对应清单 | 变更内容 | 结果 |
|------|---------|---------|---------|------|
| 1 | `20260307_add_error_details_to_review_task` | DB-3 | `rvw_schema.review_tasks` 新增 `error_details` JSONB 列 | ✅ |
| 2 | `20260308_add_iit_equery_open_dedupe_guard` | DB-6 | 历史重复 open eQuery 收敛为 `auto_closed` + 部分唯一索引 | ✅ |
| 3 | `20260308_default_agent_mode` | DB-4 | `ssa_sessions.execution_mode` 默认值改为 `agent` + 21 条旧数据更新 | ✅ |
| 4 | `20260309_add_token_version_to_platform_users` | DB-7 | `platform_schema.users` 新增 `token_version` INTEGER 列(默认 0 | ✅ |
| 序号 | 迁移名称 | 对应清单 | 结果 |
|------|---------|---------|------|
| 1 | `20260307_add_error_details_to_review_task` | DB-3 | ✅ |
| 2 | `20260308_add_iit_equery_open_dedupe_guard` | DB-6 | ✅ |
| 3 | `20260308_default_agent_mode` | DB-4 | ✅ |
| 4 | `20260309_add_token_version_to_platform_users` | DB-7 | ✅ |
| 5 | `20260309_add_aia_attachments_persistence` | DB-1二次部署 | ✅ |
### 1.3 种子数据3 项)
| 序号 | 脚本 | 对应清单 | 内容 | 结果 |
|------|------|---------|------|------|
| 1 | `npx tsx scripts/seed-modules.js` | DB-1 | upsert 11 个 modules新增 ASL_SR | ✅ |
| 2 | `npx tsx scripts/migrate-rvw-prompts.ts` | DB-2 | upsert 4 个 RVW Prompt新增 DATA_VALIDATION + CLINICAL | ✅ |
| 3 | `npx tsx prisma/seed-ssa-agent-prompts.ts` | DB-5 | upsert 2 个 SSA Agent PromptPLANNER + CODER | ✅ |
### 1.4 数据库最终状态
### 1.3 数据库最终状态
| 项目 | 值 |
|------|---|
| Prisma 迁移 | 24/24(本地与 RDS 完全同步) |
| Prisma 迁移 | **25/25** |
| Schema 数 | 16 |
| modules 模块数 | 11含 ASL_SR |
| RVW Prompt 模板 | 4含 DATA_VALIDATION + CLINICAL |
| SSA Agent Prompt | 2PLANNER + CODER |
| 同步状态 | 本地与 RDS 一致 |
---
## 二、R 统计引擎更新v1.0.1 → v1.0.2
## 二、R 统计引擎更新v1.0.1 → v1.0.5
| 项目 | 值 |
|------|---|
| ACR 仓库 | `ssa-r-statistics` |
| 镜像版本 | v1.0.1 → **v1.0.2** |
| Digest | `sha256:7c24b688ee7e5e1e61d6f2821902ab825efc5a4113d0f99f92d9c63deebcd79d` |
| 内网地址 | `http://172.17.197.22:8080` |
| 最终镜像版本 | **v1.0.5** |
| v1.0.5 Digest | `sha256:63d45f9cf28116d686fc4a36a1f82fef78f863066b4c3018cd812bf9b94e143a` |
| 内网地址 | `http://172.17.197.26:8080` |
变更内容3 项)
- R-1新增 POST `/api/v1/execute-code` 端点Agent 通道任意 R 代码执行
-R-2Agent 结构化错误处理增强20+ 模式匹配 + format_agent_error
-R-3AST 语法预检parse() 前置于 eval()
关键变更:
-`/api/v1/execute-code` 增强结构化错误、AST 语法预检
-新增 `/api/v1/debug/packages` 运行时包诊断接口
-构建期关键包完整性校验(缺包即构建失败
- ✅ 修复错误映射占位符未替换(`{package}`)与 `%||%` 操作符缺失
---
## 三、Node.js 后端更新v2.8 → v2.9
## 三、Node.js 后端更新v2.8 → v2.10
| 项目 | 值 |
|------|---|
| ACR 仓库 | `backend-service` |
| 镜像版本 | v2.8 → **v2.9** |
| Digest | `sha256:b28b14e4f7aec66102e7e039d6d910c1e957c7903329d1ba6b4ac20ebbd078f9` |
| 内网地址 | `http://172.17.173.108:3001` |
| 最终镜像版本 | **v2.10** |
| Digest | `sha256:7194bab89251583d2fcc8356cfd7ed528ff1ce3e0416662250ace9f022bb5002` |
| 内网地址 | `http://172.17.173.109:3001` |
变更内容13 项)
-BE-1Deep Research V2.0 历史列表 + 删除接口 + getTask 鉴权修复
-BE-2SR 相关路由增加 `requireModule('ASL_SR')` 中间件
-BE-3Unifuncs DeepSearch API S2 → S3新增 `language: "zh"`
-BE-4RVW 数据验证增加 LLM 核查通道
-BE-5RVW 新增临床专业评估维度ClinicalAssessmentSkill
- ✅ BE-6RVW 稳定性增强Promise.allSettled + partial_completed
- ✅ BE-7DataForensicsSkill LLM 核查独立 60s 超时
- ✅ BE-8SSA Agent 通道体验优化(方案 B + 10 项 Bug 修复)
- ✅ BE-9Phase 5A CoderAgent 防错护栏4 项改动)
- ✅ BE-10SSA Agent Prompt 接入运营管理端(三级容灾)
- ✅ BE-11IIT eQuery 幂等写入 + 去重工具脚本
- ✅ BE-12IIT 事件名称友好化 + AI 对话证据块补齐
- ✅ BE-13认证链路改造为数据库强一致互踢tokenVersion
关键变更:
-SSE 兼容修复(移除 HTTP/2 禁止头部)
-优雅停机增强(停机期健康检查 503 + 超时兜底)
-AIA 附件持久化与回源链路稳定性修复
-生产缓存安全护栏(禁用 memory
-阿里云短信接入(保留 mock 模式
---
## 四、前端 Nginx 更新v2.5 → v2.6
## 四、前端 Nginx 更新v2.5 → v2.7
| 项目 | 值 |
|------|---|
| ACR 仓库 | `ai-clinical_frontend-nginx` |
| 镜像版本 | v2.5 → **v2.6** |
| Digest | `sha256:da4c9fcfe135b25bcac5143e3f919d8a3a205f53d8b0e930e32f6b8325d2cb70` |
| 内网地址 | `http://172.17.197.23:80` |
| 最终镜像版本 | **v2.7** |
| Digest | `sha256:cb1d0776e29bd0326cf0ce796f31c8b529e0c5171b6522cf013af43e1f3f68f6` |
| 内网地址 | `http://172.17.197.27:80` |
变更内容10 项)
-FE-1ASL 左侧导航栏重构为互斥手风琴
-FE-2Deep Research 历史记录功能
-FE-3Panel B SR 工具导航权限控制
- ✅ FE-4RVW 数据验证报告增加 LLM 核查结果展示
- ✅ FE-5RVW 新增临床专业评估 Tab + Agent 选择项
- ✅ FE-6RVW 前端支持 partial_completed 状态
- ✅ FE-7SSA Agent 通道体验优化(方案 B + 动态 UI
- ✅ FE-8SSA 默认 Agent 模式 + 查看代码修复 + 分析历史卡片
- ✅ FE-9IIT D1 筛选入选表规则名称友好显示
- ✅ FE-10全局会话心跳10s提升互踢感知时效
关键变更:
-Nginx SSE 代理兼容配置Connection 条件化、缓存/缓冲策略)
-SSA 对话网络错误友好提示
-指数退避自动重试2 次)+ 手动重试按钮
---
## 五、环境变量联动更新
## 五、环境变量联动更新(最终态)
| 服务 | 环境变量 | 旧值 | 新值 |
|------|---------|------|------|
| nodejs-backend-test | `R_SERVICE_URL` | `http://172.17.173.101:8080` | `http://172.17.197.22:8080` |
| frontend-nginx-service | `BACKEND_SERVICE_HOST` | `172.17.173.106` | `172.17.173.108` |
| 服务 | 环境变量 | 新值 |
|------|---------|------|
| nodejs-backend-test | `R_SERVICE_URL` | `http://172.17.197.26:8080` |
| frontend-nginx-service | `BACKEND_SERVICE_HOST` | `172.17.173.109` |
> CLB 负载均衡器由阿里云自动更新,无需手动操作。
> CLB 由阿里云自动更新,无需手动操作。
---
## 六、当前系统配置速查
## 六、当前系统配置速查(最终)
### 服务内网地址
```
R统计引擎: http://172.17.197.22:8080 (更新)
Python: http://172.17.173.102:8000 (不变)
后端: http://172.17.173.108:3001 (更新)
前端: http://172.17.197.23:80 (更新)
R统计引擎: http://172.17.197.26:8080
Python: http://172.17.173.102:8000
后端: http://172.17.173.109:3001
前端: http://172.17.197.27:80
```
### ACR 镜像版本
| 仓库 | 版本 |
|------|-----|
| `ssa-r-statistics` | **v1.0.2** |
| `ssa-r-statistics` | **v1.0.5** |
| `python-extraction` | v1.2 |
| `backend-service` | **v2.9** |
| `ai-clinical_frontend-nginx` | **v2.6** |
### 公网访问
```
CLB: http://8.140.53.236/
域名: https://iit.xunzhengyixue.com/
```
| `backend-service` | **v2.10** |
| `ai-clinical_frontend-nginx` | **v2.7** |
---
> **文档版本**v2.0
> **文档版本**v3.0
> **最后更新**2026-03-09
> **维护人员**:开发团队