4c6eaaecbf9da225f0c530e5caba66c53866a13d
Summary: - Implement async file upload processing (Platform-Only pattern) - Add parseExcelWorker with pg-boss queue - Implement React Query polling mechanism - Add clean data caching (avoid duplicate parsing) - Fix pivot single-value column tuple issue - Optimize performance by 99 percent Technical Details: 1. Async Architecture (Postgres-Only): - SessionService.createSession: Fast upload + push to queue (3s) - parseExcelWorker: Background parsing + save clean data (53s) - SessionController.getSessionStatus: Status query API for polling - React Query Hook: useSessionStatus (auto-serial polling) - Frontend progress bar with real-time feedback 2. Performance Optimization: - Clean data caching: Worker saves processed data to OSS - getPreviewData: Read from clean data cache (0.5s vs 43s, -99 percent) - getFullData: Read from clean data cache (0.5s vs 43s, -99 percent) - Intelligent cleaning: Boundary detection + ghost column/row removal - Safety valve: Max 3000 columns, 5M cells 3. Bug Fixes: - Fix pivot column name tuple issue for single value column - Fix queue name format (colon to underscore: asl:screening -> asl_screening) - Fix polling storm (15+ concurrent requests -> 1 serial request) - Fix QUEUE_TYPE environment variable (memory -> pgboss) - Fix logger import in PgBossQueue - Fix formatSession to return cleanDataKey - Fix saveProcessedData to update clean data synchronously 4. Database Changes: - ALTER TABLE dc_tool_c_sessions ADD COLUMN clean_data_key VARCHAR(1000) - ALTER TABLE dc_tool_c_sessions ALTER COLUMN total_rows DROP NOT NULL - ALTER TABLE dc_tool_c_sessions ALTER COLUMN total_cols DROP NOT NULL - ALTER TABLE dc_tool_c_sessions ALTER COLUMN columns DROP NOT NULL 5. Documentation: - Create Postgres-Only async task processing guide (588 lines) - Update Tool C status document (Day 10 summary) - Update DC module status document - Update system overview document - Update cloud-native development guide Performance Improvements: - Upload + preview: 96s -> 53.5s (-44 percent) - Filter operation: 44s -> 2.5s (-94 percent) - Pivot operation: 45s -> 2.5s (-94 percent) - Concurrent requests: 15+ -> 1 (-93 percent) - Complete workflow (upload + 7 ops): 404s -> 70.5s (-83 percent) Files Changed: - Backend: 15 files (Worker, Service, Controller, Schema, Config) - Frontend: 4 files (Hook, Component, API) - Docs: 4 files (Guide, Status, Overview, Spec) - Database: 4 column modifications - Total: ~1388 lines of new/modified code Status: Fully tested and verified, production ready
AI科研助手
专注于赋能临床及科研人员的智能化平台
📚 项目文档
📖 文档导航中心
- 📚 完整文档导航 ⭐ 查看所有设计文档和开发规范
🔗 快速链接
- 产品需求文档(PRD) - 了解产品需求
- 技术架构总览 - 了解技术方案
- 数据库设计文档 - 理解数据结构
- API设计规范 - 掌握接口定义
- 开发里程碑 - 查看开发进度
🛠️ 子项目文档
🏗️ 技术栈
前端
- React 18 + TypeScript
- Vite
- TailwindCSS
- Zustand
- LobeChat组件
后端
- Node.js + Fastify + TypeScript
- Prisma ORM
- PostgreSQL
- Redis
第三方服务
- Dify(RAG知识库)
- DeepSeek-V3(主力LLM)
- Qwen3(备用LLM)
✨ 核心功能
1. 智能问答系统
- 基于项目背景的上下文对话
- 支持@知识库引用
- 3种对话模式:RAG快速检索、全文阅读、批处理
2. 知识库管理
- 文档上传与管理(支持PDF/Word/Txt)
- 智能文本提取(Python微服务)
- RAG检索优化(top_k=15, chunk_size=1500)
3. 批处理模式
- 批量提取结构化信息(3-50个文档)
- 预设模板+自定义Prompt
- Excel导出
4. 稿件审查功能 ⭐ 新增
- 双维度智能评估:
- 稿约规范性评估(11个标准)
- 方法学评估(3个部分,20个检查点)
- 完整工作流程:
- Word文档上传(.doc/.docx)
- 实时进度展示
- 详细评估报告
- PDF导出+文本复制
- 多模型支持:DeepSeek-V3 / Qwen3-72B / Qwen-Long
- 独立导航入口:左侧菜单"稿件审查"
5. 12个智能体(规划中)
- ✅ 选题评价智能体(已完成)
- ⏳ 其他11个智能体(计划中)
🚀 快速开始
1. 启动基础服务
# 启动PostgreSQL和Redis
docker-compose up -d
2. 后端开发
cd backend
npm install
npm run dev
3. 前端开发
cd frontend
npm install
npm run dev
📦 目录结构
AIclinicalresearch/
├── frontend/ # 前端项目
├── backend/ # 后端项目
├── docs/ # 项目文档
├── docker-compose.yml # Docker配置
└── README.md # 本文件
🔑 环境变量
请参考 .env.example 文件配置环境变量。
📖 开发指南
请查看 开发里程碑 了解详细的开发计划。
📄 License
MIT
🔗 相关链接
- 📚 文档中心 - 完整的项目文档导航
- ⚙️ 后端项目 - 后端开发指南
- 🎨 前端项目 - 前端开发指南
- 🚀 快速启动指南 - 一步步启动项目
- 🐳 Dify部署方案 - Dify部署指南
当前开发阶段: 里程碑1 - Day 6(前端基础架构)
开发进度: 50% - 前后端基础架构已完成
Description
Languages
TypeScript
83%
Python
6.2%
JavaScript
3.8%
CSS
3.2%
R
2.5%
Other
1.2%