feat(iit): Implement real-time quality control system

Summary:

- Add 4 new database tables: iit_field_metadata, iit_qc_logs, iit_record_summary, iit_qc_project_stats

- Implement pg-boss debounce mechanism in WebhookController

- Refactor QC Worker for dual output: QC logs + record summary

- Enhance HardRuleEngine to support form-based rule filtering

- Create QcService for QC data queries

- Optimize ChatService with new intents: query_enrollment, query_qc_status

- Add admin batch operations: one-click full QC + one-click full summary

- Create IIT Admin management module: project config, QC rules, user mapping

Status: Code complete, pending end-to-end testing
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-07 21:56:11 +08:00
parent 0c590854b5
commit 5db4a7064c
74 changed files with 13383 additions and 2129 deletions

View File

@@ -1,10 +1,14 @@
# IIT Manager Agent模块 - 当前状态与开发指南
> **文档版本:** v1.6
> **文档版本:** v2.1
> **创建日期:** 2026-01-01
> **维护者:** IIT Manager开发团队
> **最后更新:** 2026-01-04 🎉 **Dify知识库集成完成 - 混合检索实现**
> **重大里程碑:** ✅ 混合检索架构实现REDCap实时数据 + Dify文档知识库
> **最后更新:** 2026-02-07 🎉 **实时质控系统核心功能开发完成**
> **重大里程碑:**
> - ✅ 2026-02-07**实时质控系统开发完成**pg-boss防抖 + 质控日志 + 录入汇总 + 管理端批量操作)
> - ✅ 2026-02-05**V2.9.1 完整开发计划发布**(双脑架构 + 三层记忆 + 主动性增强 + 隐私合规)
> - ✅ 2026-02-02**REDCap 生产环境部署完成**ECS + RDS + HTTPS
> - ✅ 2026-01-04混合检索架构实现REDCap实时数据 + Dify文档知识库
> **文档目的:** 反映模块真实状态,记录开发历程
---
@@ -27,70 +31,65 @@
IIT Manager Agent研究者发起试验管理助手是一个基于企业微信的主动式AI Agent产品为IIT研究者发起试验提供智能化管理能力。
### 架构设计
- **核心理念**Native Orchestration原生编排+ Dify RAG + Shadow State影子状态
- **核心理念****双脑架构V2.9.1** - SOP 状态机 + ReAct 引擎 + 三层记忆 + 隐私合规
- **双脑路由**
- **左脑SOP 引擎)**:结构化任务执行,写操作必经
- **右脑ReAct 引擎)**:模糊查询,只读不写
- **技术栈**
- 后端Node.js (Fastify) + PostgreSQL (Prisma) + pg-boss
- 前端:微信小程序 (Taro 4.x)
- 前端:企业微信 + 微信小程序 (Taro 4.x)
- 数据源REDCap (EDC系统)
- 通知:企业微信
- AI能力Dify RAG + DeepSeek/Qwen
- AI能力DeepSeek/Qwen + 自研 RAG
### 当前状态
- **开发阶段**:🎉 **Phase 1.5完成 - 混合检索架构实现!**
- **整体完成度**65%Day 1-3 + Phase 1.5完成 + Dify集成完成
- **已完成功能**
- ✅ 数据库Schema创建iit_schema5个表
- ✅ Prisma Schema编写223行类型定义
- ✅ 模块目录结构创建
- ✅ 企业微信应用注册和配置
-企业微信Access Token获取成功
-**企业微信可信域名配置成功**devlocal.xunzhengyixue.com
-**REDCap本地Docker环境部署成功**15.8.0
-**REDCap对接技术方案确定**DET + REST API
-**REDCap测试项目创建**test0102, PID 16, 11条记录
-**REDCap实时集成完成**DET + REST API + WebhookController + SyncManager
-**企业微信推送服务完成**WechatService, 314行
-**企业微信回调处理完成**WechatCallbackController, 501行
-**natapp内网穿透配置成功**https://devlocal.xunzhengyixue.com + 公司备案域名)
-**RedcapAdapter API适配器完成**271行7个API方法
-**WebhookController完成**327行<10ms响应
-**SyncManager完成**398行增量+全量同步
-**Worker注册完成**iit_quality_check, iit_redcap_poll
-**质控Worker完善**(质控逻辑 + 企业微信推送 + 审计日志
-**🎯 端到端测试通过**REDCap → Node.js → 企业微信,<2秒延迟
-**🎯 MVP闭环完全打通**100%消息成功率
-**🚀 Phase 1.5: AI对话集成完成**2026-01-03 & 2026-01-04
- ✅ ChatService集成485行
- ✅ SessionMemory120行上下文记忆
-REDCap数据查询集成queryRedcapRecord, countRedcapRecords
-**Dify知识库集成**queryDifyKnowledge
-**混合检索实现**REDCap实时数据 + Dify文档知识库
-**智能路由**(根据意图自动选择数据源
-意图识别优化(扩充医学关键词库
-数据注入LLM基于真实数据不编造
- ✅ 即时反馈("正在查询"
-**Dify Dataset关联**test0102 → b49595b2-bf71-4e47-9988-4aa2816d3c6f
-**Bug修复**Dify API字段路径错误修正
- ✅ 测试通过5个场景REDCap查询、Dify文档查询、混合查询
- **未开发功能**
- ⏳ Function CallingLLM自主决策- Phase 2
- ⏳ 多项目支持(项目切换)- Phase 2
- ⏳ 文档API上传自动化上传到Dify- Phase 2
- ⏳ 数据质量AgentAI质控逻辑- Phase 2
- ⏳ 任务驱动引擎 - Phase 2
- ⏳ 患者随访Agent - Phase 2
- ⏳ 微信小程序前端 - Phase 3
- ⏳ REDCap双向回写 - Phase 2
- **部署状态**:✅ AI对话正常运行支持REDCap实时数据 + Dify文档查询
- **开发阶段**:🎉 **实时质控系统核心功能开发完成!待端到端测试**
- **整体完成度**
- **基础设施**85%REDCap + 企业微信 + AI 对话 + 实时质控)
- **架构设计**100%V2.9.1 完整开发计划发布
- **代码实现**45%(实时质控系统已实现
#### ✅ 已完成功能(基础设施)
-数据库Schema创建iit_schema9个表 = 原5个 + 新增4个质控表
-Prisma Schema编写扩展至 ~350 行类型定义
-企业微信应用注册和配置
-**REDCap 生产环境部署完成**ECS + RDS + HTTPS
-**REDCap实时集成完成**DET + REST API
-**企业微信推送服务完成**WechatService
-**端到端测试通过**REDCap → Node.js → 企业微信
-**AI对话集成完成**ChatService + SessionMemory
#### ✅ 已完成功能(实时质控系统 - 2026-02-07
-**质控数据库表**iit_qc_logs + iit_record_summary + iit_qc_project_stats + iit_field_metadata
-**pg-boss 防抖机制**WebhookController + singletonKey
-**Worker 双产出**质控日志 + 录入汇总,一次执行两个产出
-**HardRuleEngine 增强**(按表单过滤规则
-**QcService 创建**质控查询服务6 个核心方法
-**ChatService 优化**(优先查询汇总表/质控表,新增录入/质控意图识别
-**管理端批量操作**(一键全量质控 + 一键全量汇总,前后端完整实现
#### ✅ 已完成功能(架构设计 V2.9.1
-**双脑架构设计**SOP 状态机 + ReAct 引擎
-**三层记忆系统设计**(流水账 + 热记忆 + 历史书
-**主动性增强设计**Cron Skill + 用户画像 + 反馈循环
-**隐私合规设计**PII 脱敏中间件 + 审计日志
-**自动化工具设计**AutoMapper REDCap Schema 对齐
-**模块化开发文档**6 份专项文档
#### ⏳ 待实施功能(按 Phase 规划
| Phase | 内容 | 优先级 | 状态 |
|-------|------|--------|------|
| **Phase 1** | 基础工具层ToolsService + HardRuleEngine + AutoMapper | P0 | ✅ 部分完成HardRuleEngine 已实现) |
| **Phase 1.5** | 隐私安全AnonymizerService + PII 脱敏) | **P0 合规必需** | 待开始 |
| **Phase 2** | 实时质控系统QC Worker + QcService + 批量操作) | P0 | ✅ **已完成** |
| **Phase 3** | ReAct 引擎 + 流水账ReActEngine + 反馈循环) | P0 | 待开始 |
| **Phase 4** | 调度系统SchedulerService + Cron Skill + ProfilerService | P1 | 待开始 |
| **Phase 5** | 智能路由IntentService + 多意图处理) | P1 | 待开始 |
| **Phase 6** | 视觉能力VisionService | 延后 | 待开始 |
- **部署状态**:✅ REDCap 生产环境运行中https://redcap.xunzhengyixue.com/
- **已知问题**:无
- **临时措施**
- ⚠️ 使用关键词匹配识别意图Phase 2升级为Function Calling
- ⚠️ SessionMemory基于内存Phase 2改为Redis
- ⚠️ 默认查询第一个active项目Phase 2支持项目选择
- ⚠️ Dify文档通过Web界面手动上传Phase 2开发API自动上传
- ⚠️ 单项目单知识库Phase 2支持多知识库
- ⚠️ UserID从环境变量获取`WECHAT_TEST_USER_ID`- Phase 2改进
- ⚠️ 定时轮询暂时禁用REDCap DET已足够- Phase 2添加
- **开发计划文档**[V2.9.1 综合开发计划](./04-开发计划/IIT%20Manager%20Agent%20V2.6%20综合开发计划.md)
---
@@ -105,6 +104,8 @@ IIT Manager Agent研究者发起试验管理助手是一个基于企业微
| **Day 2REDCap拉取** | ✅ 已完成 | 2026-01-02 | RedcapAdapter(271行) + WebhookController(327行) + SyncManager(398行) |
| **Day 3企微推送** | ✅ 已完成 | 2026-01-03 | WechatService(314行) + WechatCallbackController(501行) + 质控Worker |
| **Phase 1.5AI对话** | ✅ 已完成 | 2026-01-03 & 2026-01-04 | ChatService(485行) + SessionMemory(120行) + Dify集成 |
| **IIT 管理端配置** | ✅ 已完成 | 2026-02-07 | 运营管理端 IIT 项目管理REDCap配置 + 质控规则 + 用户映射 + 知识库) |
| **实时质控系统** | ✅ 已完成 | 2026-02-07 | 4个新表 + pg-boss防抖 + Worker双产出 + QcService + 管理端批量操作 |
| **Day 6-7小程序** | ⏳ 待开始 | - | Taro前端 + 审批界面 |
| **Day 8回写+集成** | ⏳ 待开始 | - | REDCap回写 + 端到端测试 |
| **Day 9-10完善+测试** | ⏳ 待开始 | - | 错误处理 + 日志 + 性能优化 |