# **RVW V2.0 融合实施作战计划:架构与功能的统一** **核心策略:** 以“数据侦探”功能为矛,刺穿技术壁垒;以“Skills 架构”为盾,构建系统底座。 **执行原则:** 垂直切片 (Vertical Slice) —— 做深不做宽。 ## **1\. 优先级决策 (Decision Matrix)** 我们不采用“先搭好所有架子再填肉”的瀑布模式,而是采用\*\*“以战养战”\*\*模式。 | | **步骤** | **任务名称** | **涉及层面** | **目标** | **优先级** | | **Step 1** | **Python 核弹头开发** | **Python Service** | 实现 Word 表格提取 \+ 算术/P值验证算法。这是**技术可行性验证**。 | **P0 (立刻开始)** | | **Step 2** | **Skill 接口定义** | **Node.js Backend** | 定义 interface Skill,建立 SkillRegistry。这是**架构地基**。 | **P0 (并行)** | | **Step 3** | **封装 DataForensicsSkill** | **Node.js Backend** | 将 Step 1 的能力装入 Step 2 的壳子。这是**架构落地**。 | **P0** | | **Step 4** | **SOP 引擎对接** | **Node.js Backend** | 让 Review Service 调用新 Skill 而非旧逻辑。 | **P1** | | **Step 5** | **前端可视化** | **Frontend V2** | 在报告页展示结构化的数据错误。 | **P1** | ## **2\. 详细执行路线图 (Execution Roadmap)** ### **Week 1: 攻克核心算力 (Python & Word)** **目标**:输入一个 .docx 文件,Python API 能返回“第几张表第几行算错了”。 * **Day 1: 环境与转换** * 在 python-extraction 镜像中集成 LibreOffice (用于 doc 转 docx)。 * 引入 python-docx, pandas, scipy。 * **Day 2: 提取器开发 (Extractor)** * 编写 DocxTableExtractor。 * 重点攻克:**合并单元格的 Forward Fill** (确保 "Group A" 能覆盖下面所有列)。 * 输出:干净的 Pandas DataFrame List。 * **Day 3: 验证器开发 (Validator)** * 编写 ArithmeticValidator (算术检查:Sum, Percentage)。 * 编写 StatValidator (统计检查:T-test 逆运算)。 * **Day 4: API 封装** * 开放 /api/v1/forensics/analyze\_docx 接口。 * 联调测试:用 5 个真实的 Word 稿件进行测试,看提取准确率。 ### **Week 2: 架构升级与封装 (Node.js & Skills)** **目标**:后端不再写死业务逻辑,而是通过加载 Skill 来执行。 * **Day 5: 定义 Skill 标准** * 创建 backend/src/modules/rvw/skills/core/types.ts。 * 定义 run(context): SkillResult 接口。 * **Day 6: 封装 DataForensicsSkill** * 在 Node.js 中实现这个 Skill。 * 逻辑:Node.js 负责调用 Python 接口 \-\> 拿到 JSON \-\> 这是一个“原子能力”。 * **Day 7: 改造 ReviewService** * 引入 SkillExecutor。 * 修改 createTask 流程:不再直接调用 editorialService,而是从 Profile 中加载 \['DataForensicsSkill', 'EditorialSkill'\] 并依次执行。 * **Day 8: 数据库迁移** * 执行 prisma migrate,支持存储结构化的 Skill 执行结果 (contextData)。 ### **Week 3: 前端呈现与交付 (UI & Delivery)** **目标**:用户看到专业的“数据体检报告”。 * **Day 9: 报告页重构** * 在 TaskDetail 页面增加 "Data Verification" Tab。 * **Day 10: 错误渲染** * 开发“表格定位组件”:当显示“Table 1 算术错误”时,能把后端返回的 Table 数据渲染出来,并高亮错误的单元格。 * **Day 11: 综合联调** * 全流程测试:上传 \-\> Python 计算 \-\> Skill 封装 \-\> 前端展示。 ## **3\. MVP 定义 (本次交付范围)** 为了确保 3 周内能上线,我们需要划定清晰的红线: | **功能** | **MVP (本次交付)** | **V2.1 (后续迭代)** | | **文件格式** | **Word (.docx/.doc)** | PDF, 图片 | | **表格类型** | **三线表 (Standard)** | 极其复杂的嵌套表、跨页断裂表 | | **验证深度** | **L1 (算术) \+ L2 (基础 P 值)** | L3 (回归逻辑), L4 (跨表一致性) | | **Skill 数量** | **1 个 (DataForensics)** | 政治审查、竞品对标、方法学检查 | | **用户界面** | **静态报告展示** | 交互式 Chat 修改 | ## **4\. 立即执行的下一步 (Next Action)** **请按照以下指令启动 Python 端的开发(这是最硬的骨头):** 1. **确认 Python 库**:请让您的 Python 开发人员确认 python-docx 和 scipy 是否已在依赖列表中。 2. **提供测试数据**:请准备 3-5 份典型的中文核心期刊 Word 稿件(脱敏后),放到 backend/test/fixtures 目录下,用于 Day 2 的提取测试。 **您觉得这个“先攻核心,顺带架构”的节奏是否合适?** 如果合适,我们可以先不讨论架构代码,而是直接开始写 Python 的 **表格提取器 (Extractor)** 代码。