Implement RVW V4.0 tenant-aware backend/frontend flow with tenant routing, config APIs, and full portal UX updates. Sync system/RVW/deployment docs to capture verified upload-review-report workflow and next-step admin configuration work. Made-with: Cursor
13 KiB
智能审稿系统 (期刊SaaS版) V4.0 产品需求文档 (PRD)
文档版本: V1.6 (新增统一通行证 SSO 与动态租户登录架构)
制定日期: 2026-03-14
产品名称: RVW 智能审稿系统 (Journal AI Review SaaS)
目标用户: 医学期刊编辑部(主编/责编)、期刊外审专家、投稿作者
核心定位: 为医学期刊量身定制的、支持高度个性化配置的独立 AI 预审稿 SaaS 平台。
💡 MVP 阶段战略提示: 为降低初期开发成本并把控质量,系统初期采用 Managed SaaS(代运营/配置)模式。复杂的底层规则配置由内部运营/实施团队通过现有的 ADMIN 管理端完成。外部期刊客户只需“开箱即用”业务端。
1. 产品背景与目标
1.1 演进背景
当前 RVW 模块(V3.0.1)具备了强大的 4 维审查能力。但与临床科研人员共用平台存在品牌混杂、审查标准缺乏弹性、管理权限缺失等痛点。不同期刊(如英文 SCI 期刊 JTIM vs 中文核心期刊)的稿约规范、重点审查维度截然不同,系统亟需多租户的个性化配置能力。
1.2 产品目标
- SaaS 化业务端升级:引入“租户(Tenant)”隔离,每个期刊作为一个独立租户,拥有独立的子域名、独立登录页、独立品牌标识的业务端工作台。
- 建立完整的期刊工作流:涵盖“作者投递预审 -> 责编复核 -> 勾选重组 -> 导出内部报告/发送作者退修信”。
- 架构收敛的内部配置中枢 (核心):不另起炉灶开发独立配置中心,而是深度扩展现有的 ADMIN 运营管理端。利用现有的租户管理体系(Tenant),实现跨期刊的审稿流水线无缝配置。
- 统一通行证 (SSO):期刊用户与现有临床研究平台用户底层互通,实现跨域无缝漫游,沉淀统一的医生/专家账号体系。
2. 角色与权限体系
| 角色类型 | 典型用户 | 核心权限清单 |
|---|---|---|
| 内部实施/超管 | 壹证循运营团队 | MVP 阶段的核心主导者。拥有 ops:user-ops 及 SUPER_ADMIN 权限。在现有的 ADMIN 端 TenantDetailPage 中,为不同期刊租户编排 Skills 规则、配置动态 Prompt 及 Handlebars 模板。 |
| 期刊主编/管理员 | 期刊编辑部主任 | 纯业务视角。查看本刊数据仪表盘、管理责编账号、查阅本刊所有稿件审查进度。MVP 阶段无需登录底层 ADMIN 端。 |
| 期刊责编 | 期刊审稿编辑 | 登录期刊专属 URL,接收稿件、触发 AI 审查、人工复核确认缺陷项、导出内部报告与给作者的退修信。 |
3. 核心功能需求 (Functional Requirements)
3.1 期刊专属门户与统一通行证 (Business Portal & SSO)
交付给外部期刊责编的核心业务模块。该模块在底层与临床研究主站共用同一套用户体系(platform_schema.users),实现“统一通行证”体验,在表层依靠以下机制实现业务硬隔离:
- 子域名路由区分 (Domain Routing):支持按拼音或缩写生成独立 URL(例:jtim.xunzhengyixue.com)。前端应用初始化时,通过解析 window.location.hostname 自动切入“期刊工作台模式”。
- 动态定制化登录页 (Dynamic Login UI):用户访问子域名时,前端在未登录态下请求该租户的公开配置(公开接口)。据此渲染完全定制化的期刊专属登录页(独立的期刊 Logo、专属品牌色、独立背景图),在视觉上打造完全独立的系统心智。
- 沉浸式 4-Tab 审稿详情页:优先渲染大模型生成的 expert_report_markdown (由内部团队在配置中心编写的 Handlebars 模板渲染而成)。
- 退修信自动生成与双轨导出:基于责编在 AI 找出的“缺陷列表”中的勾选确认项,一键生成语气委婉专业、条理清晰的 Letter to Authors。
3.2 租户审查配置扩展 (ADMIN 模块深度集成) ——
定位说明:直接在现有的运营管理端(ADMIN)的租户详情页 (TenantDetailPage) 中进行能力扩展,实现“千刊千面”。
3.2.1 UI 集成方案:新增“智能审稿配置” Tab
在现有的 TenantDetailPage(目前包含“基础信息”、“模块配置”、“配额管理”等)中,新增一个名为 【智能审稿配置 (RVW Skills)】 的 Tab。内部人员在此进行以下 4 大 Skills 的个性化编排:
- 稿约规范评估 (Editorial Skill) 配置:
- 提取规则维护:列表化维护该期刊的特有规则(如:AI署名检测、摘要字数限制)。
- 一票否决 (Fatal) 设定:勾选致命错误项,触发时直接高亮拦截。
- 方法学评估 (Methodology Skill) 动静分离配置:
- 评判标准配置 (Business Criteria Prompt):自然语言文本框,交代该期刊的特殊审查要求(如:“必须提供 P 值的精确值”)。
- 报告展示模板 (Handlebars Template):利用 ADMIN 现有的模板渲染引擎,配置该期刊最终审查报告的排版样式(如 1、2、3 点列表,或特定专家语气)。
- 数据验证 (Data Forensics Skill) 配置:
- 验证深度下拉选项(L1 算术验证 / L2 统计学验证 / L3 双通道核查)。
- 临床专业评估 (Clinical Skill) 配置:
- FINER 权重配置(5 个输入框控制总和为 100% 的打分权重)。
- 专科特色补充文本。
4. 技术架构影响与底层升级指南
此次升级完美契合平台现有的 Postgres-Only 架构与 ADMIN 模块基建。
4.1 数据模型扩展 (Database Schema)
在 platform_schema 中保持现有的 tenants 表作为核心,新增 1 对 1 扩展表:
- 新增表 tenant_rvw_configs:
- tenant_id (外键,关联 tenants.id)
- editorial_rules (JSONB: 存储稿约规则数组及 fatal 标记)
- methodology_expert_prompt (Text: 专家的业务评判标准)
- methodology_handlebars_template (Text: 报告渲染模板)
- data_forensics_level (Enum: L1/L2/L3)
- finer_weights (JSONB: 临床评估的五维权重)
4.2 Prompt “动静分离” 与双轨输出落地
针对 PromptService 进行架构升级,彻底解决 JSON 崩溃问题:
- 静态协议层 (系统级,不可更改):
- 在 capability_schema.prompt_templates 表中,固化一条名为 RVW_METHODOLOGY_SYSTEM_BASE 的记录。
- 内容写死:强制开启 Structured Output (或 JSON Schema),必须返回 system_metrics (含 20 项检查点状态) 和 expert_report_markdown 两个节点。
- 动态业务层 (租户级,内部运营可调):
- 内容来源于新增的 tenant_rvw_configs 表的 methodology_expert_prompt 字段。
- 运行时拼装 (Runtime Concat):
- SkillExecutor 执行时,先通过 promptService.get('RVW_METHODOLOGY_SYSTEM_BASE') 获取底层系统约束。
- 再拉取当前 tenantId 的动态业务评判标准。
- 内存拼接后发送给 LLM。大模型会根据专家的排版要求,将纯净的格式化文本填充至 expert_report_markdown 字段中。
- 展示层渲染 (Handlebars):
- 结合现有的 Handlebars 渲染器与租户存储的 methodology_handlebars_template,在前端/导出时直接渲染,实现“专家零感知 JSON”。
4.3 接口权限中间件复用
- 内部配置权限:复用现有的 ops:user-ops 与 requireModule 中间件,控制内部人员进入 TenantDetailPage 修改审稿配置。
- 外部业务权限:所有 RVW 业务 API (/api/v2/rvw/*) 复用租户边界校验,确保稿件数据硬隔离。
4.4 统一账号与鉴权体系 (SSO)
为了实现医生专家在“临床科研平台”与“各期刊 SaaS 门户”之间的无缝漫游,架构需遵守以下设计:
- 绝对底层复用:禁止为期刊 SaaS 业务新建独立的用户库,全面复用现有的 platform_schema.users。同一个账号密码,既可登录主站做数据清洗(DC),也可登录 jtim. 子域名进行审稿。
- JWT 会话隔离 (Session Isolation):身份认证层 auth.service.ts 需升级。在签发 JWT 时,后端必须根据登录请求携带的租户上下文(tenantId),将其压入 Payload。系统的 auth.middleware.ts 提取该 tenantId 实现全局请求的行级数据隔离。
- 模块动态过滤 (Module Filtering):依托平台现有的 user_modules 体系,当识别到用户登录在某期刊租户(如 JTIM)下,由于该租户仅订阅了 RVW 模块,系统会自动隐藏左侧/顶部的 AIA、DC、PKB 等所有无关入口,为编辑提供纯粹的沉浸式工作台。
5. 迭代演进路线图 (Roadmap)
通过复用现有的 ADMIN 模块,Phase 2 的前端开发工作量将缩减 50% 以上。
Phase 1: 统一账号隔离与扩展表 (预计 1 周)
- 创建 Prisma 模型 tenant_rvw_configs 并执行迁移。
- 开发基于域名的动态路由拦截器,实现子域名加载特定的登录 UI。
- 升级 JWT 签发逻辑,确保 Token Payload 中正确注入租户上下文。
Phase 2: ADMIN 运营端深度集成 (预计 1.5 周)
- UI 扩展:在 frontend-v2 的 TenantDetailPage.tsx 中新增 【智能审稿配置】Tab 页及对应的表单组件。
- 后端 API:新增 /api/admin/tenants/:id/rvw-config 的 CRUD 接口。
- 引擎改造:重构 SkillExecutor,读取扩展表配置,并落实 Prompt 的“静态系统层 + 动态租户层”拼装逻辑(Hybrid Schema)。
Phase 3: 面向外部的业务端重构及双轨导出 (预计 2 周)
- 沉淀通用英文审稿规范(如 ICJME/COPE 标准)至底层预制规则库。
- 上线 作者退修信 (Author Reply Letter) 一键生成功能。
- 全面跑通独立工作台上的全流程,交付给首批期刊客户(如 JTIM, CMJ)进行 Beta 测试。
6. 验收标准
- 统一账号漫游:用户在主站注册账号后,无需重新注册即可用相同账密登录专属的期刊入口(如 JTIM子域名)。
- 架构收敛:没有开发新的独立配置后台,所有配置均在现有的 ADMIN -> TenantDetailPage 中顺滑完成,权限体系(ops:user-ops)复用良好。
- 极速生效与不冲突:内部实施人员在 TenantDetailPage 修改某期刊的 Handlebars 模板文本。点击保存后,即刻影响客户新上传稿件的最终报告显示排版,且底层的 JSON 解析 100% 成功,系统零崩溃。
- 双轨导出功能:外部责编能够在查阅完全部 AI 评估后,在弹出的窗口中勾选 3 个致命错误,点击“生成退修信”,系统随即利用专属信函模板生成一封精准的专业邮件/Word。