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:
@@ -12,10 +12,10 @@
|
||||
| 服务名称 | 部署状态 | 镜像版本 | 部署位置 | 最后更新时间 |
|
||||
|---------|---------|---------|---------|-------------|
|
||||
| **PostgreSQL数据库** | ✅ 运行中 | PostgreSQL 15 + 插件 | RDS | 2026-03-09 |
|
||||
| **前端Nginx服务** | ✅ 运行中 | **v2.6** | SAE | 2026-03-09 |
|
||||
| **前端Nginx服务** | ✅ 运行中 | **v2.7** | SAE | 2026-03-09 |
|
||||
| **Python微服务** | ✅ 运行中 | **v1.2** | SAE | 2026-02-27 |
|
||||
| **Node.js后端** | ✅ 运行中 | **v2.9** | SAE | 2026-03-09 |
|
||||
| **R统计引擎** | ✅ 运行中 | **v1.0.2** | SAE | 2026-03-09 |
|
||||
| **Node.js后端** | ✅ 运行中 | **v2.10** | SAE | 2026-03-09 |
|
||||
| **R统计引擎** | ✅ 运行中 | **v1.0.5** | SAE | 2026-03-09 |
|
||||
| **Dify AI服务** | ⚠️ 已废弃 | - | - | 使用pgvector替代 |
|
||||
|
||||
---
|
||||
@@ -36,9 +36,9 @@
|
||||
| 仓库名称 | 最新版本 | 镜像大小 | VPC地址 |
|
||||
|---------|---------|---------|---------|
|
||||
| **python-extraction** | **v1.2** | ~1.1GB | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.2` |
|
||||
| **ssa-r-statistics** | **v1.0.2** | ~2.1GB | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ssa-r-statistics:v1.0.2` |
|
||||
| **ai-clinical_frontend-nginx** | **v2.6** | ~96MB | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v2.6` |
|
||||
| **backend-service** | **v2.9** | ~897MB | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v2.9` |
|
||||
| **ssa-r-statistics** | **v1.0.5** | ~2.1GB | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ssa-r-statistics:v1.0.5` |
|
||||
| **ai-clinical_frontend-nginx** | **v2.7** | ~100MB | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v2.7` |
|
||||
| **backend-service** | **v2.10** | ~900MB | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v2.10` |
|
||||
|
||||
---
|
||||
|
||||
@@ -127,10 +127,10 @@ postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyun
|
||||
|
||||
| 应用名称 | 状态 | 规格 | 实例数 | 端口 | 内网地址 | 镜像版本 |
|
||||
|---------|------|------|-------|------|---------|---------|
|
||||
| **r-statistics-test** | ✅ 运行中 | 1核2GB | 1 | 8080 | `http://172.17.197.22:8080` | **v1.0.2** |
|
||||
| **r-statistics-test** | ✅ 运行中 | 1核2GB | 1 | 8080 | `http://172.17.197.26:8080` | **v1.0.5** |
|
||||
| **python-extraction-test** | ✅ 运行中 | **2核4GB** | 1 | 8000 | `http://172.17.173.102:8000` | **v1.2** |
|
||||
| **nodejs-backend-test** | ✅ 运行中 | **2核4GB** | 1 | 3001 | `http://172.17.173.108:3001` | **v2.9** |
|
||||
| **frontend-nginx-service** | ✅ 运行中 | 0.5核1GB | 1 | 80 | `http://172.17.197.23:80` | **v2.6** |
|
||||
| **nodejs-backend-test** | ✅ 运行中 | **2核4GB** | 1 | 3001 | `http://172.17.173.109:3001` | **v2.10** |
|
||||
| **frontend-nginx-service** | ✅ 运行中 | 0.5核1GB | 1 | 80 | `http://172.17.197.27:80` | **v2.7** |
|
||||
|
||||
**环境变量配置**:
|
||||
|
||||
@@ -144,7 +144,7 @@ DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.
|
||||
EXTRACTION_SERVICE_URL=http://172.17.173.102:8000
|
||||
|
||||
# R统计引擎地址
|
||||
R_SERVICE_URL=http://172.17.197.22:8080
|
||||
R_SERVICE_URL=http://172.17.197.26:8080
|
||||
|
||||
# OSS配置
|
||||
OSS_ACCESS_KEY_ID=LTAI5tB2Dt3NdvBL3G7nYGv7
|
||||
@@ -191,7 +191,7 @@ LEGACY_MYSQL_DATABASE=xzyx_online
|
||||
|
||||
**前端Nginx(frontend-nginx-service)**:
|
||||
```bash
|
||||
BACKEND_SERVICE_HOST=172.17.173.108
|
||||
BACKEND_SERVICE_HOST=172.17.173.109
|
||||
BACKEND_SERVICE_PORT=3001
|
||||
```
|
||||
|
||||
@@ -259,11 +259,11 @@ TEMP_DIR=/tmp/extraction_service
|
||||
|
||||
### 3.2 前端Nginx服务
|
||||
|
||||
**当前部署版本**:v2.4
|
||||
**当前部署版本**:v2.7
|
||||
|
||||
**镜像信息**:
|
||||
- **仓库名称**:`ai-clinical_frontend-nginx`
|
||||
- **镜像版本**:`v2.4` ✅(当前部署版本)
|
||||
- **镜像版本**:`v2.7` ✅(当前部署版本)
|
||||
- **镜像大小**:约50MB
|
||||
- **基础镜像**:`nginx:alpine`
|
||||
- **构建时间**:2026-03-05
|
||||
@@ -271,7 +271,7 @@ TEMP_DIR=/tmp/extraction_service
|
||||
|
||||
**部署状态**:
|
||||
- ✅ 已成功部署到SAE(2026-03-05)
|
||||
- ✅ 服务运行正常(内网地址:http://172.17.173.107:80)
|
||||
- ✅ 服务运行正常(内网地址:http://172.17.197.27:80)
|
||||
- ✅ 企业微信域名验证文件已部署(WW_verify_YnhsQBwI0ARnNoG0.txt)
|
||||
|
||||
**v2.5版本更新内容**:
|
||||
@@ -293,11 +293,11 @@ AIclinicalresearch/frontend-v2/
|
||||
|
||||
### 3.3 Node.js后端服务
|
||||
|
||||
**当前部署版本**:v2.6
|
||||
**当前部署版本**:v2.10
|
||||
|
||||
**镜像信息**:
|
||||
- **仓库名称**:`backend-service`
|
||||
- **镜像版本**:`v2.6` ✅(已部署)
|
||||
- **镜像版本**:`v2.10` ✅(已部署)
|
||||
- **镜像大小**:~838MB
|
||||
- **基础镜像**:`node:alpine`
|
||||
- **构建时间**:2026-03-05
|
||||
@@ -314,7 +314,7 @@ AIclinicalresearch/frontend-v2/
|
||||
|
||||
**部署状态**:
|
||||
- ✅ 已成功部署到SAE(2026-03-05)
|
||||
- ✅ 服务运行正常(内网地址:http://172.17.173.106:3001)
|
||||
- ✅ 服务运行正常(内网地址:http://172.17.173.109:3001)
|
||||
- ✅ 健康检查通过
|
||||
|
||||
**Git文件结构**:
|
||||
@@ -364,6 +364,38 @@ AIclinicalresearch/extraction_service/
|
||||
|
||||
## 🔄 四、部署历史记录
|
||||
|
||||
### 2026-03-09(0309二次部署 - DB补迁移 + R修复 + 后端/前端升级)
|
||||
|
||||
#### 部署概览
|
||||
- **部署时间**:2026-03-09(第二轮)
|
||||
- **部署范围**:数据库迁移(1项) + R统计引擎 + Node.js后端 + 前端Nginx
|
||||
- **主要变更**:AIA 附件持久化、R 包诊断与错误映射修复、SSE 稳定性与用户友好重试
|
||||
|
||||
#### 数据库变更(1项)
|
||||
- ✅ 应用迁移:`20260309_add_aia_attachments_persistence`
|
||||
- ✅ 迁移状态:RDS 25/25,Schema Up To Date
|
||||
- ✅ 备份文件:`backup_before_be_fe_deploy_20260309.dump`(约 47.99MB)
|
||||
|
||||
#### R统计引擎更新(v1.0.2 → v1.0.5)
|
||||
- ✅ 新增 `/api/v1/debug/packages` 运行时包诊断接口
|
||||
- ✅ 构建期关键包完整性校验(缺包即构建失败)
|
||||
- ✅ 修复错误映射占位符未替换与 `%||%` 操作符缺失
|
||||
- ✅ 内网地址变更:`172.17.197.22` → `172.17.197.26`
|
||||
|
||||
#### Node.js后端更新(v2.9 → v2.10)
|
||||
- ✅ 部署 BE 变更(SSE 头部修复、优雅停机、AIA 附件链路稳定性、缓存护栏、短信能力)
|
||||
- ✅ 内网地址变更:`172.17.173.108` → `172.17.173.109`
|
||||
|
||||
#### 前端Nginx更新(v2.6 → v2.7)
|
||||
- ✅ 部署 FE 变更(Nginx SSE 兼容 + SSA 网络异常友好提示与自动重试)
|
||||
- ✅ 内网地址变更:`172.17.197.23` → `172.17.197.27`
|
||||
|
||||
#### 环境变量同步
|
||||
- ✅ `nodejs-backend-test`:`R_SERVICE_URL=http://172.17.197.26:8080`
|
||||
- ✅ `frontend-nginx-service`:`BACKEND_SERVICE_HOST=172.17.173.109`
|
||||
|
||||
---
|
||||
|
||||
### 2026-03-09(0309部署 - 数据库4迁移 + R/后端/前端全量更新)
|
||||
|
||||
#### 部署概览
|
||||
@@ -725,4 +757,4 @@ AIclinicalresearch/extraction_service/
|
||||
|
||||
> **提示**:本文档记录SAE服务器的最新真实状态,每次部署后必须更新!
|
||||
> **最后更新**:2026-03-09
|
||||
> **当前版本**:前端v2.6 | 后端v2.9 | Python v1.2 | R统计v1.0.2 | PostgreSQL 15
|
||||
> **当前版本**:前端v2.7 | 后端v2.10 | Python v1.2 | R统计v1.0.5 | PostgreSQL 15
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
> **用途**: 开发过程中实时记录所有待部署的变更,下次部署时按此清单逐项执行
|
||||
> **维护规则**: 每次修改 Schema / 新增依赖 / 改配置时,**立即**在此文档追加记录
|
||||
> **Cursor Rule**: `.cursor/rules/deployment-change-tracking.mdc` 会自动提醒
|
||||
> **最后清零**: 2026-03-09(0309 部署完成后清零)
|
||||
> **最后清零**: 2026-03-09(0309 二次部署完成后清零)
|
||||
|
||||
---
|
||||
|
||||
@@ -15,24 +15,19 @@
|
||||
|
||||
| # | 变更内容 | 迁移文件 | 优先级 | 备注 |
|
||||
|---|---------|---------|--------|------|
|
||||
| DB-1 | AIA 新增 `attachments` 持久化表(附件文本真相源) | `prisma/migrations/20260309_add_aia_attachments_persistence/migration.sql` | 高 | 解决“附件仅缓存”导致偶发“内容已过期或不存在”,支持缓存 miss 回源数据库 |
|
||||
| — | *暂无* | | | |
|
||||
|
||||
### 后端变更 (Node.js)
|
||||
|
||||
| # | 变更内容 | 涉及文件 | 需要操作 | 备注 |
|
||||
|---|---------|---------|---------|------|
|
||||
| BE-1 | 移除全部 SSE 端点 `Connection: keep-alive` 响应头(HTTP/2 禁止头部) | `chat.routes.ts`, `session.routes.ts`, `workflow.routes.ts`, `OpenAIStreamAdapter.ts`, `ExtractionController.ts`, `researchController.ts`, `conversationController.ts`, `chatController.ts`×2, `StreamAIController.ts` | 重新构建镜像 | 修复 SAE 环境下 SSE 流式响应 `ERR_HTTP2_PROTOCOL_ERROR` |
|
||||
| BE-2 | 优雅停机增强:健康检查停机时返回 503 + 30s 强制超时兜底 | `healthCheck.ts`, `health/index.ts`, `index.ts` | 重新构建镜像 | CLB 在滚动更新时不再向濒死 Pod 派发请求 |
|
||||
| BE-3 | AIA 附件链路稳定性修复(上传落库 + 发送回源 + 错误分层) | `aia/services/attachmentService.ts`, `aia/services/conversationService.ts` | 重新构建镜像 | 上传阶段持久化附件文本与提取状态;发送时缓存未命中自动回源 DB 并回填,显著降低“对话中途上传附件无法识别”概率 |
|
||||
| BE-4 | 生产环境缓存安全护栏:禁止 `CACHE_TYPE=memory` 启动 | `config/env.ts` | 重新构建镜像 | 防止多实例缓存不共享导致附件/会话等状态偶发丢失,符合云原生规范 |
|
||||
| BE-5 | 登录验证码接入阿里云短信(保留 mock 模式) | `auth.service.ts`, `common/sms/aliyunSms.service.ts`, `config/env.ts` | 重新构建镜像 | `sendVerificationCode` 改为真实短信发送;生产建议 `SMS_PROVIDER=aliyun`,开发可继续 `mock` |
|
||||
| — | *暂无* | | | |
|
||||
|
||||
### 前端变更
|
||||
|
||||
| # | 变更内容 | 涉及文件 | 需要操作 | 备注 |
|
||||
|---|---------|---------|---------|------|
|
||||
| FE-1 | Nginx `Connection` 头部条件化(`map $http_upgrade $connection_upgrade`) | `nginx.conf` | 重新构建镜像 | SSE 请求不再携带错误的 `Connection: upgrade`,WebSocket 不受影响 |
|
||||
| FE-2 | SSA 对话网络错误友好提示 + 指数退避自动重试 2 次 + 手动重试按钮 | `useSSAChat.ts`, `SSAChatPane.tsx`, `ssa.css` | 重新构建镜像 | 瞬时网络错误自动重试 2 次(2s/4s 指数退避),失败后中文友好提示 + 蓝色重试按钮 |
|
||||
| — | *暂无* | | | |
|
||||
|
||||
### Python 微服务变更
|
||||
|
||||
@@ -50,7 +45,7 @@
|
||||
|
||||
| # | 变更内容 | 服务 | 变量名 | 备注 |
|
||||
|---|---------|------|--------|------|
|
||||
| ENV-1 | 新增短信网关配置(登录验证码) | nodejs-backend | `SMS_PROVIDER`,`SMS_ENDPOINT`,`SMS_SIGN_NAME`,`SMS_TEMPLATE_CODE_LOGIN`,`SMS_TEMPLATE_CODE_RESET`,`ALIBABA_CLOUD_ACCESS_KEY_ID`,`ALIBABA_CLOUD_ACCESS_KEY_SECRET` | 若生产使用阿里云短信,需在 SAE 配置完整变量;`SMS_TEMPLATE_CODE_RESET` 可选(默认复用登录模板) |
|
||||
| — | *暂无* | | | |
|
||||
|
||||
### 基础设施变更
|
||||
|
||||
@@ -88,6 +83,17 @@
|
||||
|
||||
## 历史(已部署,仅供追溯)
|
||||
|
||||
### 0309 二次部署已清零项
|
||||
|
||||
| # | 变更内容 | 部署日期 | 结果 |
|
||||
|---|---------|---------|------|
|
||||
| DB | AIA 新增 `attachments` 持久化表(`20260309_add_aia_attachments_persistence`) | 2026-03-09 | ✅ |
|
||||
| R | v1.0.2 → v1.0.5(包诊断接口、构建期缺包校验、错误映射修复、`%||%` 修复) | 2026-03-09 | ✅ |
|
||||
| BE | v2.9 → v2.10(SSE/优雅停机/AIA附件/短信能力等变更) | 2026-03-09 | ✅ |
|
||||
| FE | v2.6 → v2.7(SSE 代理与友好重试体验优化) | 2026-03-09 | ✅ |
|
||||
| ENV | nodejs-backend-test: `R_SERVICE_URL` → `http://172.17.197.26:8080` | 2026-03-09 | ✅ |
|
||||
| ENV | frontend-nginx-service: `BACKEND_SERVICE_HOST` → `172.17.173.109` | 2026-03-09 | ✅ |
|
||||
|
||||
### 0309 部署已清零项
|
||||
|
||||
| # | 变更内容 | 部署日期 | 结果 |
|
||||
|
||||
@@ -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 @@
|
||||
|
||||
## 部署成果一览
|
||||
|
||||
### 服务版本对比
|
||||
### 服务版本对比(最终态)
|
||||
|
||||
| 服务 | 部署前 | 部署后 | 变更类型 |
|
||||
|------|--------|--------|---------|
|
||||
| PostgreSQL(RDS) | 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/心跳) |
|
||||
| 服务 | 当日部署前 | 当日部署后(最终) | 说明 |
|
||||
|------|-----------|-------------------|------|
|
||||
| PostgreSQL(RDS) | 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 Prompt(PLANNER + 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 | 2(PLANNER + 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-2:Agent 结构化错误处理增强(20+ 模式匹配 + format_agent_error)
|
||||
- ✅ R-3:AST 语法预检(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-1:Deep Research V2.0 历史列表 + 删除接口 + getTask 鉴权修复
|
||||
- ✅ BE-2:SR 相关路由增加 `requireModule('ASL_SR')` 中间件
|
||||
- ✅ BE-3:Unifuncs DeepSearch API S2 → S3(新增 `language: "zh"`)
|
||||
- ✅ BE-4:RVW 数据验证增加 LLM 核查通道
|
||||
- ✅ BE-5:RVW 新增临床专业评估维度(ClinicalAssessmentSkill)
|
||||
- ✅ BE-6:RVW 稳定性增强(Promise.allSettled + partial_completed)
|
||||
- ✅ BE-7:DataForensicsSkill LLM 核查独立 60s 超时
|
||||
- ✅ BE-8:SSA Agent 通道体验优化(方案 B + 10 项 Bug 修复)
|
||||
- ✅ BE-9:Phase 5A CoderAgent 防错护栏(4 项改动)
|
||||
- ✅ BE-10:SSA Agent Prompt 接入运营管理端(三级容灾)
|
||||
- ✅ BE-11:IIT eQuery 幂等写入 + 去重工具脚本
|
||||
- ✅ BE-12:IIT 事件名称友好化 + 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-1:ASL 左侧导航栏重构为互斥手风琴
|
||||
- ✅ FE-2:Deep Research 历史记录功能
|
||||
- ✅ FE-3:Panel B SR 工具导航权限控制
|
||||
- ✅ FE-4:RVW 数据验证报告增加 LLM 核查结果展示
|
||||
- ✅ FE-5:RVW 新增临床专业评估 Tab + Agent 选择项
|
||||
- ✅ FE-6:RVW 前端支持 partial_completed 状态
|
||||
- ✅ FE-7:SSA Agent 通道体验优化(方案 B + 动态 UI)
|
||||
- ✅ FE-8:SSA 默认 Agent 模式 + 查看代码修复 + 分析历史卡片
|
||||
- ✅ FE-9:IIT 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
|
||||
> **维护人员**:开发团队
|
||||
|
||||
Reference in New Issue
Block a user