# 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小时)✅ - [x] 创建 `iit_schema` 数据库Schema - [x] 编写 Prisma Schema - [x] IitProject 表(含V1.1新增字段:cachedRules, lastSyncAt) - [x] IitPendingAction 表(影子状态) - [x] IitTaskRun 表(任务管理) - [x] IitUserMapping 表(含V1.1新增字段:miniProgramOpenId, sessionKey) - [x] IitAuditLog 表(审计日志) - [x] 同步数据库:`npx prisma db push` - [x] 生成 Prisma Client:`npx prisma generate` - [x] 验证:编写测试CRUD操作(`test-iit-database.ts`) **验收标准**: - ✅ 5个表全部创建成功 - ✅ Prisma Client可正常导入 - ✅ 测试脚本能执行CRUD(11/11测试通过) **完成情况**: - ✅ Schema定义完整(223行类型定义) - ✅ 数据库表创建成功 - ✅ CRUD操作验证通过 #### 企业微信初始化(2小时)✅ - [x] 注册企业微信开发者账号 - [x] 创建自建应用:`IIT Manager Agent` - [x] 获取并保存凭证: - [x] CorpID: `ww01cb7b72ea2db83c` - [x] AgentID: `1000002` - [x] Secret: `F3XqlAqKdcOKHi9pLGv5a2dSUowWbevdcDRrBk2pXLM` - [x] 配置环境变量到后端 SAE - [x] 测试:获取Access Token成功 **验收标准**: - ✅ 企微账号注册成功 - ✅ 能成功获取Access Token - ✅ **网页授权及JS-SDK授权已获取** - ✅ **可信域名配置成功:iit.xunzhengyixue.com** **完成情况**: - ✅ 企业微信应用创建成功 - ✅ Access Token获取测试通过(`test-wechat-push.ts`) - ✅ 前端域名验证文件部署成功(v1.2) - ✅ 可信域名授权完成 #### 项目初始化(2小时)✅ - [x] 创建模块目录结构 ``` backend/src/modules/iit-manager/ ├── controllers/ ├── services/ ├── agents/ ├── adapters/ ├── routes/ └── types/ ``` - [x] 配置路由前缀:`/api/v1/iit` - [x] 配置健康检查端点 - [x] 创建基础类型定义(223行) **验收标准**: - ✅ 目录结构完整 - ✅ 路由骨架已创建 - ✅ 类型定义完整 **完成情况**: - ✅ 模块目录结构创建完成 - ✅ `types/index.ts` 完整定义(223行) - ✅ 路由骨架创建(`routes/index.ts`) - ✅ 主模块入口创建(`index.ts`) --- ### 📊 Day 1 完成总结 **实际完成时间**:2025-12-31 ~ 2026-01-01 **任务完成度**:11/11(100%) **关键成果**: 1. ✅ 数据库Schema创建(iit_schema,5个表) 2. ✅ Prisma Schema编写(223行类型定义) 3. ✅ 模块目录结构创建 4. ✅ 企业微信应用注册和配置 5. ✅ 企业微信Access Token获取成功 6. ✅ 企业微信可信域名配置成功(iit.xunzhengyixue.com) 7. ✅ 前端域名验证文件部署(v1.2) **重要里程碑**: - 🎉 IIT Manager Agent模块正式启动 - 🎉 企业微信集成基础完成 - 🎉 网页授权及JS-SDK授权已获取 --- ### Day 2:REDCap实时集成(8小时)✅ **已完成(2026-01-02)** #### REDCap API Adapter(4小时)✅ - [x] 创建 `RedcapAdapter.ts`(271行) - [x] 实现 `exportRecords()` 方法 - [x] 支持 `dateRangeBegin` 时间过滤 - [x] 支持 `fields` 字段过滤 - [x] 支持 `records` 记录过滤 - [x] 实现 `importRecords()` 方法(回写数据) - [x] 实现 `exportMetadata()` 方法(获取字段定义) - [x] 配置超时和重试机制 - [x] 编写集成测试脚本 **验收标准**: - ✅ 能成功拉取REDCap数据(test0102项目,PID 16) - ✅ 时间过滤功能正常 - ✅ 集成测试通过(test-redcap-api.ts) **完成情况**: - ✅ RedcapAdapter 实现完整(7个核心方法) - ✅ 支持REDCap REST API v15.8.0 - ✅ API测试验证通过 #### WebhookController + SyncManager(4小时)✅ - [x] 创建 `WebhookController.ts`(327行) - [x] 实现 DET webhook 接收(<10ms响应) - [x] 幂等性检查(防重复处理) - [x] 队列任务推送(iit_quality_check) - [x] 审计日志记录 - [x] 创建 `SyncManager.ts`(398行) - [x] 实现定时轮询机制(pg-boss schedule) - [x] 增量数据拉取(按时间过滤) - [x] 全量数据同步(初始化或修复) - [x] Worker 注册(iit_redcap_poll) - [x] 配置 Fastify 路由 - [x] POST `/api/v1/iit/webhooks/redcap` - [x] POST `/api/v1/iit/projects/:id/sync` - [x] POST `/api/v1/iit/projects/:id/full-sync` - [x] 添加 form-urlencoded 解析器(支持REDCap DET格式) **验收标准**: - ✅ DET实时触发成功(0ms延迟) - ✅ 轮询任务正常调度(pg-boss) - ✅ 幂等性保护生效 - ✅ 审计日志完整 **完成情况**: - ✅ WebhookController响应时间 <10ms - ✅ 集成测试12/12通过 - ✅ 真实场景验证通过(REDCap → Node.js → 队列) - ✅ Docker网络问题解决(host.docker.internal) --- ### 📊 Day 2 完成总结 **实际完成时间**:2026-01-02 **任务完成度**:100% **关键成果**: 1. ✅ RedcapAdapter 实现完整(271行,7个方法) 2. ✅ WebhookController 实现完整(327行,<10ms响应) 3. ✅ SyncManager 实现完整(398行,增量+全量) 4. ✅ Worker注册(iit_quality_check + iit_redcap_poll) 5. ✅ 路由配置(5个API端点) 6. ✅ 集成测试脚本(3个,912行) 7. ✅ 真实场景验证通过 **技术亮点**: - 🔥 REDCap DET实时触发(0ms延迟) - 🔥 Webhook + 轮询双重机制 - 🔥 form-urlencoded格式支持 - 🔥 Postgres-Only架构(pg-boss队列) **参考文档**: - `06-开发记录/Day2-REDCap实时集成开发完成记录.md` --- ### Day 3:企业微信集成(8小时)✅ **已完成(2026-01-02)** #### WechatService(企业微信推送)(2小时)✅ - [x] 创建 `WechatService.ts`(314行) - [x] 实现 Access Token 管理(缓存+自动刷新) - [x] 实现 `sendTextMessage()` 方法 - [x] 实现 `sendMarkdownMessage()` 方法 - [x] 审计日志记录 **验收标准**: - ✅ Access Token 获取成功 - ✅ 消息推送功能正常 - ✅ Token缓存机制生效 **完成情况**: - ✅ Token缓存7200秒,提前5分钟刷新 - ✅ 完整的错误处理和重试 - ✅ 详细的日志记录 #### WechatCallbackController(企业微信回调)(4小时)✅ - [x] 创建 `WechatCallbackController.ts`(501行) - [x] 实现 URL 验证(GET请求) - [x] 实现消息接收(POST请求) - [x] 实现异步回复模式(规避5秒超时) - [x] 实现消息解密(@wecom/crypto) - [x] 实现签名验证(@wecom/crypto) - [x] 实现关键词意图识别 - [x] 实现业务逻辑(汇总、帮助、新患者) **验收标准**: - ✅ URL验证通过 - ✅ 消息解密成功 - ✅ 签名验证通过 - ✅ 异步处理正常 **完成情况**: - ✅ 企业微信开发者调试工具验证通过 - ✅ 返回状态:request: 成功 - ✅ HTTP 200,解密23位字符正确 - ✅ 异步回复模式实现完整 #### 质控Worker完善(1小时)✅ - [x] 完善 `iit_quality_check` Worker - [x] 实现简单质控逻辑 - [x] 实现企业微信通知推送 - [x] 实现通知消息格式化 **验收标准**: - ✅ Worker正常执行 - ✅ 企业微信推送成功 - ✅ 通知格式正确 **完成情况**: - ✅ 质控逻辑实现(基础规则检查) - ✅ 通知消息格式化完成 - ✅ 审计日志记录完整 #### 配置与测试(1小时)✅ - [x] 安装依赖(@wecom/crypto, xml2js) - [x] 配置环境变量(.env) - [x] 配置企业微信路由 - [x] natapp内网穿透配置 - [x] 企业微信URL验证测试 **验收标准**: - ✅ 依赖安装成功 - ✅ 环境变量配置正确 - ✅ URL验证通过 - ✅ natapp隧道在线 **完成情况**: - ✅ @wecom/crypto 和 xml2js 安装完成 - ✅ 环境变量配置验证通过 - ✅ natapp配置成功(http://iit.nat100.top) - ✅ 企业微信调试工具验证通过 --- ### 📊 Day 3 完成总结 **实际完成时间**:2026-01-03 **任务完成度**:100% **关键成果**: 1. ✅ WechatService 实现完整(314行) 2. ✅ WechatCallbackController 实现完整(501行) 3. ✅ 质控Worker企业微信推送功能 4. ✅ 企业微信路由配置(GET + POST) 5. ✅ natapp内网穿透配置成功 6. ✅ 企业微信URL验证测试通过 7. ✅ **端到端测试通过**(REDCap → Node.js → 企业微信) 8. ✅ **Worker注册修复**(`initIitManager()` 调用) 9. ✅ **数据库字段名修复**(`action_type`) 10. ✅ **MVP闭环打通**(<2秒延迟,100%成功率) **技术亮点**: - 🔥 异步回复模式(规避5秒超时) - 🔥 @wecom/crypto正确用法(decrypt 2个参数) - 🔥 签名验证(getSignature) - 🔥 消息解密(XML + AES) - 🔥 natapp内网穿透(https支持) - 🔥 **pg-boss Worker最佳范式**(符合Postgres-Only指南) - 🔥 **审计日志非致命错误处理** **技术难点解决**: 1. ✅ 环境变量名称不一致(WECHAT_CORP_SECRET) 2. ✅ @wecom/crypto导入方式(createRequire) 3. ✅ decrypt函数参数(2个参数,不是4个) 4. ✅ Token字符识别(小写l vs 数字1) 5. ✅ EncodingAESKey重新生成(43位正确格式) 6. ✅ **Worker未注册问题**(`initIitManager()` 未调用) 7. ✅ **数据库字段名错误**(`action` → `action_type`) 8. ✅ **循环发送问题**(pg-boss重试机制导致) **性能指标**: - ⚡ Webhook响应时间:5.8ms(目标<10ms) - ⚡ Worker执行时间:~50ms(目标<100ms) - ⚡ 端到端延迟:<2秒(目标<5秒) - ⚡ 消息发送成功率:100%(测试5次) **参考文档**: - `06-开发记录/Day3-企业微信集成与端到端测试完成记录.md` --- ### ✅ Day 3 已完成任务(端到端测试) - [x] 保存企业微信正式回调URL配置(已配置到企业微信后台) - [x] 配置 `wechat_user_id`(使用环境变量 `WECHAT_TEST_USER_ID=FengZhiBo`) - [x] **端到端测试**(REDCap → 企微推送)✅ **测试通过** - [x] Worker注册修复(`initIitManager()` 在 `src/index.ts` 中调用) - [x] 数据库字段名修复(`action` → `action_type`) - [x] 循环发送问题修复(审计日志错误导致Worker失败重试) - [x] 企业微信推送测试(文本/卡片/Markdown)✅ **全部通过** - [x] 测试对话功能(发送关键词)✅ **Phase 1.5已完成(2026-01-03)** --- ### Day 3:历史数据扫描(🔥 V1.1功能补充)(8小时) #### BulkScanService(全量扫描)(6小时) - [ ] 创建 `BulkScanService.ts` - [ ] 实现 `scanAllRecords()` 方法 - [ ] 轻量级拉取所有 record_id - [ ] 智能阈值判断(<50直接处理,≥50队列) - [ ] 实现 `scanViaQueue()` 方法 - [ ] 创建 IitTaskRun 记录 - [ ] 任务拆分(每批50条) - [ ] 推送批次任务 - [ ] 实现 `processBatch()` Worker - [ ] 加载断点(CheckpointService) - [ ] 逐个拉取完整数据 - [ ] 调用质控Agent - [ ] 每10条保存断点 - [ ] 更新任务统计 - [ ] 实现 `scanDirectly()` 方法(小批量) - [ ] 注册 Worker:`iit: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 4:Webhook增强(作为补充)(8小时) #### REDCap External Module(4小时) - [ ] 创建EM目录结构 ``` iit_manager_connector_v1.0.0/ ├── config.json ├── IITManagerConnector.php ├── js/ │ └── ai_assistant.js └── README.md ``` - [ ] 编写 `config.json`(EM配置) - [ ] 实现 `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 - [ ] 缓存到 Postgres(7000秒) - [ ] 实现 `sendMessage()` 方法(卡片消息) - [ ] 实现 `sendQualityAlert()` 方法(质控预警) - [ ] 错误处理和重试机制 - [ ] 编写单元测试 **验收标准**: - ✅ Access Token可正确获取和缓存 - ✅ 能发送卡片消息到企微 - ✅ 质控预警格式正确 #### 端到端测试(4小时) - [ ] 场景1:Webhook模式测试 - [ ] REDCap保存记录 → Node.js收到Webhook - [ ] 延迟 < 2秒 - [ ] 场景2:轮询模式测试 - [ ] 手动修改REDCap数据 → 轮询拉取到 - [ ] 延迟 < 10分钟 - [ ] 场景3:全量扫描测试 - [ ] 触发扫描 → 处理历史数据 - [ ] 断点续传正常 - [ ] 场景4:企微通知测试 - [ ] 质控发现问题 → 企微收到卡片 - [ ] 延迟 < 5秒 - [ ] 编写测试报告 **验收标准**: - ✅ 4个场景全部通过 - ✅ 测试报告完成 - ✅ Week 1 里程碑达成 --- ## 📅 Week 2:AI智能质控(Day 6-10) ### Day 6-7:Protocol服务与Dify集成(16小时) #### ProtocolService(8小时) - [ ] 创建 `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:数据质控Agent(16小时) #### DataQualityAgent(10小时) - [ ] 创建 `DataQualityAgent.ts` - [ ] 实现 `checkRecord()` 方法 - [ ] 获取项目配置(字段映射、Dify DatasetId) - [ ] 提取关键字段值 - [ ] 逐个字段检查合规性 - [ ] 调用ProtocolService检查 - [ ] 收集所有问题 - [ ] 创建影子建议(PROPOSED状态) - [ ] 发送企微通知(严重违背) - [ ] 实现 `createPendingActions()` 方法(私有) - [ ] 批量创建影子记录 - [ ] 包含推理过程和证据链 - [ ] 实现 `sendWeChatNotification()` 方法(私有) - [ ] 调用WeChatAdapter - [ ] 格式化质控预警 - [ ] 注册 Worker:`iit: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-12:PC 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 14:Demo录制与交付(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) - [ ] 任务驱动Agent(Phase 2) - [ ] 智能汇报Agent(Phase 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分钟演示视频 | [ ] | --- ## 🎉 Phase 1.5 完成总结(2026-01-03 & 2026-01-04) ### **核心成果** - ✅ **AI对话集成**: DeepSeek-V3 + LLMFactory - ✅ **REDCap数据查询**: 基于真实数据回答,解决LLM幻觉 - ✅ **Dify知识库集成** (2026-01-04新增): 研究方案文档查询 - ✅ **混合检索**: 同时支持结构化数据(REDCap)和非结构化文档(Dify) - ✅ **上下文记忆**: SessionMemory保存最近3轮对话 - ✅ **即时反馈**: "正在查询"消息 - ✅ **意图识别**: 关键词匹配(查记录/统计/项目信息/文档查询) - ✅ **智能路由**: 根据意图自动选择数据源(REDCap/Dify) ### **测试验证** - **项目**: test0102 - REDCap PID: 16, 11条记录 - Dify Dataset ID: `b49595b2-bf71-4e47-9988-4aa2816d3c6f` - 文档: 研究方案、CRF表格(2个文件) - **测试场景1**: 查询ID 7患者详细信息(REDCap) - **测试场景2**: 查询研究排除标准(Dify) - **测试场景3**: 查询CRF观察指标(Dify) - **测试场景4**: 统计入组人数(REDCap) - **测试结果**: ✅ 所有场景通过,数据准确,无编造 ### **详细记录** - [Phase 1.5开发计划](./Phase1.5-AI对话能力开发计划.md) - [Phase 1.5开发完成记录 (REDCap)](../06-开发记录/Phase1.5-AI对话集成REDCap完成记录.md) - [Dify知识库集成开发记录](../06-开发记录/2026-01-04-Dify知识库集成开发记录.md) --- **创建日期**:2025-12-31 **最后更新**:2026-01-04 **维护者**:开发团队 **更新频率**:每日 **参考文档**:`02-技术设计/IIT Manager Agent 完整技术开发方案 (V1.1).md`