Files
AIclinicalresearch/DC模块代码恢复指南.md
HaHafeng b47079b387 feat(iit): Phase 1.5 AI对话集成REDCap真实数据完成
- feat: ChatService集成DeepSeek-V3实现AI对话(390行)
- feat: SessionMemory实现上下文记忆(最近3轮对话,170行)
- feat: 意图识别支持REDCap数据查询(关键词匹配)
- feat: REDCap数据注入LLM(queryRedcapRecord, countRedcapRecords, getProjectInfo)
- feat: 解决LLM幻觉问题(基于真实数据回答,明确system prompt)
- feat: 即时反馈(正在查询...提示)
- test: REDCap查询测试通过(test0102项目,10条记录,ID 7患者详情)
- docs: 创建Phase1.5开发完成记录(313行)
- docs: 更新Phase1.5开发计划(标记完成)
- docs: 更新MVP开发任务清单(Phase 1.5完成)
- docs: 更新模块当前状态(60%完成度)
- docs: 更新系统总体设计文档(v2.6)
- chore: 删除测试脚本(test-redcap-query-for-ai.ts, check-env-config.ts)
- chore: 移除REDCap测试环境变量(REDCAP_TEST_*)

技术亮点:
- AI基于REDCap真实数据对话,不编造信息
- 从数据库读取项目配置,不使用环境变量
- 企业微信端测试通过,用户体验良好

测试通过:
-  查询项目记录总数(10条)
-  查询特定患者详情(ID 7)
-  项目信息查询
-  上下文记忆(3轮对话)
-  即时反馈提示

影响范围:IIT Manager Agent模块
2026-01-03 22:48:10 +08:00

263 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DC模块代码恢复指南
> **目标**: 从Cursor缓存中恢复丢失的DC模块代码
> **数据库位置**: `C:\Users\zhibo\AppData\Roaming\Cursor\User\workspaceStorage\d5e3431d02cbaa0109f69d72300733da\state.vscdb`
---
## 📋 恢复方法汇总
### 方法1使用Cursor内置Timeline最简单⭐⭐⭐⭐⭐
**适用于**: 文件曾经保存到磁盘过(即使后来被删除)
#### 步骤:
1. **打开Cursor IDE**
2. **打开资源管理器Explorer**
- 左侧边栏点击"文件"图标
- 或按 `Ctrl+Shift+E`
3. **找到Timeline面板**
- 在Explorer底部找到"TIMELINE"(时间轴)折叠面板
- 如果没看到右键点击Explorer标题栏 → 勾选"Timeline"
4. **浏览文件历史**
- 在文件树中,尝试导航到这些路径:
```
backend/src/modules/dc/tool-b/services/HealthCheckService.ts
backend/src/modules/dc/tool-b/services/TemplateService.ts
backend/src/modules/dc/tool-b/services/DualModelExtractionService.ts
backend/src/modules/dc/tool-b/services/ConflictDetectionService.ts
backend/src/modules/dc/tool-b/controllers/ExtractionController.ts
```
- 点击任一文件(即使文件不存在或为空)
- 查看Timeline面板会显示该文件的所有历史快照
5. **恢复文件**
- 在Timeline中找到最近的版本带有时间戳
- 右键点击历史版本 → 选择"Restore"(恢复)
- 文件内容会恢复到选定的版本
**重复以上步骤恢复所有DC模块文件**
---
### 方法2使用命令面板恢复已删除文件 ⭐⭐⭐⭐
**适用于**: 文件已被完全删除,但曾经保存过
#### 步骤:
1. **打开命令面板**
- Windows: `Ctrl+Shift+P`
- Mac: `Cmd+Shift+P`
2. **搜索恢复命令**
- 输入: `Local History: Find Entry to Restore`
- 选中该命令
3. **搜索文件**
- 输入文件路径,例如:
```
HealthCheckService
```
- 或更精确的路径:
```
backend/src/modules/dc/tool-b/services/HealthCheckService.ts
```
4. **选择版本并恢复**
- 从搜索结果中选择最近的版本
- 确认恢复
**重复以上步骤搜索并恢复所有DC模块文件**
---
### 方法3SQLite数据库直接提取 ⭐⭐⭐⭐⭐(终极方案)
**适用于**: 代码从未落盘只存在于Chat/Composer对话中
#### 准备工作:
1. **安装DB Browser for SQLite**
- 下载地址: https://sqlitebrowser.org/dl/
- 或直接下载: https://github.com/sqlitebrowser/sqlitebrowser/releases
2. **复制数据库文件(重要!)**
```powershell
# 在PowerShell中执行
$source = "C:\Users\zhibo\AppData\Roaming\Cursor\User\workspaceStorage\d5e3431d02cbaa0109f69d72300733da\state.vscdb"
$backup = "D:\MyCursor\AIclinicalresearch\state.vscdb.backup"
Copy-Item $source $backup
Write-Host "✅ 数据库已备份到: $backup"
```
#### 提取步骤:
1. **打开DB Browser**
- 启动"DB Browser for SQLite"
- File → Open Database
- 选择备份的数据库文件: `D:\MyCursor\AIclinicalresearch\state.vscdb.backup`
2. **查询Chat历史**
- 点击"Browse Data"(浏览数据)标签
- 从"Table"下拉菜单选择: `ItemTable`
3. **搜索DC模块相关记录**
- 点击"Filter"(过滤器)按钮
- 在"key"列的过滤框中输入:
```
chat
```
- 或:
```
composer
```
4. **查找关键词**
- 在"value"列中搜索以下关键词使用Ctrl+F:
- `HealthCheckService`
- `DualModelExtractionService`
- `ConflictDetectionService`
- `TemplateService`
- `dc_health_checks`
- `dc_extraction_tasks`
- `ExtractionController`
5. **导出数据**
- 找到包含代码的行
- 双击"value"列,查看完整内容
- value通常是JSON格式其中包含AI生成的代码块
- 复制代码到文本编辑器
6. **提取代码块**
- JSON中的代码通常在以下结构中:
```json
{
"messages": [
{
"content": "```typescript\n[你的代码]\n```"
}
]
}
```
- 提取所有 `\`\`\`typescript` 和 `\`\`\`` 之间的代码
---
## 🎯 重点查找的文件列表
| 文件路径 | 功能 | 优先级 |
|---------|------|--------|
| `backend/src/modules/dc/tool-b/services/HealthCheckService.ts` | 健康检查服务 | ⭐⭐⭐⭐⭐ |
| `backend/src/modules/dc/tool-b/services/TemplateService.ts` | 模板服务 | ⭐⭐⭐⭐⭐ |
| `backend/src/modules/dc/tool-b/services/DualModelExtractionService.ts` | 双模型提取服务 | ⭐⭐⭐⭐ |
| `backend/src/modules/dc/tool-b/services/ConflictDetectionService.ts` | 冲突检测服务 | ⭐⭐⭐⭐ |
| `backend/src/modules/dc/tool-b/controllers/ExtractionController.ts` | 提取控制器 | ⭐⭐⭐⭐⭐ |
| `backend/src/modules/dc/tool-b/routes/index.ts` | 路由配置 | ⭐⭐⭐ |
| `backend/prisma/schema.prisma` (DC相关模型) | 数据库模型 | ⭐⭐⭐⭐⭐ |
---
## 💡 关键提示
1. **Timeline方法最简单**
- 如果文件曾经保存过,这个方法成功率最高
- 即使文件现在是空的Timeline通常也能找到历史版本
2. **命令面板方法最快**
- 适合快速恢复多个已删除文件
- 可以搜索文件名片段
3. **SQLite方法最全面**
- 可以恢复从未保存的代码
- 需要一定的技术能力
- 最终兜底方案
4. **多方法结合**
- 先尝试方法1和2简单快速
- 如果失败再使用方法3终极方案
---
## 🚀 恢复后的操作
找到代码后:
1. **立即保存到文件**
```
backend/src/modules/dc/tool-b/services/[文件名].ts
```
2. **立即Git提交**
```bash
git add .
git commit -m "recover(dc): Restore DC module code from Cursor cache"
git push origin master
```
3. **验证代码完整性**
- 检查是否有语法错误
- 确认所有依赖是否正确
---
## 📞 需要帮助?
如果您在恢复过程中遇到问题:
1. 截图Timeline面板或SQLite查询结果
2. 告诉我具体卡在哪一步
3. 我会提供进一步的指导
---
**🎯 现在就开始恢复吧优先尝试方法1Timeline最简单**