Files
AIclinicalresearch/docs/[AI对接] 项目状态与下一步指南.md
HaHafeng 88cc049fb3 feat(asl): Complete Day 5 - Fulltext Screening Backend API Development
- Implement 5 core API endpoints (create task, get progress, get results, update decision, export Excel)
- Add FulltextScreeningController with Zod validation (652 lines)
- Implement ExcelExporter service with 4-sheet report generation (352 lines)
- Register routes under /api/v1/asl/fulltext-screening
- Create 31 REST Client test cases
- Add automated integration test script
- Fix PDF extraction fallback mechanism in LLM12FieldsService
- Update API design documentation to v3.0
- Update development plan to v1.2
- Create Day 5 development record
- Clean up temporary test files
2025-11-23 10:52:07 +08:00

20 KiB
Raw Blame History

[AI对接] 项目状态与下一步指南

更新时间: 2025-11-12 18:00
当前阶段: Week 1 完成79%Week 2 Day 6 完成33%
总体进度: 13/25 任务完成52%
下一步: Week 2 Day 7 - 完善模块注册机制


📋 项目概况5分钟了解

项目名称

AI临床研究平台 - 覆盖医学科研全流程的智能化平台

核心目标

打造8个业务模块优先开发3个核心模块

  1. ASL - AI智能文献Week 3-4开发最高优先级
  2. AIA - AI智能问答已有技术验证代码后续重写
  3. PKB - 个人知识库(已有技术验证代码,后续重写)

技术栈

后端:

  • Node.js + Fastify + TypeScript
  • PostgreSQL 15+ (10个Schema隔离)
  • Prisma ORM (多Schema支持)
  • 4个LLMDeepSeek-V3、GPT-5-Pro、Claude-4.5、Qwen-Max

前端:

  • Frontend-v2新架构2025-11-12创建
    • React 19 + TypeScript + Vite
    • Ant Design 5 + Tailwind CSS 3
    • 模块化架构6个业务模块
    • 顶部导航布局
  • Frontend旧代码保留作为参考不再开发

数据库:

  • PostgreSQL 15+
  • 10个Schema隔离3个详细+7个空
  • 11个表已迁移完成

🎯 当前架构状态

数据库架构 已完成

10个Schema3详细+7空

Schema 状态 表数量 说明
platform_schema 详细 1 用户管理
aia_schema 详细 5 AI智能问答已迁移
pkb_schema 详细 5 个人知识库(已迁移)
asl_schema 📋 0 AI智能文献Week 3设计
common_schema 📋 0 通用能力层
dc_schema 📋 0 数据清洗
rvw_schema 📋 0 审稿系统
admin_schema 📋 0 运营管理
ssa_schema 📋 0 智能统计分析
st_schema 📋 0 统计分析工具

Schema迁移 100%成功Prisma已配置现有功能正常运行


前端架构 框架完成

Frontend-v2项目结构

frontend-v2/
├── src/
│   ├── framework/          # ✅ 框架层
│   │   ├── layout/         # 顶部导航+主布局
│   │   └── modules/        # 模块注册中心
│   │
│   ├── modules/            # 📦 6个业务模块
│   │   ├── aia/            # AI问答占位
│   │   ├── asl/            # AI智能文献Week 3开发
│   │   ├── pkb/            # 知识库(占位)
│   │   ├── dc/             # 数据清洗(占位)
│   │   ├── ssa/            # 智能统计分析(外部集成)
│   │   └── st/             # 统计分析工具(外部集成)
│   │
│   ├── shared/             # 共享资源
│   ├── pages/              # 首页
│   └── App.tsx
│
└── 配置文件 ✅

访问地址: http://localhost:3000


后端架构 待分层

当前状态: 代码平铺,功能正常 计划: Week 2 Day 8-9 进行轻度分层重构

backend/
└── src/
    ├── platform/     # 📋 待创建:认证、用户管理
    ├── common/       # 📋 待创建:中间件、工具函数
    └── modules/      # 📋 待创建aia/pkb/asl等模块

已完成工作Week 1 + Week 2 Day 6

Week 1数据库Schema隔离

任务 状态 交付物
Schema架构设计 09-架构实施/01-Schema隔离架构设计10个.md
SQL迁移脚本编写 5个SQL脚本001-005
执行Schema迁移 10个Schema创建11个表迁移
Prisma多Schema配置 backend/prisma/schema.prisma已更新
功能验证 所有API正常工作无需修改代码
AIA数据库文档 03-业务模块/AIA-AI智能问答/02-技术设计/01-数据库设计.md
PKB数据库文档 03-业务模块/PKB-个人知识库/02-技术设计/01-数据库设计.md

核心发现: Prisma自动处理Schema路由代码无需修改🎉


Week 2 Day 6前端架构

任务 状态 交付物
前端架构设计 00-系统总体设计/前后端模块化架构设计-V2.md867行
Frontend-v2创建 全新项目,模块化架构
顶部导航实现 6个模块导航
模块注册系统 moduleRegistry.ts
6个模块占位 所有模块目录和组件
首页和路由 HomePage + 动态路由

🚀 下一步工作(明确且具体)

立即开始Week 2 Day 7

任务17实现模块注册机制 半天

  • 完善权限控制逻辑
  • 实现错误边界
  • 优化模块加载机制

任务18整合和测试 半天

  • 测试所有导航功能
  • 优化UI细节
  • 添加面包屑导航(可选)

后续计划Week 2-4

Week 2 Day 8-9后端代码分层 1-2天

  • 创建 platform/common/modules 三层目录
  • 迁移现有代码
  • 统一错误处理和日志

Week 3-4ASL模块开发 2周最重要

  • Day 1上午4个LLM集成测试
  • Day 1下午ASL数据库设计asl_schema
  • Day 2ASL API + 前端页面设计
  • Day 3-5 + Week 4ASL核心功能开发
    • 文献项目管理
    • 文献导入CSV
    • 4模型智能筛选DeepSeek + GPT-5 + Claude-4.5 + Qwen
    • 筛选结果管理

📚 必读核心文档5个

1. 项目计划

docs/08-项目管理/下一阶段行动计划-V2.2-完整版.md

  • 完整的4周开发计划
  • 25项详细任务清单
  • 实时进度追踪

2. 架构设计

docs/00-系统总体设计/前后端模块化架构设计-V2.md

  • 前后端完整目录结构
  • 模块化设计规范
  • 开发流程和规范

3. Schema设计

docs/09-架构实施/01-Schema隔离架构设计10个.md

  • 10个Schema详细设计
  • SQL建表语句
  • 迁移策略

4. 数据库文档

AIA数据库 docs/03-业务模块/AIA-AI智能问答/02-技术设计/01-数据库设计.md PKB数据库 docs/03-业务模块/PKB-个人知识库/02-技术设计/01-数据库设计.md

5. LLM配置

docs/02-通用能力层/01-LLM大模型网关/03-CloseAI集成指南.md

  • 4个LLM配置DeepSeek/GPT-5/Claude-4.5/Qwen
  • CloseAI API Keysk-cu0iepbXYGGx2jc7BqP6ogtSWmP6fk918qV3RUdtGC3Edlpo
  • 双模型筛选策略

🔑 关键技术信息

数据库连接

DATABASE_URL=postgresql://postgres:postgres@localhost:5432/ai_clinical_research

API端口

CloseAI配置

# OpenAI (GPT-5-Pro)
CLOSEAI_API_KEY=sk-cu0iepbXYGGx2jc7BqP6ogtSWmP6fk918qV3RUdtGC3Edlpo
CLOSEAI_OPENAI_BASE_URL=https://api.openai-proxy.org/v1

# Claude (Claude-4.5-Sonnet)
CLOSEAI_CLAUDE_BASE_URL=https://api.openai-proxy.org/anthropic

可用模型:

  • OpenAI: gpt-5-pro
  • Claude: claude-sonnet-4-5-20250929

💡 重要决策和发现

决策1前端架构调整V2.2版核心)

决策: 前端统一架构提前到Week 2LLM网关推迟到Week 5 原因: 避免ASL开发后返工前端架构是真正的瓶颈

决策2创建Frontend-v2不修改旧代码

决策: 全新创建frontend-v2项目保留旧frontend作为参考 原因: 彻底的架构改造,互不干扰,降低风险

决策3后端代码轻度分层

决策: platform/common/modules三层架构 时机: Week 2 Day 8-9不急于Week 1

发现1Prisma自动处理Schema路由 🎉

发现: Schema迁移后代码无需修改Prisma自动路由到正确Schema 影响: 节省了任务11代码适配的3-4小时

发现210个Schema一次性完成更高效

决策: 3个详细迁移 + 7个空Schema只CREATE SCHEMA 原因: 额外成本仅6小时架构一次到位避免二次迁移


📊 项目文件位置导航

核心规划文档

docs/
├── 08-项目管理/
│   └── 下一阶段行动计划-V2.2-完整版.md    ⭐⭐⭐ 必读!
│
└── 00-系统总体设计/
    └── 前后端模块化架构设计-V2.md        ⭐⭐⭐ 必读!

数据库相关

docs/
├── 09-架构实施/
│   ├── 01-Schema隔离架构设计10个.md  ⭐⭐ 详细设计
│   ├── 02-数据库连接配置.md              ⭐ 连接信息
│   ├── Schema迁移完成报告.md              ✅ 已完成
│   ├── Prisma配置完成报告.md              ✅ 已完成
│   └── migration-scripts/                ✅ 5个SQL脚本
│
└── 03-业务模块/
    ├── AIA-AI智能问答/02-技术设计/
    │   └── 01-数据库设计.md                ✅ 5个表
    └── PKB-个人知识库/02-技术设计/
        └── 01-数据库设计.md                ✅ 5个表

前端架构

docs/
└── 01-平台基础层/06-前端架构/
    ├── 01-前端总体架构设计.md             ⭐⭐ 理论设计
    └── 02-导航结构设计.md                 ⭐⭐ 导航规范

LLM配置

docs/
├── 02-通用能力层/01-LLM大模型网关/
│   └── 03-CloseAI集成指南.md             ⭐⭐⭐ 4个LLM
│
└── 07-运维文档/
    ├── 01-环境配置指南.md                 ⭐ 所有配置
    └── 02-环境变量配置模板.md             ⭐ .env模板

🔄 快速上手流程

对于新的AI对话

第1步5分钟 阅读本文档

  • 了解项目概况
  • 了解当前进度
  • 了解下一步任务

第2步10分钟 阅读核心文档

  • 下一阶段行动计划-V2.2-完整版.md(了解整体计划)
  • 前后端模块化架构设计-V2.md(了解架构设计)

第3步按需 阅读专项文档

  • 如果要开发数据库读Schema设计文档
  • 如果要开发前端:读前端架构文档
  • 如果要集成LLM读CloseAI集成指南

📋 待办事项To Do List

优先级 P0必须完成

Week 2 剩余任务:

  • 任务17:完善模块注册机制(权限控制)
  • 任务18:整合测试
  • 任务19:后端代码分层(可选)
  • 任务20Week 2验收

Week 3-4 核心任务:

  • 任务214个LLM集成测试
  • 任务22ASL数据库设计asl_schema
  • 任务23ASL API设计
  • 任务24ASL前端页面设计
  • 任务25ASL核心功能开发2周最重要

延后任务

  • ⏸️ 任务12补充API设计文档边开发边完善
  • ⏸️ 任务13Week 1总结验收可与Week 2一起

🎯 关键里程碑

已达成

  • 2025-11-1210个Schema隔离完成
  • 2025-11-12Prisma多Schema配置完成
  • 2025-11-12Frontend-v2项目创建完成
  • 2025-11-12:前端顶部导航和模块注册系统完成

即将达成 🎯

  • 🎯 2025-11-14Week 2完成前端架构+后端分层)
  • 🎯 2025-11-21开始ASL模块开发
  • 🎯 2025-12-04ASL Phase 1完成文献筛选功能

⚠️ 注意事项

1. 前端项目有两个

  • frontend/ - 旧的,保留作为参考,不再开发
  • frontend-v2/ - 新的,主力开发

2. Schema迁移后

  • 数据已100%迁移到新Schema
  • public schema中的原始表仍保留作为备份
  • Prisma已配置代码自动工作
  • ⚠️ 清理public表等Week 2完成后再决定

3. LLM网关

  • 现状各模块直接调用LLMDeepSeek、CloseAI
  • 计划Week 5统一抽取LLM网关
  • 原因:先有实践再抽象,避免过度设计

4. 模块开发优先级

  1. ASLAI智能文献- Week 3-4最高优先级
  2. AIAAI智能问答- Week 5+,后续重写
  3. PKB(个人知识库)- Week 5+,后续重写
  4. 其他模块:按需开发

🔧 常见问题速查

Q1: 如何启动项目?

后端:

cd backend
npm run dev  # 端口 3001

前端(新):

cd frontend-v2
npm run dev  # 端口 3000

Q2: 数据库如何连接?

连接信息:

  • 主机localhost:5432
  • 数据库ai_clinical_research
  • 用户postgres
  • 密码postgres

验证连接:

cd backend
npx prisma migrate status

Q3: 如何添加新模块?

  1. 创建 frontend-v2/src/modules/[模块名]/index.tsx
  2. moduleRegistry.ts 中注册模块
  3. 创建后端 backend/src/modules/[模块名]/ 目录
  4. 设计数据库表在对应的Schema中

Q4: 如何使用CloseAI调用LLM

参考:docs/02-通用能力层/01-LLM大模型网关/03-CloseAI集成指南.md

快速示例:

import OpenAI from 'openai'

// GPT-5
const gpt5 = new OpenAI({
  apiKey: 'sk-cu0iepbXYGGx2jc7BqP6ogtSWmP6fk918qV3RUdtGC3Edlpo',
  baseURL: 'https://api.openai-proxy.org/v1',
})

// Claude-4.5
const claude = new OpenAI({
  apiKey: 'sk-cu0iepbXYGGx2jc7BqP6ogtSWmP6fk918qV3RUdtGC3Edlpo',
  baseURL: 'https://api.openai-proxy.org/anthropic',
})

📈 进度统计

总体进度

  • 总任务: 25项
  • 已完成: 13项52%
  • 进行中: 0项
  • 待完成: 11项
  • 已取消: 1项代码适配Prisma自动处理

时间统计

  • Week 1用时 约5小时原计划2天
  • Week 2 Day 6用时 约3小时原计划半天
  • 提前完成: 节省了约2天时间 🎉

🎉 技术亮点

  1. 10个Schema一次性完成 - 3详细+7空架构预留
  2. Prisma自动路由 - 无需修改代码
  3. 模块化架构 - 前后端完全独立的模块设计
  4. 4个LLM就绪 - DeepSeek、GPT-5、Claude-4.5、Qwen
  5. Frontend-v2 - 全新前端架构,顶部导航+模块注册
  6. Just-in-time设计 - 聚焦当前,架构预留,避免过度设计

💬 给下一个AI的建议

理解项目的最快路径

  1. 先读本文档5分钟 - 了解全貌
  2. 再读V2.2计划15分钟- 了解具体任务
  3. 边做边查专项文档(按需)- 深入细节

继续开发的注意事项

  1. 前端开发:在 frontend-v2/ 中进行,不要改 frontend/
  2. 后端开发当前代码可用Week 2 Day 8-9再分层
  3. 数据库新表创建在对应的Schema中如asl_schema
  4. LLM调用直接使用CloseAIWeek 5再统一网关
  5. 文档同步:开发新功能时同步更新文档

常用命令

# 前端开发
cd frontend-v2
npm run dev

# 后端开发
cd backend
npm run dev

# 数据库
cd backend
npx prisma studio        # 可视化数据库
npx prisma migrate status  # 查看迁移状态
npx prisma generate      # 生成Prisma Client

🗂️ 文档体系结构

docs/
├── [AI对接] 项目状态与下一步指南.md     ⭐⭐⭐ 本文档新AI必读
│
├── 00-系统总体设计/                     # 架构级文档
│   ├── 前后端模块化架构设计-V2.md        ⭐⭐⭐ 架构总纲
│   └── 01-系统架构分层设计.md
│
├── 01-平台基础层/                      # 前端架构
│   └── 06-前端架构/
│       ├── 01-前端总体架构设计.md        ⭐⭐ 理论设计
│       └── 02-导航结构设计.md
│
├── 02-通用能力层/                      # LLM等能力
│   └── 01-LLM大模型网关/
│       └── 03-CloseAI集成指南.md        ⭐⭐⭐ LLM配置
│
├── 03-业务模块/                        # 各模块设计
│   ├── AIA-AI智能问答/
│   ├── ASL-AI智能文献/
│   └── PKB-个人知识库/
│
├── 07-运维文档/                        # 环境配置
│   ├── 01-环境配置指南.md               ⭐ 所有配置
│   └── 02-环境变量配置模板.md
│
├── 08-项目管理/                        # 计划和进度
│   ├── 下一阶段行动计划-V2.2-完整版.md   ⭐⭐⭐ 主计划
│   └── V2.2版本变化说明.md
│
└── 09-架构实施/                        # 实施记录
    ├── 01-Schema隔离架构设计10个.md  ⭐⭐ SQL设计
    ├── Schema迁移完成报告.md             ✅ 已完成
    ├── Prisma配置完成报告.md             ✅ 已完成
    ├── Frontend-v2创建完成报告.md        ✅ 已完成
    └── 模块配置更新报告.md               ✅ 已完成

🚀 如何开始下一步工作

场景1继续Week 2 Day 7

目标: 完善模块注册机制

操作:

  1. 打开 frontend-v2/src/framework/modules/
  2. 实现权限控制逻辑
  3. 添加错误边界
  4. 测试模块加载

参考:

  • docs/08-项目管理/下一阶段行动计划-V2.2-完整版.md任务17-18
  • docs/00-系统总体设计/前后端模块化架构设计-V2.md(权限控制章节)

场景2开始Week 3 ASL开发

前置条件:

  • Week 2 完成(或基本完成)

第一步4个LLM集成测试

  1. 阅读 docs/02-通用能力层/01-LLM大模型网关/03-CloseAI集成指南.md
  2. 测试 DeepSeek、GPT-5、Claude-4.5、Qwen连接
  3. 编写统一调用服务

第二步ASL数据库设计

  1. 参考 AIA/PKB 数据库设计文档
  2. 设计 asl_schema 的3个表
    • literature_projects文献项目
    • pico_configsPICO配置
    • literature_items文献条目含4个模型结果字段
  3. 编写SQL建表语句

第三步ASL API和前端设计

  1. 设计API接口
  2. frontend-v2/src/modules/asl/ 下设计页面结构
  3. 自动接入统一导航

参考:

  • docs/03-业务模块/ASL-AI智能文献/01-需求分析/
  • docs/08-项目管理/下一阶段行动计划-V2.2-完整版.mdWeek 3任务

场景3后端代码分层

时机: Week 2 Day 8-9

操作:

  1. 创建 backend/src/platform/
  2. 创建 backend/src/common/
  3. 创建 backend/src/modules/
  4. 迁移现有代码

参考:

  • docs/00-系统总体设计/前后端模块化架构设计-V2.md(后端架构章节)

📝 开发规范速查

命名规范

前端:

  • 组件PascalCaseProjectList.tsx
  • HookscamelCase + use前缀useProject.ts
  • 工具camelCaseformatDate.ts

后端:

  • ControllercamelCase + Controller后缀projectController.ts
  • ServicecamelCase + Service后缀projectService.ts
  • Routesindex.ts

API设计规范

GET    /api/v1/[module]/resources       # 列表
GET    /api/v1/[module]/resources/:id   # 详情
POST   /api/v1/[module]/resources       # 创建
PUT    /api/v1/[module]/resources/:id   # 更新
DELETE /api/v1/[module]/resources/:id   # 删除

🌟 成功经验总结

架构设计经验

  1. 架构先行 - 花时间在设计上,后续开发事半功倍
  2. Just-in-time - 聚焦当前,架构预留,避免过度设计
  3. 渐进式改造 - 新旧并存,降低风险
  4. 完整文档 - 详细记录决策和实施过程

技术经验

  1. Prisma多Schema - 自动路由,代码无需修改
  2. 模块化架构 - 前后端独立模块,易于扩展
  3. 配置文件格式 - 注意ES Module vs CommonJS
  4. LLM集成 - CloseAI提供稳定的GPT-5和Claude-4.5访问

最后更新: 2025-11-12 18:00
下次更新: Week 2 Day 7 完成后
维护者: 开发团队

🎯 祝新的AI对话顺利所有信息已梳理完毕可以无缝衔接