# 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模块文件!** --- ### 方法3:SQLite数据库直接提取 ⭐⭐⭐⭐⭐(终极方案) **适用于**: 代码从未落盘,只存在于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. 我会提供进一步的指导 --- **🎯 现在就开始恢复吧!优先尝试方法1(Timeline),最简单!**