Files
AIclinicalresearch/docs/03-业务模块/IIT Manager Agent/04-开发计划/MVP开发任务清单.md
HaHafeng dac3cecf78 feat(iit): Complete IIT Manager Agent Day 1 - Environment initialization and WeChat integration
Summary:
- Complete IIT Manager Agent MVP Day 1 (12.5% progress)
- Database: Create iit_schema with 5 tables (IitProject, IitPendingAction, IitTaskRun, IitUserMapping, IitAuditLog)
- Backend: Add module structure (577 lines) and types (223 lines)
- WeChat: Configure Enterprise WeChat app (CorpID, AgentID, Secret)
- WeChat: Obtain web authorization and JS-SDK authorization
- WeChat: Configure trusted domain (iit.xunzhengyixue.com)
- Frontend: Deploy v1.2 with WeChat domain verification file
- Frontend: Fix CRLF issue in docker-entrypoint.sh (CRLF -> LF)
- Testing: 11/11 database CRUD tests passed
- Testing: Access Token retrieval test passed
- Docs: Create module status and development guide
- Docs: Update MVP task list with Day 1 completion
- Docs: Rename deployment doc to SAE real-time status record
- Deployment: Update frontend internal IP to 172.17.173.80

Technical Details:
- Prisma: Multi-schema support (iit_schema)
- pg-boss: Job queue integration prepared
- Taro 4.x: Framework selected for WeChat Mini Program
- Shadow State: Architecture foundation laid
- Docker: Fix entrypoint script line endings for Linux container

Status: Day 1/14 complete, ready for Day 2 REDCap integration
2026-01-01 14:32:58 +08:00

18 KiB
Raw Blame History

IIT Manager Agent MVP 开发任务清单

版本: V1.1(基于架构评审修正版)
时间规划: 2周10个工作日
目标: 打通 REDCap → Node.js → 企微 的完整闭环
参考文档: 02-技术设计/IIT Manager Agent 完整技术开发方案 (V1.1).md


📅 Week 1基础连接层Day 1-5

Day 1环境初始化8小时 已完成2025-12-31 ~ 2026-01-01

数据库初始化4小时

  • 创建 iit_schema 数据库Schema
  • 编写 Prisma Schema
    • IitProject 表含V1.1新增字段cachedRules, lastSyncAt
    • IitPendingAction 表(影子状态)
    • IitTaskRun 表(任务管理)
    • IitUserMapping 表含V1.1新增字段miniProgramOpenId, sessionKey
    • IitAuditLog 表(审计日志)
  • 同步数据库:npx prisma db push
  • 生成 Prisma Clientnpx prisma generate
  • 验证编写测试CRUD操作test-iit-database.ts

验收标准

  • 5个表全部创建成功
  • Prisma Client可正常导入
  • 测试脚本能执行CRUD11/11测试通过

完成情况

  • Schema定义完整223行类型定义
  • 数据库表创建成功
  • CRUD操作验证通过

企业微信初始化2小时

  • 注册企业微信开发者账号
  • 创建自建应用:IIT Manager Agent
  • 获取并保存凭证:
    • CorpID: ww01cb7b72ea2db83c
    • AgentID: 1000002
    • Secret: F3XqlAqKdcOKHi9pLGv5a2dSUowWbevdcDRrBk2pXLM
  • 配置环境变量到后端 SAE
  • 测试获取Access Token成功

验收标准

  • 企微账号注册成功
  • 能成功获取Access Token
  • 网页授权及JS-SDK授权已获取
  • 可信域名配置成功iit.xunzhengyixue.com

完成情况

  • 企业微信应用创建成功
  • Access Token获取测试通过test-wechat-push.ts
  • 前端域名验证文件部署成功v1.2
  • 可信域名授权完成

项目初始化2小时

  • 创建模块目录结构
    backend/src/modules/iit-manager/
    ├── controllers/
    ├── services/
    ├── agents/
    ├── adapters/
    ├── routes/
    └── types/
    
  • 配置路由前缀:/api/v1/iit
  • 配置健康检查端点
  • 创建基础类型定义223行

验收标准

  • 目录结构完整
  • 路由骨架已创建
  • 类型定义完整

完成情况

  • 模块目录结构创建完成
  • types/index.ts 完整定义223行
  • 路由骨架创建(routes/index.ts
  • 主模块入口创建(index.ts

📊 Day 1 完成总结

实际完成时间2025-12-31 ~ 2026-01-01
任务完成度11/11100%
关键成果

  1. 数据库Schema创建iit_schema5个表
  2. Prisma Schema编写223行类型定义
  3. 模块目录结构创建
  4. 企业微信应用注册和配置
  5. 企业微信Access Token获取成功
  6. 企业微信可信域名配置成功iit.xunzhengyixue.com
  7. 前端域名验证文件部署v1.2

重要里程碑

  • 🎉 IIT Manager Agent模块正式启动
  • 🎉 企业微信集成基础完成
  • 🎉 网页授权及JS-SDK授权已获取

Day 2REDCap拉取能力🔥 V1.1核心8小时 待开始

REDCap API Adapter4小时

  • 创建 RedcapAdapter.ts
  • 实现 exportRecords() 方法
    • 支持 dateRangeBegin 时间过滤
    • 支持 fields 字段过滤
    • 支持 records 记录过滤
  • 实现 importRecords() 方法(回写数据)
  • 实现 exportMetadata() 方法(获取字段定义)
  • 配置超时和重试机制
  • 编写单元测试

验收标准

  • 能成功拉取REDCap数据测试项目
  • 时间过滤功能正常
  • 单元测试全部通过

SyncManager混合同步模式4小时

  • 创建 SyncManager.ts
  • 实现 initializeSync() 方法
    • Webhook连通性测试
    • 自动选择同步模式
  • 实现 schedulePolling() 方法
    • 使用 pg-boss 的 schedule 功能
    • 配置轮询间隔5分钟或30分钟
  • 实现 handlePoll() 方法
    • 获取上次同步时间(缓存 + 数据库)
    • 拉取增量数据
    • 推送到质控队列
    • 更新同步时间
  • 实现幂等性保护(isDuplicate()
  • 注册 Workeriit:redcap:poll

验收标准

  • 轮询任务能正确调度pg-boss
  • 能拉取增量数据(按时间过滤)
  • 幂等性保护生效(不重复处理)
  • 日志完整记录

Day 3历史数据扫描🔥 V1.1功能补充8小时

BulkScanService全量扫描6小时

  • 创建 BulkScanService.ts
  • 实现 scanAllRecords() 方法
    • 轻量级拉取所有 record_id
    • 智能阈值判断(<50直接处理≥50队列
  • 实现 scanViaQueue() 方法
    • 创建 IitTaskRun 记录
    • 任务拆分每批50条
    • 推送批次任务
  • 实现 processBatch() Worker
    • 加载断点CheckpointService
    • 逐个拉取完整数据
    • 调用质控Agent
    • 每10条保存断点
    • 更新任务统计
  • 实现 scanDirectly() 方法(小批量)
  • 注册 Workeriit:bulk-scan:batch

验收标准

  • 能扫描100条历史数据
  • 断点续传功能正常(模拟中断)
  • 任务进度可查询
  • 大批量任务正确拆分

API端点2小时

  • 创建 POST /api/v1/iit/projects/:id/scan-all
  • 创建 GET /api/v1/iit/tasks/:taskRunId/progress
  • 实现并发扫描检查(防止重复)
  • 编写API文档Swagger

验收标准

  • API端点可正常调用
  • 进度查询返回正确数据
  • 并发保护生效

Day 4Webhook增强作为补充8小时

REDCap External Module4小时

  • 创建EM目录结构
    iit_manager_connector_v1.0.0/
    ├── config.json
    ├── IITManagerConnector.php
    ├── js/
    │   └── ai_assistant.js
    └── README.md
    
  • 编写 config.jsonEM配置
  • 实现 IITManagerConnector.php
    • 实现 redcap_save_record Hook
    • 实现 Webhook 推送
    • HMAC-SHA256 签名
    • 错误日志记录
  • 本地测试Docker REDCap

验收标准

  • EM可成功安装到REDCap
  • 保存记录时触发Hook
  • Webhook签名正确

Node.js Webhook接收器4小时

  • 创建 webhookController.ts
  • 实现 handleRedcapWebhook() 方法
    • 验证签名HMAC-SHA256
    • 防重放攻击5分钟有效期
    • 立即返回200不阻塞REDCap
    • 异步推送质控任务
  • 实现 verifyWebhookSignature() 工具函数
  • 配置路由:POST /api/v1/iit/webhooks/redcap
  • 编写单元测试模拟Webhook

验收标准

  • Webhook签名验证正确
  • 响应时间 < 100ms
  • 异步任务正确入队
  • 单元测试全部通过

Day 5企微集成与测试8小时

企微适配器4小时

  • 创建 WeChatAdapter.ts
  • 实现 getAccessToken() 方法
    • 调用企微API获取token
    • 缓存到 Postgres7000秒
  • 实现 sendMessage() 方法(卡片消息)
  • 实现 sendQualityAlert() 方法(质控预警)
  • 错误处理和重试机制
  • 编写单元测试

验收标准

  • Access Token可正确获取和缓存
  • 能发送卡片消息到企微
  • 质控预警格式正确

端到端测试4小时

  • 场景1Webhook模式测试
    • REDCap保存记录 → Node.js收到Webhook
    • 延迟 < 2秒
  • 场景2轮询模式测试
    • 手动修改REDCap数据 → 轮询拉取到
    • 延迟 < 10分钟
  • 场景3全量扫描测试
    • 触发扫描 → 处理历史数据
    • 断点续传正常
  • 场景4企微通知测试
    • 质控发现问题 → 企微收到卡片
    • 延迟 < 5秒
  • 编写测试报告

验收标准

  • 4个场景全部通过
  • 测试报告完成
  • Week 1 里程碑达成

📅 Week 2AI智能质控Day 6-10

Day 6-7Protocol服务与Dify集成16小时

ProtocolService8小时

  • 创建 ProtocolService.ts
  • 实现 initializeProtocolKnowledgeBase() 方法
    • 上传Protocol PDF到OSS
    • 调用Dify创建Dataset
    • 上传文档到Dify
    • 🔥 预提取关键规则V1.1性能优化)
    • 缓存规则到 cachedRules 字段
  • 实现 extractKeyRules() 方法(私有)
    • 调用Dify提取入排标准
    • 提取关键字段规则
    • 解析JSON结构
  • 实现 checkProtocolCompliance() 方法
    • 优先使用缓存规则(快速路径)
    • 复杂规则调用Dify RAG慢路径
    • 解析AI响应
  • 实现 parseComplianceResult() 方法
  • 错误处理和降级策略

验收标准

  • Protocol可成功上传到Dify
  • 关键规则正确提取和缓存
  • 简单规则检查 < 100ms
  • 复杂规则检查 < 2秒
  • Dify RAG准确率 > 80%

API端点2小时

  • 创建 POST /api/v1/iit/projects(创建项目)
  • 创建 POST /api/v1/iit/projects/:id/protocol上传Protocol
  • 创建 PUT /api/v1/iit/projects/:id/field-mappings(配置映射)
  • 编写API文档

验收标准

  • API端点可正常调用
  • 字段映射配置正确存储

Dify集成测试6小时

  • 准备测试Protocol标准IIT方案
  • 测试入排标准检索
    • 年龄范围18-60岁
    • 性别要求
    • 必填字段
  • 测试复杂规则检索
    • 用药禁忌
    • 合并症排除
  • 调优Dify参数temperature, top_k等
  • 记录测试结果和准确率

验收标准

  • 简单规则准确率 > 95%
  • 复杂规则准确率 > 80%
  • 假阳性率 < 15%

Day 8-9数据质控Agent16小时

DataQualityAgent10小时

  • 创建 DataQualityAgent.ts
  • 实现 checkRecord() 方法
    • 获取项目配置字段映射、Dify DatasetId
    • 提取关键字段值
    • 逐个字段检查合规性
    • 调用ProtocolService检查
    • 收集所有问题
    • 创建影子建议PROPOSED状态
    • 发送企微通知(严重违背)
  • 实现 createPendingActions() 方法(私有)
    • 批量创建影子记录
    • 包含推理过程和证据链
  • 实现 sendWeChatNotification() 方法(私有)
    • 调用WeChatAdapter
    • 格式化质控预警
  • 注册 Workeriit:quality-check
  • 错误处理和重试

验收标准

  • 能检测年龄违背如65岁
  • 能检测性别不符
  • 能检测必填字段缺失
  • 影子记录正确创建
  • 企微通知正确发送
  • Worker可靠处理任务

影子状态管理6小时

  • 创建 PendingActionService.ts
  • 实现 getPendingActions() 方法
    • 分页查询
    • 按状态过滤
    • 按项目过滤
  • 实现 getPendingActionDetail() 方法
    • 返回详细信息
    • 包含证据链
  • 实现 approveAction() 方法
    • 更新状态PROPOSED → APPROVED
    • 调用REDCap API回写数据
    • 更新状态APPROVED → EXECUTED
    • 记录审计日志
  • 实现 rejectAction() 方法
    • 更新状态PROPOSED → REJECTED
    • 记录拒绝原因
    • 记录审计日志
  • API端点
    • GET /api/v1/iit/pending-actions
    • GET /api/v1/iit/pending-actions/:id
    • POST /api/v1/iit/pending-actions/:id/approve
    • POST /api/v1/iit/pending-actions/:id/reject

验收标准

  • 影子建议列表可查询
  • 确认后数据正确回写REDCap
  • 状态流转正确PROPOSED → APPROVED → EXECUTED
  • 审计日志完整

Day 10-12PC Workbench前端24小时

前端骨架8小时

  • 创建前端路由:/iit/workbench
  • 创建主布局组件
    • 顶部导航
    • 侧边栏(项目列表)
    • 内容区
  • 创建任务列表页
    • 表格组件Ant Design Table
    • 状态筛选PROPOSED/APPROVED/REJECTED
    • 分页功能
    • 刷新按钮
  • 创建项目选择器
    • 下拉选择
    • 快速切换

验收标准

  • 路由可正常访问
  • 任务列表可展示
  • 项目切换功能正常

详情对比页10小时

  • 创建详情页面组件
  • 左侧:当前数据展示
    • 字段名 + 当前值
    • 高亮违背字段(红色)
  • 右侧AI建议展示
    • AI建议值
    • 推理过程
    • 证据链Protocol页码
    • 置信度(进度条)
  • 底部:操作按钮
    • [拒绝] 按钮 + 拒绝原因输入
    • [确认] 按钮 + 二次确认
  • 证据链高亮
    • 点击跳转到Protocol PDF
    • 高亮相关文字
  • 实时状态更新
    • WebSocket 或 轮询

验收标准

  • 详情页面布局合理
  • 当前数据与AI建议对比清晰
  • 证据链可点击查看
  • 操作按钮功能正常

交互优化6小时

  • 加载状态Skeleton
  • 错误提示Message/Notification
  • 成功提示(绿色通知)
  • 二次确认Modal
  • 批量操作(多选)
  • 快捷键支持回车确认、ESC关闭
  • 响应式布局(适配不同屏幕)
  • 性能优化
    • 虚拟滚动(大列表)
    • 防抖搜索

验收标准

  • 加载状态友好
  • 错误提示清晰
  • 操作响应流畅
  • 快捷键可用

Day 13影子状态闭环8小时

完整流程测试6小时

  • 场景1年龄违背检测
    • REDCap录入年龄65岁
    • AI检测到违背18-60岁
    • 影子建议创建
    • 企微通知发送
    • Workbench显示建议
    • CRC确认
    • 数据回写REDCap标记为排除
    • 审计日志记录
  • 场景2性别不符检测
  • 场景3必填字段缺失检测
  • 场景4复杂规则检测用药禁忌
  • 场景5拒绝建议流程
  • 性能测试
    • 100条记录批量质控
    • 平均处理时间 < 10秒/条
  • 压力测试
    • 并发10个质控任务
    • 系统稳定运行

验收标准

  • 5个场景全部通过
  • 完整闭环(录入→发现→确认→回写)
  • 审计日志完整
  • 性能指标达标

错误处理测试2小时

  • REDCap连接失败
  • Dify API超时
  • 企微推送失败
  • 数据库连接中断
  • Webhook签名错误
  • 轮询任务失败
  • 断点续传验证

验收标准

  • 所有错误场景有友好提示
  • 系统能自动重试
  • 不影响其他任务执行

Day 14Demo录制与交付8小时

Demo录制3小时

  • 准备Demo脚本5分钟
    场景骨科IIT研究年龄18-60岁
    
    第1分钟背景介绍
    第2分钟问题录入年龄65岁
    第3分钟AI发现企微卡片
    第4分钟人类复核Workbench
    第5分钟价值总结
    
  • 录制视频
    • 屏幕录制
    • 语音讲解
    • 关键节点字幕
  • 视频剪辑和优化

验收标准

  • Demo视频5分钟
  • 流程清晰完整
  • 价值展示到位

文档整理3小时

  • 更新部署文档
  • 编写使用手册
    • 管理员手册(项目配置)
    • CRC手册Workbench使用
    • PI手册企微通知查看
  • 编写API文档完善Swagger
  • 编写故障排查文档

验收标准

  • 文档完整清晰
  • 新人可根据文档上手

技术债务记录2小时

  • 记录已知问题
    • Dify准确率待提升
    • 前端性能可优化
    • 小程序待开发
  • 记录改进建议
    • OCR智能采集Phase 2
    • 任务驱动AgentPhase 2
    • 智能汇报AgentPhase 3
  • 创建技术债务清单
    • 按优先级排序
    • 估算工作量

验收标准

  • 技术债务清单完整
  • 优先级合理
  • MVP可交付

📊 MVP验收标准最终

功能完整性

  • REDCap数据监听Webhook + 轮询)
  • 历史数据全量扫描
  • AI质控检测Dify RAG
  • 影子状态管理
  • 企微卡片通知
  • PC Workbench复核
  • 数据回写REDCap
  • 审计日志记录

技术指标

指标 目标值 验收
Webhook响应时间 < 100ms [ ]
AI质控完成时间 < 30秒 [ ]
企微推送延迟 < 5秒 [ ]
AI准确率 > 80% [ ]
假阳性率 < 15% [ ]
系统可用性 > 99% [ ]

文档完整性

  • 技术方案 V1.1
  • API文档Swagger
  • 部署文档
  • 使用手册3份
  • Demo视频5分钟
  • 技术债务清单

📝 日常开发习惯

每日站会15分钟

  • 昨天完成了什么?
  • 今天计划做什么?
  • 遇到什么阻碍?

每日提交

  • 代码提交至少1次
  • 更新TODO清单
  • 记录开发笔记

每日复盘10分钟

  • 今日完成度?
  • 明日优先级?
  • 需要调整计划?

🎯 关键里程碑

里程碑 时间 目标 状态
🏁 Week 1 完成 Day 5结束 基础连接层打通 [ ]
🏁 Week 2 完成 Day 14结束 MVP完整交付 [ ]
🏁 Demo录制 Day 14 5分钟演示视频 [ ]

创建日期2025-12-31
维护者:开发团队
更新频率:每日
参考文档02-技术设计/IIT Manager Agent 完整技术开发方案 (V1.1).md