chore(deploy): record 0310 rollout and reset checklist
Update deployment documents for the 0310 SAE release, including new backend/frontend service IPs, latest image versions, and a fresh 0310 deployment summary. Also reset the pending deployment checklist after successful rollout and include the ASL navigation toggle adjustment. Made-with: Cursor
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# 🚀 AI临床研究平台 - 阿里云SAE最新真实状态记录
|
||||
|
||||
> **文档用途**:记录阿里云SAE服务器最新真实状态 + 每次部署记录
|
||||
> **最后更新**:2026-03-09
|
||||
> **最后更新**:2026-03-10
|
||||
> **维护人员**:开发团队
|
||||
> **说明**:本文档准确记录SAE上所有应用的当前状态,包括内网地址、镜像版本、用户名密码等关键资源信息
|
||||
|
||||
@@ -11,10 +11,10 @@
|
||||
|
||||
| 服务名称 | 部署状态 | 镜像版本 | 部署位置 | 最后更新时间 |
|
||||
|---------|---------|---------|---------|-------------|
|
||||
| **PostgreSQL数据库** | ✅ 运行中 | PostgreSQL 15 + 插件 | RDS | 2026-03-09 |
|
||||
| **前端Nginx服务** | ✅ 运行中 | **v2.7** | SAE | 2026-03-09 |
|
||||
| **PostgreSQL数据库** | ✅ 运行中 | PostgreSQL 15 + 插件 | RDS | 2026-03-10 |
|
||||
| **前端Nginx服务** | ✅ 运行中 | **v2.8** | SAE | 2026-03-10 |
|
||||
| **Python微服务** | ✅ 运行中 | **v1.2** | SAE | 2026-02-27 |
|
||||
| **Node.js后端** | ✅ 运行中 | **v2.10** | SAE | 2026-03-09 |
|
||||
| **Node.js后端** | ✅ 运行中 | **v2.11** | SAE | 2026-03-10 |
|
||||
| **R统计引擎** | ✅ 运行中 | **v1.0.5** | SAE | 2026-03-09 |
|
||||
| **Dify AI服务** | ⚠️ 已废弃 | - | - | 使用pgvector替代 |
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
|---------|---------|---------|---------|
|
||||
| **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.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` |
|
||||
| **ai-clinical_frontend-nginx** | **v2.8** | ~100MB | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v2.8` |
|
||||
| **backend-service** | **v2.11** | ~900MB | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v2.11` |
|
||||
|
||||
---
|
||||
|
||||
@@ -91,7 +91,7 @@ postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyun
|
||||
|
||||
| 数据库 | 环境 | Schema数量 | 表数量 | 插件 | 用途 |
|
||||
|--------|------|-----------|-------|------|------|
|
||||
| `ai_clinical_research_test` | 测试环境(当前) | 16 | **86** | pg_bigm, pgvector | SAE测试环境(24个迁移已应用) |
|
||||
| `ai_clinical_research_test` | 测试环境(当前) | 16 | **86** | pg_bigm, pgvector | SAE测试环境(26个迁移已应用) |
|
||||
| `ai_clinical_research` | 生产环境(备用) | 11 | ~34 | pg_bigm, pgvector | 未来正式上线 |
|
||||
|
||||
**Schema架构**(16个业务Schema - 测试数据库):
|
||||
@@ -129,8 +129,8 @@ postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyun
|
||||
|---------|------|------|-------|------|---------|---------|
|
||||
| **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.109:3001` | **v2.10** |
|
||||
| **frontend-nginx-service** | ✅ 运行中 | 0.5核1GB | 1 | 80 | `http://172.17.197.27:80` | **v2.7** |
|
||||
| **nodejs-backend-test** | ✅ 运行中 | **2核4GB** | 1 | 3001 | `http://172.17.173.110:3001` | **v2.11** |
|
||||
| **frontend-nginx-service** | ✅ 运行中 | 0.5核1GB | 1 | 80 | `http://172.17.197.28:80` | **v2.8** |
|
||||
|
||||
**环境变量配置**:
|
||||
|
||||
@@ -191,7 +191,7 @@ LEGACY_MYSQL_DATABASE=xzyx_online
|
||||
|
||||
**前端Nginx(frontend-nginx-service)**:
|
||||
```bash
|
||||
BACKEND_SERVICE_HOST=172.17.173.109
|
||||
BACKEND_SERVICE_HOST=172.17.173.110
|
||||
BACKEND_SERVICE_PORT=3001
|
||||
```
|
||||
|
||||
@@ -259,11 +259,11 @@ TEMP_DIR=/tmp/extraction_service
|
||||
|
||||
### 3.2 前端Nginx服务
|
||||
|
||||
**当前部署版本**:v2.7
|
||||
**当前部署版本**:v2.8
|
||||
|
||||
**镜像信息**:
|
||||
- **仓库名称**:`ai-clinical_frontend-nginx`
|
||||
- **镜像版本**:`v2.7` ✅(当前部署版本)
|
||||
- **镜像版本**:`v2.8` ✅(当前部署版本)
|
||||
- **镜像大小**:约50MB
|
||||
- **基础镜像**:`nginx:alpine`
|
||||
- **构建时间**:2026-03-05
|
||||
@@ -271,7 +271,7 @@ TEMP_DIR=/tmp/extraction_service
|
||||
|
||||
**部署状态**:
|
||||
- ✅ 已成功部署到SAE(2026-03-05)
|
||||
- ✅ 服务运行正常(内网地址:http://172.17.197.27:80)
|
||||
- ✅ 服务运行正常(内网地址:http://172.17.197.28:80)
|
||||
- ✅ 企业微信域名验证文件已部署(WW_verify_YnhsQBwI0ARnNoG0.txt)
|
||||
|
||||
**v2.5版本更新内容**:
|
||||
@@ -293,11 +293,11 @@ AIclinicalresearch/frontend-v2/
|
||||
|
||||
### 3.3 Node.js后端服务
|
||||
|
||||
**当前部署版本**:v2.10
|
||||
**当前部署版本**:v2.11
|
||||
|
||||
**镜像信息**:
|
||||
- **仓库名称**:`backend-service`
|
||||
- **镜像版本**:`v2.10` ✅(已部署)
|
||||
- **镜像版本**:`v2.11` ✅(已部署)
|
||||
- **镜像大小**:~838MB
|
||||
- **基础镜像**:`node:alpine`
|
||||
- **构建时间**:2026-03-05
|
||||
@@ -314,7 +314,7 @@ AIclinicalresearch/frontend-v2/
|
||||
|
||||
**部署状态**:
|
||||
- ✅ 已成功部署到SAE(2026-03-05)
|
||||
- ✅ 服务运行正常(内网地址:http://172.17.173.109:3001)
|
||||
- ✅ 服务运行正常(内网地址:http://172.17.173.110:3001)
|
||||
- ✅ 健康检查通过
|
||||
|
||||
**Git文件结构**:
|
||||
@@ -364,6 +364,29 @@ AIclinicalresearch/extraction_service/
|
||||
|
||||
## 🔄 四、部署历史记录
|
||||
|
||||
### 2026-03-10(0310部署 - 用户直授权限体系 + 运营看板增强)
|
||||
|
||||
#### 部署概览
|
||||
- **部署时间**:2026-03-10
|
||||
- **部署范围**:数据库迁移(1项)+ 数据 seed(1项)+ Node.js后端 + 前端Nginx
|
||||
- **主要变更**:用户直授权限、运营埋点与看板增强、AIA附件格式优化、RVW执行链路提速
|
||||
|
||||
#### 数据库更新
|
||||
- ✅ 迁移执行:`20260309_add_user_permissions_table`
|
||||
- ✅ Seed 执行:`ops:user-ops` 权限写入 `platform_schema.permissions`
|
||||
- ✅ 迁移状态:RDS 26/26,Schema Up To Date
|
||||
|
||||
#### Node.js后端更新(v2.10 → v2.11)
|
||||
- ✅ 镜像推送:`backend-service:v2.11`
|
||||
- ✅ 内网地址变更:`172.17.173.109` → `172.17.173.110`
|
||||
|
||||
#### 前端Nginx更新(v2.7 → v2.8)
|
||||
- ✅ 镜像推送:`ai-clinical_frontend-nginx:v2.8`
|
||||
- ✅ 内网地址变更:`172.17.197.27` → `172.17.197.28`
|
||||
- ✅ 环境变量同步:`BACKEND_SERVICE_HOST=172.17.173.110`
|
||||
|
||||
---
|
||||
|
||||
### 2026-03-09(0309二次部署 - DB补迁移 + R修复 + 后端/前端升级)
|
||||
|
||||
#### 部署概览
|
||||
@@ -756,5 +779,5 @@ AIclinicalresearch/extraction_service/
|
||||
---
|
||||
|
||||
> **提示**:本文档记录SAE服务器的最新真实状态,每次部署后必须更新!
|
||||
> **最后更新**:2026-03-09
|
||||
> **当前版本**:前端v2.7 | 后端v2.10 | Python v1.2 | R统计v1.0.5 | PostgreSQL 15
|
||||
> **最后更新**:2026-03-10
|
||||
> **当前版本**:前端v2.8 | 后端v2.11 | Python v1.2 | R统计v1.0.5 | PostgreSQL 15
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
> **用途**: 开发过程中实时记录所有待部署的变更,下次部署时按此清单逐项执行
|
||||
> **维护规则**: 每次修改 Schema / 新增依赖 / 改配置时,**立即**在此文档追加记录
|
||||
> **Cursor Rule**: `.cursor/rules/deployment-change-tracking.mdc` 会自动提醒
|
||||
> **最后清零**: 2026-03-09(0309 二次部署完成后清零)
|
||||
> **本次变更**: 用户直授权限体系 + 运营埋点增强 + 运营看板 MAU/Token + AIA 附件格式优化 + RVW 性能与导出增强(2026-03-10)
|
||||
> **最后清零**: 2026-03-10(0310 部署完成后清零)
|
||||
> **本次变更**: 无(当前待部署清单已清零)
|
||||
|
||||
---
|
||||
|
||||
@@ -16,33 +16,19 @@
|
||||
|
||||
| # | 变更内容 | 迁移文件 | 优先级 | 备注 |
|
||||
|---|---------|---------|--------|------|
|
||||
| DB-1 | 新增 `user_permissions` 用户直授权限表 | `20260309_add_user_permissions_table` | 高 | 支持不依赖角色给单个用户授权(如 `ops:user-ops`),`platform_schema` 下,含外键和唯一约束 |
|
||||
| DB-2 | Seed:`permissions` 表插入 `ops:user-ops` 记录 | `prisma/seed.ts` 或手动 SQL | 高 | DB-1 之后执行;`INSERT INTO platform_schema.permissions (code,name,description,module) VALUES ('ops:user-ops','用户运营','运营管理端用户运营视图权限','ops') ON CONFLICT (code) DO NOTHING;` |
|
||||
| — | *暂无* | | | |
|
||||
|
||||
### 后端变更 (Node.js)
|
||||
|
||||
| # | 变更内容 | 涉及文件 | 需要操作 | 备注 |
|
||||
|---|---------|---------|---------|------|
|
||||
| BE-1 | 认证链路支持用户直授权限合并 | `auth.service.ts`, `auth.middleware.ts` | 重新构建镜像 | `getUserPermissions` 合并 `role_permissions` + `user_permissions`;`requirePermission` / `requireAnyPermission` 两级检查 |
|
||||
| BE-2 | 用户管理 API 新增直授权限读写接口 | `userController.ts`, `userService.ts`, `userRoutes.ts` | 重新构建镜像 | `GET/PUT /api/admin/users/:id/permissions` + `GET /api/admin/users/options/permissions` |
|
||||
| BE-3 | 用户详情 API 返回合并权限 | `userService.ts` (getUserById) | 重新构建镜像 | 详情页权限列表 = 角色权限 ∪ 用户直授权限 |
|
||||
| BE-4 | 运营埋点覆盖 6 大模块 | `deepResearchController.ts`, `reviewController.ts`, `AIController.ts`, `StreamAIController.ts`, `SessionController.ts`, `QuickActionController.ts`, `iitBatchController.ts`, `auth.controller.ts`, `auth.routes.ts` | 重新构建镜像 | ASL/RVW/DC/IIT/AIA/SYSTEM 埋点;DC 模块覆盖上传/流式AI/快速操作/非流式AI 全部 4 个入口 + 前端通用上报接口 `POST /api/v1/auth/activity` |
|
||||
| BE-5 | 运营看板增强(MAU/Token/最活跃用户) | `activity.service.ts`, `statsController.ts` | 重新构建镜像 | `getTodayOverview` 新增 MAU、apiTokenTotal、topActiveUser |
|
||||
| BE-6 | 埋点验证脚本 | `scripts/verify-activity-tracking.ts` | 无需部署 | `npm run test:tracking` 开发/运维自测用 |
|
||||
| BE-7 | AIA 附件格式能力更新(支持 `.xlsx/.csv`,`.doc/.xls` 友好提示) | `modules/aia/services/attachmentService.ts`, `modules/aia/services/conversationService.ts`, `modules/aia/types/index.ts`, `common/document/ExtractionClient.ts` | 重新构建镜像 | `.xlsx/.csv` 走 `document/to-markdown` 灰度解析;统一附件问答护栏,防止引用系统知识库 |
|
||||
| BE-8 | RVW 审稿执行链路提速(4 模块受控并行 + 增量结果持久化) | `modules/rvw/skills/core/profile.ts`, `modules/rvw/skills/core/executor.ts`, `modules/rvw/workers/reviewWorker.ts`, `modules/rvw/controllers/reviewController.ts` | 重新构建镜像 | DataForensics 并入并行组;`maxConcurrency=4`;`getTaskDetail` 返回 `reviewProgress` 与模块级中间结果 |
|
||||
| — | *暂无* | | | |
|
||||
|
||||
### 前端变更
|
||||
|
||||
| # | 变更内容 | 涉及文件 | 需要操作 | 备注 |
|
||||
|---|---------|---------|---------|------|
|
||||
| FE-1 | 运营管理端支持 `ops:user-ops` 权限入口 | `AdminLayout.tsx`, `TopNavigation.tsx` | 重新构建镜像 | 非 SUPER_ADMIN 有 `ops:user-ops` 也可进入运营端 |
|
||||
| FE-2 | 用户创建/编辑页新增"用户运营权限"开关 | `UserFormPage.tsx`, `UserDetailPage.tsx` | 重新构建镜像 | Switch 控件,保存时调 `PUT /api/admin/users/:id/permissions` |
|
||||
| FE-3 | 用户管理 API 层新增权限接口 | `userApi.ts` | 重新构建镜像 | `getUserDirectPermissions` / `updateUserDirectPermissions` / `getPermissionOptions` |
|
||||
| FE-4 | 运营看板展示 MAU/Token/最活跃用户 | `StatsDashboardPage.tsx`, `statsApi.ts` | 重新构建镜像 | 新增 4 个统计卡片 |
|
||||
| FE-5 | 顶部导航点击埋点上报 | `TopNavigation.tsx` | 重新构建镜像 | 点击模块导航时 fire-and-forget 上报 |
|
||||
| FE-6 | AIA 上传交互更新(放开 `.xlsx/.csv`,`.doc/.xls` 友好提示) | `modules/aia/components/ChatWorkspace.tsx`, `modules/aia/constants.ts` | 重新构建镜像 | 上传白名单与提示文案同步后端,附件入口文案更新 |
|
||||
| FE-7 | RVW 任务详情体验增强(先出先看 + 导出补齐数据验证表格) | `modules/rvw/components/TaskDetail.tsx`, `modules/rvw/types/index.ts` | 重新构建镜像 | 审查过程中展示已完成 Tab;Word 导出新增“数据验证”章节(汇总 + 表格明细 + 问题列表) |
|
||||
| — | *暂无* | | | |
|
||||
|
||||
### Python 微服务变更
|
||||
|
||||
@@ -60,7 +46,7 @@
|
||||
|
||||
| # | 变更内容 | 服务 | 变量名 | 备注 |
|
||||
|---|---------|------|--------|------|
|
||||
| — | *暂无*(本次无新增环境变量) | | | |
|
||||
| — | *暂无* | | | |
|
||||
|
||||
### 基础设施变更
|
||||
|
||||
@@ -98,6 +84,16 @@
|
||||
|
||||
## 历史(已部署,仅供追溯)
|
||||
|
||||
### 0310 部署已清零项
|
||||
|
||||
| # | 变更内容 | 部署日期 | 结果 |
|
||||
|---|---------|---------|------|
|
||||
| DB | 新增 `user_permissions` 表(`20260309_add_user_permissions_table`) | 2026-03-10 | ✅ |
|
||||
| DB | Seed 权限 `ops:user-ops` | 2026-03-10 | ✅ |
|
||||
| BE | 后端 v2.10 → v2.11(用户直授权限、运营埋点与看板、AIA 附件与 RVW 提速等) | 2026-03-10 | ✅ |
|
||||
| FE | 前端 v2.7 → v2.8(运营端权限入口、用户运营权限开关、看板增强、AIA/RVW 体验优化) | 2026-03-10 | ✅ |
|
||||
| ENV | frontend-nginx-service: `BACKEND_SERVICE_HOST` → `172.17.173.110` | 2026-03-10 | ✅ |
|
||||
|
||||
### 0309 二次部署已清零项
|
||||
|
||||
| # | 变更内容 | 部署日期 | 结果 |
|
||||
|
||||
71
docs/05-部署文档/0310部署/01-部署完成总结.md
Normal file
71
docs/05-部署文档/0310部署/01-部署完成总结.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# 0310 部署完成总结(v1.0)
|
||||
|
||||
> **部署日期**:2026-03-10
|
||||
> **部署环境**:阿里云 SAE 测试环境(cn-beijing:test-airesearch)
|
||||
> **部署目标**:完成用户直授权限体系相关数据库与应用发布,并完成待部署清单清零
|
||||
|
||||
---
|
||||
|
||||
## 一、部署范围
|
||||
|
||||
### 1) 数据库(RDS PostgreSQL)
|
||||
- 执行迁移:`20260309_add_user_permissions_table`
|
||||
- 执行 seed:向 `platform_schema.permissions` 写入 `ops:user-ops`
|
||||
- 执行顺序:备份 -> 迁移 -> seed -> 验证
|
||||
|
||||
### 2) Node.js 后端
|
||||
- 镜像:`backend-service:v2.11`
|
||||
- SAE 应用:`nodejs-backend-test`
|
||||
- 内网地址:`172.17.173.110:3001`
|
||||
|
||||
### 3) 前端 Nginx
|
||||
- 镜像:`ai-clinical_frontend-nginx:v2.8`
|
||||
- SAE 应用:`frontend-nginx-service`
|
||||
- 内网地址:`172.17.197.28:80`
|
||||
|
||||
---
|
||||
|
||||
## 二、关键变更说明
|
||||
|
||||
### 后端(v2.11)
|
||||
- 用户直授权限链路支持:角色权限 + 用户权限合并鉴权
|
||||
- 运营埋点扩展到核心业务入口,支持更完整运营分析
|
||||
- 运营看板新增 MAU、Token 消耗与活跃用户指标
|
||||
- AIA 附件格式能力与 RVW 执行链路优化同步发布
|
||||
|
||||
### 前端(v2.8)
|
||||
- 运营端入口支持 `ops:user-ops` 授权用户访问
|
||||
- 用户管理页面支持用户运营权限开关与保存
|
||||
- 运营看板展示新增指标卡片
|
||||
- AIA 与 RVW 交互体验优化同步上线
|
||||
|
||||
---
|
||||
|
||||
## 三、环境变量与连通性
|
||||
|
||||
- 前端应用 `frontend-nginx-service` 已同步:
|
||||
- `BACKEND_SERVICE_HOST=172.17.173.110`
|
||||
- `BACKEND_SERVICE_PORT=3001`
|
||||
- 后端到 R 服务地址保持不变:
|
||||
- `R_SERVICE_URL=http://172.17.197.26:8080`
|
||||
|
||||
---
|
||||
|
||||
## 四、部署结果
|
||||
|
||||
- 数据库迁移与 seed:✅ 完成
|
||||
- 后端服务发布:✅ 完成(v2.11)
|
||||
- 前端服务发布:✅ 完成(v2.8)
|
||||
- 待部署清单:✅ 已重置为“暂无”
|
||||
- SAE 最新状态文档:✅ 已更新为 2026-03-10 最新状态
|
||||
|
||||
---
|
||||
|
||||
## 五、回滚参考
|
||||
|
||||
如需回滚,建议按以下顺序执行:
|
||||
1. 前端回滚到 `v2.7`
|
||||
2. 后端回滚到 `v2.10`
|
||||
3. 数据库仅在必要时按备份策略恢复(避免直接回滚结构造成数据不一致)
|
||||
|
||||
本次发布未涉及 R 统计引擎与 Python 微服务版本变更。
|
||||
@@ -20,7 +20,6 @@ import {
|
||||
FolderKanban,
|
||||
Trash2,
|
||||
ListFilter,
|
||||
FileSearch,
|
||||
FileText,
|
||||
BarChart3,
|
||||
TrendingUp,
|
||||
@@ -77,7 +76,8 @@ type PanelType = 'SEARCH' | 'PROJECT';
|
||||
|
||||
const SR_NAV_ITEMS = [
|
||||
{ label: '标题摘要初筛', path: '/literature/screening/title/settings', icon: ListFilter, matchPrefix: '/literature/screening/title' },
|
||||
{ label: '全文复筛', path: '/literature/screening/fulltext/settings', icon: FileSearch, matchPrefix: '/literature/screening/fulltext' },
|
||||
// 临时隐藏:全文复筛入口先不在左侧导航展示
|
||||
// { label: '全文复筛', path: '/literature/screening/fulltext/settings', icon: FileSearch, matchPrefix: '/literature/screening/fulltext' },
|
||||
{ label: '全文智能提取', path: '/literature/extraction/setup', icon: FileText, matchPrefix: '/literature/extraction' },
|
||||
{ label: 'SR 图表生成器', path: '/literature/charting', icon: BarChart3, matchPrefix: '/literature/charting' },
|
||||
{ label: 'Meta 分析引擎', path: '/literature/meta-analysis', icon: TrendingUp, matchPrefix: '/literature/meta-analysis' },
|
||||
|
||||
Reference in New Issue
Block a user