# RVW稿件审查模块 - 当前状态与开发指南 > **文档版本:** v3.2 > **创建日期:** 2026-01-07 > **最后更新:** 2026-01-10 > **维护者:** 开发团队 > **当前状态:** ✅ **Phase 1-6 完成,Schema隔离完成,模块95%可用** > **文档目的:** 快速了解RVW模块状态,为新AI助手提供上下文 --- ## 📊 模块概览 ### 基本信息 | 项目 | 信息 | |------|------| | **模块名称** | RVW - 稿件审查系统 (Review) | | **模块定位** | 智能期刊审稿辅助系统(可独立销售) | | **商业价值** | ⭐⭐⭐⭐⭐ 极高 | | **独立性** | ⭐⭐⭐⭐⭐ 极高(用户群完全不同) | | **目标用户** | 期刊初审编辑 | | **开发状态** | ✅ **核心功能100%完成,支持Word导出,已集成到 frontend-v2** | ### 核心目标 > 打造一个**"开箱即用"**的智能审稿工具。编辑上传稿件,系统自动运行双重检查(规范性+方法学),输出可供参考的审稿报告。 > > **核心指标**:上传到出报告 < 2分钟;规范性问题检出率 > 80% ### 功能规格 #### 核心AI能力(已完成 ✅) 1. **稿约规范性评估**(11项标准) - 文题字数、摘要结构、参考文献、图片DPI等 - 基于《中华脑血管病杂志》稿约标准 2. **方法学评估**(3部分,20个检查点) - 科研设计评估(9个检查点) - 统计学方法描述评估(5个检查点) - 统计分析评估(6个检查点) 3. **综合评分 + PICO提取** - 规范性分数(0-100) - 方法学状态(🔴错误 🟡存疑 🟢通过) - PICO结构化提取(P/I/C/O) #### 交互功能(✅ 已完成) | 功能 | 旧版本 | 新版本 | 状态 | |------|--------|--------|------| | 单文件上传 | ✅ | ✅ | ✅ 已完成 | | 批量上传 | ❌ | ✅ | ✅ 已完成 | | 审稿工作台(宽表) | ❌ | ✅ | ✅ 已完成 | | 智能体选择 | 自动 | 用户可选 | ✅ 已完成 | | 批量操作 | ❌ | ✅ | ✅ 已完成 | | 状态筛选 | ❌ | ✅ | ✅ 已完成 | | 历史归档 | ❌ | ✅ | ⏸️ 数据库已支持,UI暂缓 | | 系统设置 | ❌ | ✅ | ⏸️ 暂不开发 | | 登录页面 | ❌ | ⏸️ | ⏸️ 复用平台登录 | | PICO卡片 | ❌ | ✅ | ⏸️ 数据库已支持,UI暂缓 | --- ## 🏗️ 架构状态 ### ✅ 已完成迁移(Modules) ``` 后端(✅ 已完成): backend/src/modules/rvw/ ├── routes/index.ts # v2 API路由(/api/v2/rvw) ├── controllers/reviewController.ts # 控制器(含批量操作、智能体选择) ├── services/ │ ├── reviewService.ts # 核心服务(任务创建、执行) │ ├── editorialService.ts # 稿约规范性评估 │ ├── methodologyService.ts # 方法学评估 │ └── utils.ts # 工具函数 ├── workers/ │ └── reviewWorker.ts # pg-boss异步任务处理 ├── types/index.ts # TypeScript类型定义 └── __tests__/ # API测试脚本 前端(✅ 已完成): frontend-v2/src/modules/rvw/ ├── index.tsx # 模块入口 ├── api/index.ts # API接口 ├── types/index.ts # 类型定义 ├── styles/index.css # 样式文件 ├── pages/ │ └── Dashboard.tsx # 审稿工作台(任务列表、筛选) └── components/ ├── Header.tsx # 页头(上传按钮) ├── Sidebar.tsx # 侧边栏导航 ├── TaskTable.tsx # 任务列表表格 ├── TaskDetail.tsx # 任务详情(进度条+报告+Word导出) ├── EditorialReport.tsx # 稿约规范性报告 ├── MethodologyReport.tsx # 方法学评估报告 ├── AgentModal.tsx # 智能体选择弹窗 └── ScoreRing.tsx # 评分环组件 旧版本(保留兼容): backend/src/legacy/ ├── routes/reviewRoutes.ts # v1 API路由(保留) ├── controllers/reviewController.ts └── services/reviewService.ts Prompt(保持不变): backend/prompts/ ├── review_editorial_system.txt # 稿约评估(266行) └── review_methodology_system.txt # 方法学评估(257行) 数据库(✅ 已完成): - ReviewTask表已添加新字段:selectedAgents, editorialScore, methodologyScore, methodologyStatus, picoExtract, isArchived, archivedAt - ✅ Schema已迁移到 rvw_schema(2026-01-10完成) ``` --- ## 📋 开发进度 | Phase | 任务 | 状态 | 完成日期 | |-------|------|------|---------| | Phase 1 | 后端模块迁移与扩展 | ✅ 已完成 | 2026-01-07 | | Phase 2 | 数据库字段扩展 | ✅ 已完成 | 2026-01-07 | | Phase 3 | 前端重构(frontend-v2) | ✅ 已完成 | 2026-01-07 | | Phase 4 | 集成测试与Bug修复 | ✅ 已完成 | 2026-01-10 | | Phase 5 | 报告导出(Word) | ✅ 已完成 | 2026-01-10 | | Phase 6 | Schema隔离迁移 | ✅ 已完成 | 2026-01-10 | | Phase 7 | 系统设置与归档 | ⏸️ 暂缓 | - | | **总计** | - | **95%** | - | ### Phase 1-5 完成内容 **后端(Phase 1):** - ✅ 创建 `backend/src/modules/rvw/` 模块结构 - ✅ 迁移并优化 reviewService、editorialService、methodologyService - ✅ 实现智能体选择(selectedAgents:editorial/methodology/both) - ✅ 实现批量运行API(batchRunReviewTasks) - ✅ 替换 console.log 为 logger 服务 - ✅ 注册 v2 API路由(/api/v2/rvw) - ✅ 实现 pg-boss 异步任务处理(reviewWorker) **数据库(Phase 2):** - ✅ 添加 selectedAgents 字段(String[]) - ✅ 添加 editorialScore 字段(Float?) - ✅ 添加 methodologyScore 字段(Float?)- 2026-01-10新增 - ✅ 添加 methodologyStatus 字段(String?) - ✅ 添加 picoExtract 字段(Json?) - ✅ 添加 isArchived、archivedAt 字段(归档支持) - ✅ 使用 prisma db push 同步到数据库 **前端(Phase 3):** - ✅ 创建 `frontend-v2/src/modules/rvw/` 模块目录结构 - ✅ 实现 Dashboard 页面(任务列表、筛选、批量操作) - ✅ 实现 TaskDetail 组件(审稿进度条、实时状态轮询) - ✅ 实现 EditorialReport 组件(稿约规范性评估报告) - ✅ 实现 MethodologyReport 组件(方法学评估报告) - ✅ 实现 AgentModal 组件(智能体选择弹窗) - ✅ 注册到 moduleRegistry.ts **集成测试与Bug修复(Phase 4):** - ✅ 修复方法学分数不显示问题(列表页显示"warn"而不是分数) - ✅ 修复只选方法学时详情页不显示报告问题 - ✅ 修复 activeTab 默认值导致的显示问题 - ✅ 完整测试单智能体和双智能体审稿流程 **报告导出(Phase 5):** - ✅ 安装 docx 和 file-saver 库 - ✅ 实现 Word 文档导出功能 - ✅ 支持结构化报告(标题、基本信息表格、稿约规范性、方法学评估) - ✅ 问题和建议使用不同颜色标记 **Schema隔离迁移(Phase 6):** - ✅ 将 review_tasks 表从 public 迁移到 rvw_schema - ✅ 更新 Prisma schema 中的 @@schema 指令 - ✅ 重新生成 Prisma Client - ✅ 验证所有查询和关联正常工作 详细任务清单见:[RVW模块迁移计划](./04-开发计划/RVW模块迁移计划.md) --- ## 🔧 技术依赖 ### 复用的平台能力 | 能力 | 位置 | 用途 | |------|------|------| | **LLM网关** | `@/common/llm/LLMFactory` | AI评估 | | **文档处理** | `ExtractionClient` | Word/PDF文本提取 | | **存储** | `@/common/storage` | 文件存储 | | **日志** | `@/common/logging` | 结构化日志 | | **任务队列** | `jobQueue` | 异步任务处理 | ### LLM模型 | 模型 | 用途 | 说明 | |------|------|------| | DeepSeek-V3 | 默认 | 性价比高,推理能力强 | | DeepSeek-R1 | 备选 | 深度推理 | | Qwen3-72B | 备选 | 中文理解好 | --- ## 📚 相关文档 ### 需求文档 - [智能期刊审稿系统MVP PRD](./01-需求分析/智能期刊审稿系统%20MVP%20产品需求文档.md) - [智能审稿V7原型](./01-需求分析/智能审稿V7.html) - 可直接浏览器打开 ### 开发文档 - [迁移计划(v2.0整合版)](./04-开发计划/RVW模块迁移计划.md) ⬅️ **主要开发文档** ### 参考文档 - [现有系统技术摸底报告](../../00-项目概述/现有系统技术摸底报告.md) - Line 578-748 - [云原生开发规范](../../04-开发规范/08-云原生开发规范.md) - [系统架构分层设计](../../00-系统总体设计/01-系统架构分层设计.md) ### Prompt文件 - [稿约规范性评估标准](./稿约规范性评估标准.txt) - [稿件方法学评估标准](./稿件方法学评估标准.txt) --- ## 🎯 快速开始 ### 访问审稿模块 1. **启动后端** ```bash cd backend npm run dev ``` 2. **启动前端(新版 frontend-v2)** ```bash cd frontend-v2 npm run dev ``` 3. **访问审稿页面** - 打开 `http://localhost:3000` - 点击顶部导航栏的 **"预审稿"** 标签 - 或直接访问 `http://localhost:3000/rvw` 4. **测试流程** - 点击"上传稿件"按钮 - 选择Word/PDF文档(≤5MB) - 选择智能体(稿约规范性/方法学/两者都选) - 点击"运行"按钮 - 等待AI评估完成(约1-2分钟) - 查看评估报告 ### API测试(新版 v2 API) ```http ### 获取任务列表 GET http://localhost:3001/api/v2/rvw/tasks ### 按状态筛选 GET http://localhost:3001/api/v2/rvw/tasks?status=pending ### 上传稿件 POST http://localhost:3001/api/v2/rvw/tasks Content-Type: multipart/form-data # file: 文件 # selectedAgents: ["editorial", "methodology"] ### 运行单个任务 POST http://localhost:3001/api/v2/rvw/tasks/{{taskId}}/run Content-Type: application/json {"selectedAgents": ["editorial", "methodology"]} ### 批量运行任务 POST http://localhost:3001/api/v2/rvw/tasks/batch-run Content-Type: application/json {"taskIds": ["id1", "id2"], "selectedAgents": ["editorial"]} ### 获取任务详情 GET http://localhost:3001/api/v2/rvw/tasks/{{taskId}} ### 获取报告 GET http://localhost:3001/api/v2/rvw/tasks/{{taskId}}/report ``` ### 旧版API(保持兼容) ```http ### 上传稿件(旧API) POST http://localhost:3001/api/v1/review/upload Content-Type: multipart/form-data ``` --- ## ⚠️ 注意事项 ### 对新AI助手 1. ✅ **核心功能已完成**:前后端已迁移到新架构,可正常使用 2. ✅ **已集成到 frontend-v2**:通过顶部导航栏"预审稿"进入 3. ✅ **v2 API 已就绪**:/api/v2/rvw/* 路由可用 4. ✅ **遵循云原生规范**:使用 logger 服务替代 console.log 5. ⚠️ **保留旧API**:v1路由保持兼容,支持旧前端 ### 已完成改造 | 问题 | 改造前 | 改造后 | 状态 | |------|--------|--------|------| | 日志 | console.log | logger服务 | ✅ 已完成 | | 用户认证 | Mock用户ID | getUserId(request) | ✅ 已完成 | | 智能体选择 | 自动 | 用户可选 | ✅ 已完成 | | 批量操作 | 无 | batchRunReviewTasks | ✅ 已完成 | ### 待后续改造 | 问题 | 当前 | 目标 | 优先级 | |------|------|------|--------| | Schema位置 | ✅ rvw_schema | - | ✅ 已完成 | | 任务处理 | ✅ pg-boss | - | ✅ 已完成 | | 报告导出 | ✅ Word (.docx) | PDF优化 | P3 | --- ## 📈 验收标准 根据MVP PRD,验收标准如下: 1. **流程通**:用户能成功上传5个PDF,勾选双模型运行,等待3分钟内,状态全部变为"已完成" 2. **报告准**: - 上传一篇故意删掉"摘要结论"的稿件,规范性智能体必须报错 - 上传一篇故意混淆"t检验"和"卡方检验"的稿件,方法学智能体必须报"存疑"或"错误" 3. **无崩溃**:连续上传20个文件,系统不卡死,不白屏 --- ## 🚀 未来规划 ### ✅ 已完成(2026-01-07 ~ 2026-01-10) - [x] 架构迁移到 modules/rvw(后端) - [x] 架构迁移到 modules/rvw(前端 frontend-v2) - [x] 整合MVP新功能(批量上传、工作台、智能体选择) - [x] 云原生改造(logger服务) - [x] v2 API 路由注册 - [x] 数据库字段扩展 - [x] pg-boss异步任务处理(2026-01-10) - [x] Word报告导出(2026-01-10) - [x] 方法学分数显示修复(2026-01-10) - [x] 单智能体审稿显示修复(2026-01-10) - [x] Schema迁移到 rvw_schema(2026-01-10) ### 后续版本 - [ ] PDF报告导出优化 - [ ] PICO卡片UI实现 - [ ] 历史归档UI实现 - [ ] 登录页面(独立产品时) - [ ] 审稿人管理系统 - [ ] 多轮审稿流程 - [ ] 期刊库管理 - [ ] 独立产品打包 --- **文档版本:** v3.2 **最后更新:** 2026-01-10 **当前状态:** ✅ Phase 1-6 完成,模块95%可用,Schema已隔离 **下一步:** 生产环境部署测试