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
This commit is contained in:
2026-01-01 14:32:58 +08:00
parent 4c5bb3d174
commit dac3cecf78
138 changed files with 1190 additions and 941 deletions

View File

@@ -0,0 +1,459 @@
# IIT Manager Agent模块 - 当前状态与开发指南
> **文档版本:** v1.0
> **创建日期:** 2026-01-01
> **维护者:** IIT Manager开发团队
> **最后更新:** 2026-01-01 ✅ **Day 1完成 - 基础环境初始化成功!**
> **重大里程碑:** 企业微信集成基础完成 + 网页授权及JS-SDK授权获取
> **文档目的:** 反映模块真实状态,记录开发历程
---
## 📋 文档说明
本文档是IIT Manager Agent模块的**真实状态快照**,如实记录开发进度、关键配置和当前真实状况。
**与其他文档的关系**
- **本文档00-模块当前状态)**What is真实状态当前进度
- **MVP开发任务清单**What to do开发计划
- **技术设计文档**How to do技术方案
- **开发记录文档**What done历史记录
---
## 🎯 模块概述
### 核心功能
IIT Manager Agent研究者发起试验管理助手是一个基于企业微信的主动式AI Agent产品为IIT研究者发起试验提供智能化管理能力。
### 架构设计
- **核心理念**Native Orchestration原生编排+ Dify RAG + Shadow State影子状态
- **技术栈**
- 后端Node.js (Fastify) + PostgreSQL (Prisma) + pg-boss
- 前端:微信小程序 (Taro 4.x)
- 数据源REDCap (EDC系统)
- 通知:企业微信
- AI能力Dify RAG + DeepSeek/Qwen
### 当前状态
- **开发阶段**:✅ **Day 1完成环境初始化**
- **已完成功能**
- ✅ 数据库Schema创建iit_schema5个表
- ✅ Prisma Schema编写223行类型定义
- ✅ 模块目录结构创建
- ✅ 企业微信应用注册和配置
- ✅ 企业微信Access Token获取成功
-**企业微信可信域名配置成功**iit.xunzhengyixue.com
- ✅ 前端域名验证文件部署v1.2
- **未开发功能**
- ⏳ REDCap API Adapter拉取能力
- ⏳ 数据质量Agent
- ⏳ 任务驱动引擎
- ⏳ 患者随访Agent
- ⏳ 微信小程序前端
- **部署状态**:✅ 数据库表已创建,后端模块骨架已搭建
- **已知问题**:无
---
## 📊 一、当前开发进度
### MVP开发阶段2周10个工作日
| 阶段 | 状态 | 完成时间 | 核心交付物 |
|------|------|---------|-----------|
| **Day 1环境初始化** | ✅ 已完成 | 2026-01-01 | 数据库Schema + 企业微信配置 + 模块骨架 |
| **Day 2REDCap拉取** | ⏳ 待开始 | - | REDCap API Adapter + SyncManager |
| **Day 3质控Agent** | ⏳ 待开始 | - | ComplianceService + DetectionService |
| **Day 4企微推送** | ⏳ 待开始 | - | WechatService + CardGenerator |
| **Day 5影子状态** | ⏳ 待开始 | - | ActionService + 状态机 |
| **Day 6-7小程序** | ⏳ 待开始 | - | Taro前端 + 审批界面 |
| **Day 8回写+集成** | ⏳ 待开始 | - | REDCap回写 + 端到端测试 |
| **Day 9-10完善+测试** | ⏳ 待开始 | - | 错误处理 + 日志 + 性能优化 |
### 当前进度统计
**整体完成度**12.5%1/8天
**已完成任务**
- ✅ 数据库初始化11/11测试通过
- ✅ 企业微信初始化Access Token获取成功
- ✅ 项目初始化(目录结构 + 类型定义)
-**企业微信网页授权及JS-SDK授权获取**
-**可信域名配置iit.xunzhengyixue.com**
**待完成任务**
- ⏳ REDCap API Adapter开发
- ⏳ 数据质量Agent开发
- ⏳ 企业微信消息推送
- ⏳ 影子状态管理
- ⏳ 微信小程序前端
- ⏳ 完整业务流程集成
---
## 🗄️ 二、数据库Schema
### 2.1 Schema信息
- **Schema名称**`iit_schema`
- **数据库**`ai_clinical_research`RDS PostgreSQL 15
- **创建时间**2025-12-31
- **表数量**5个
- **验证状态**:✅ 已创建并验证
### 2.2 表结构
| 表名 | 用途 | 主要字段 | 索引 |
|------|------|---------|------|
| **IitProject** | 项目配置 | id, redcapApiUrl, redcapApiToken, difyAgentUrl | redcapProjectId |
| **IitPendingAction** | 影子状态(待审核动作) | id, projectId, actionType, status | projectId, status |
| **IitTaskRun** | 任务运行记录 | id, projectId, taskType, status | projectId, status |
| **IitUserMapping** | 跨系统用户映射 | id, projectId, redcapUsername, wechatUserId | redcapUsername, wechatUserId |
| **IitAuditLog** | 审计日志 | id, projectId, actionType, operator | projectId, createdAt |
### 2.3 Prisma Schema位置
```
AIclinicalresearch/backend/prisma/schema.prisma
```
**IIT Manager Schema定义**(位于文件末尾):
- 完整的5个表模型定义
- 外键关系配置
- 索引优化
- JSON字段支持
---
## 🔧 三、技术架构
### 3.1 后端技术栈
**核心框架**
- **Node.js**v22.x
- **Web框架**Fastify
- **ORM**Prisma 6.17.0多Schema支持
- **任务队列**pg-bossPostgres-Only架构
- **AI能力**Dify RAGRESTful API
**模块结构**
```
backend/src/modules/iit-manager/
├── index.ts ✅ 主入口(模块注册)
├── types/
│ └── index.ts ✅ 类型定义223行
├── routes/
│ └── index.ts ✅ 路由骨架
├── controllers/ ⏳ 待开发
├── services/ ⏳ 待开发
├── agents/ ⏳ 待开发
└── adapters/ ⏳ 待开发
```
### 3.2 前端技术栈
**微信小程序**
- **框架**Taro 4.xReact语法
- **UI组件**Taro UI / WeUI
- **状态管理**React Hooks
- **开发状态**:⏳ 未开始
### 3.3 企业微信集成
**应用信息**
- **应用名称**`IIT Manager Agent`
- **CorpID**`ww01cb7b72ea2db83c`
- **AgentID**`1000002`
- **Secret**`F3XqlAqKdcOKHi9pLGv5a2dSUowWbevdcDRrBk2pXLM`
**授权配置**
-**网页授权及JS-SDK授权**:已获取
-**可信域名**`iit.xunzhengyixue.com`
-**域名验证文件**已部署前端v1.2
**消息推送能力**
- ✅ Access Token获取测试通过
- ⏳ 文本消息推送:待开发
- ⏳ 卡片消息推送:待开发
- ⏳ 消息模板:待设计
**环境变量配置**Node.js后端SAE
```bash
WECHAT_CORP_ID=ww01cb7b72ea2db83c
WECHAT_AGENT_ID=1000002
WECHAT_AGENT_SECRET=F3XqlAqKdcOKHi9pLGv5a2dSUowWbevdcDRrBk2pXLM
```
---
## 🚀 四、关键里程碑
### 2026-01-01Day 1完成 - 环境初始化 ✅
**完成内容**
1. **数据库初始化**
- ✅ 创建 `iit_schema`
- ✅ 编写 Prisma Schema5个表
- ✅ 同步数据库(`npx prisma db push`
- ✅ 生成 Prisma Client
- ✅ 验证CRUD操作11/11测试通过
2. **企业微信初始化**
- ✅ 注册企业微信开发者账号
- ✅ 创建自建应用
- ✅ 获取并配置凭证CorpID、AgentID、Secret
- ✅ 测试Access Token获取成功
-**获取网页授权及JS-SDK授权**
-**配置可信域名iit.xunzhengyixue.com**
3. **项目初始化**
- ✅ 创建模块目录结构
- ✅ 配置路由前缀(`/api/v1/iit`
- ✅ 创建基础类型定义223行
4. **前端部署**
- ✅ 前端v1.2部署成功
- ✅ 企业微信域名验证文件部署
- ✅ 解决Windows换行符问题CRLF→LF
**关键成果**
- 🎉 IIT Manager Agent模块正式启动
- 🎉 企业微信集成基础完成
- 🎉 网页授权及JS-SDK授权已获取
- 🎉 可信域名配置成功
**验收标准**
- ✅ 5个表全部创建成功
- ✅ Prisma Client可正常导入
- ✅ 测试脚本能执行CRUD
- ✅ 企微账号注册成功
- ✅ 能成功获取Access Token
- ✅ 目录结构完整
- ✅ 类型定义完整
---
## 📁 五、代码文件清单
### 5.1 后端代码
**Prisma Schema**
```
backend/prisma/schema.prisma
- IIT Manager Schema5个表定义
- 位于文件末尾
- 包含外键关系和索引
```
**模块代码**
```
backend/src/modules/iit-manager/
├── index.ts ✅ 82行模块注册
├── types/index.ts ✅ 223行类型定义
├── routes/index.ts ✅ 23行路由骨架
├── test-iit-database.ts ✅ 111行数据库测试
└── test-wechat-push.ts ✅ 138行企微测试
```
**代码统计**
- **已完成代码**577行
- **测试脚本**249行
- **总计**826行
### 5.2 前端代码
**域名验证文件**
```
frontend-v2/public/WW_verify_YnhsQBwI0ARnNoG0.txt
- 企业微信域名验证文件
- 已部署到SAE前端v1.2
```
**微信小程序**
- ⏳ 未开始
---
## 🔑 六、关键配置信息
### 6.1 企业微信配置
**应用凭证**
- **CorpID**`ww01cb7b72ea2db83c`
- **AgentID**`1000002`
- **Secret**`F3XqlAqKdcOKHi9pLGv5a2dSUowWbevdcDRrBk2pXLM`
**授权配置**
- **网页授权域名**`iit.xunzhengyixue.com`
- **JS-SDK安全域名**`iit.xunzhengyixue.com`
- **验证文件**`WW_verify_YnhsQBwI0ARnNoG0.txt`
- **验证文件内容**`YnhsQBwI0ARnNoG0`
**API端点**
- **获取Access Token**`https://qyapi.weixin.qq.com/cgi-bin/gettoken`
- **发送消息**`https://qyapi.weixin.qq.com/cgi-bin/message/send`
### 6.2 REDCap配置
**连接信息**(待配置):
- **API URL**:待提供
- **API Token**:待提供
- **Project ID**:待提供
### 6.3 数据库配置
**数据库连接**
```
postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research
```
**Schema**`iit_schema`
---
## 📝 七、测试脚本
### 7.1 数据库测试
**文件位置**`backend/src/modules/iit-manager/test-iit-database.ts`
**测试内容**
1. ✅ IitProject CRUD操作
2. ✅ IitPendingAction CRUD操作
3. ✅ IitTaskRun CRUD操作
4. ✅ IitUserMapping CRUD操作
5. ✅ IitAuditLog CRUD操作
**运行方式**
```bash
cd backend
npx ts-node src/modules/iit-manager/test-iit-database.ts
```
**测试结果**:✅ 11/11测试通过
### 7.2 企业微信测试
**文件位置**`backend/src/modules/iit-manager/test-wechat-push.ts`
**测试内容**
1. ✅ Access Token获取
2. ⏳ 文本消息发送(待测试)
3. ⏳ 卡片消息发送(待测试)
**运行方式**
```bash
cd backend
npx ts-node src/modules/iit-manager/test-wechat-push.ts
```
**测试结果**:✅ Access Token获取成功
---
## 🎯 八、下一步工作Day 2
### 8.1 核心任务
**REDCap API Adapter开发**4小时
- [ ] 创建 `RedcapAdapter.ts`
- [ ] 实现 `exportRecords()` 方法
- [ ] 实现 `importRecords()` 方法
- [ ] 实现 `exportMetadata()` 方法
- [ ] 配置超时和重试机制
- [ ] 编写单元测试
**SyncManager开发**4小时
- [ ] 创建 `SyncManager.ts`
- [ ] 实现 `initializeSync()` 方法
- [ ] 实现 `schedulePolling()` 方法
- [ ] 实现 `handlePoll()` 方法
- [ ] 集成 pg-boss 定时任务
### 8.2 技术准备
**REDCap环境准备**
- [ ] 获取测试项目API Token
- [ ] 确认API端点可访问性
- [ ] 准备测试数据
**开发工具**
- [ ] 配置REDCap API调试工具
- [ ] 准备Postman测试集合
---
## 📚 九、相关文档索引
### 9.1 技术设计文档
- [IIT Manager Agent 完整技术开发方案 (V1.1)](./02-技术设计/IIT%20Manager%20Agent%20完整技术开发方案%20(V1.1).md) - 完整技术方案
- [IIT Manager Agent 技术架构白皮书](./00-系统设计/IIT%20Manager%20Agent%20技术架构白皮书.md) - 架构设计
- [IIT Manager Agent V4 完整产品需求文档](./IIT%20Manager%20Agent%20V4%20完整产品需求文档.md) - 产品需求
### 9.2 开发计划文档
- [MVP开发任务清单](./04-开发计划/MVP开发任务清单.md) - 详细任务清单
- [企业微信注册指南](./04-开发计划/企业微信注册指南.md) - 企业微信配置
### 9.3 开发记录文档
- [V1.1更新完成报告](./06-开发记录/V1.1更新完成报告.md) - 技术方案更新记录
---
## 🔄 十、更新日志
### 2026-01-01Day 1完成 - 环境初始化 ✅
**完成内容**
- ✅ 数据库Schema创建iit_schema5个表
- ✅ Prisma Schema编写223行类型定义
- ✅ 数据库CRUD验证11/11测试通过
- ✅ 企业微信应用注册和配置
- ✅ 企业微信Access Token获取成功
-**企业微信网页授权及JS-SDK授权获取**
-**可信域名配置成功iit.xunzhengyixue.com**
- ✅ 前端域名验证文件部署v1.2
- ✅ 模块目录结构创建
- ✅ 路由骨架搭建
**关键成果**
- 🎉 IIT Manager Agent模块正式启动
- 🎉 企业微信集成基础完成
- 🎉 网页授权及JS-SDK授权已获取
- 🎉 为微信小程序开发铺平道路
**技术要点**
1. **Prisma Multi-Schema支持**成功配置iit_schema
2. **企业微信API测试**Access Token获取验证通过
3. **域名验证**解决Windows换行符问题CRLF→LF
4. **前端部署**SAE部署成功内网地址172.17.173.80
**下一步**
- Day 2REDCap API Adapter + SyncManager开发
---
### 2025-12-31项目启动
**项目背景**
- 基于REDCap的IIT研究者发起试验管理需求
- 使用企业微信作为移动端入口
- 采用Shadow State影子状态确保医疗合规性
- 利用Dify RAG提供智能知识服务
**技术选型确认**
- 后端Node.js + Fastify + Prisma + pg-boss
- 前端微信小程序Taro 4.x
- 数据源REDCap API
- 通知:企业微信
- AIDify RAG
---
> **提示**本文档反映IIT Manager Agent模块的最新真实状态每个里程碑完成后必须更新
> **最后更新**2026-01-01 14:30
> **当前进度**Day 1完成12.5%| 下一步Day 2 REDCap集成