From a635e21fa7f7ce26c219617484ddca942d70b0f5 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Tue, 3 Feb 2026 14:43:45 +0000 Subject: [PATCH] =?UTF-8?q?docs(memory):=20=E5=B0=86=20DataMate=20?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=B7=A5=E4=BD=9C=E6=97=A5=E5=BF=97=E7=A7=BB?= =?UTF-8?q?=E8=87=B3=E6=AF=8F=E6=97=A5=E8=AE=B0=E5=BF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 从 MEMORY.md 中移除 DataMate 项目的详细工作日志 - 在 MEMORY.md 中只保留简要的项目信息和位置 - 将所有详细信息(提交记录、待办事项等)移至 memory/2026-02-03.md - 保持 MEMORY.md 作为长期持久的重要信息存储 - 每日记忆文件包含当天的工作日志 --- MEMORY.md | 79 ++++-------------------- memory/2026-02-03.md | 139 ++++++++++++++++++++++++++++++++----------- 2 files changed, 115 insertions(+), 103 deletions(-) diff --git a/MEMORY.md b/MEMORY.md index 4acc825..3e14aa8 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -130,44 +130,11 @@ HTML/CSS, React, Vue, Node.js, 前端框架 ### DataMate 项目 **状态**:活跃项目,持续优化中 +**位置**:`/root/.openclaw/workspace/Code/DataMate/` +**Git 分支**:`lsf` +**技术栈**:Spring Boot + React + FastAPI + MySQL -#### 已完成功能 - -**1. 修复:编辑数据集时无法清除关联数据集** -- **问题**:MyBatis-Plus `updateById` 忽略 `null` 值 -- **解决方案**:使用 `LambdaUpdateWrapper` 显式更新 `parentDatasetId` 字段 -- **提交**:699031d -- **状态**:✅ 已完成并测试通过 - -**2. 优化:上传文件后任务中心立即显示** -- **问题**:`show:task-popover` 事件被 `preUpload` API 调用阻塞 -- **解决方案**:在 `createTask` 函数中立即触发事件,不等待 API 完成 -- **目标文件**:`frontend/src/hooks/useSliceUpload.tsx` -- **提交**:893e0a1 -- **状态**:✅ 已完成 - -**3. 功能:实现文本切片预生成** -- **问题**:每次进入标注页面都实时计算切片,大文件性能差 -- **解决方案**:创建标注任务时预生成切片并存储到 `AnnotationResult` 表 -- **涉及的文件**: - - `runtime/datamate-python/app/module/annotation/service/editor.py` - 新增 `precompute_segmentation_for_project` 方法 - - `runtime/datamate-python/app/module/annotation/interface/project.py` - 任务创建时触发预计算 -- **提交**:147beb1 -- **状态**:✅ 已完成,待测试验证 - -**4. 功能:实现流式分割上传,优化大文件上传体验** -- **问题**:大文件按行分割时一次性加载到内存导致前端卡顿 -- **解决方案**:实现边分割边上传的流式处理 -- **涉及的文件**: - - `frontend/src/utils/file.util.ts` - 流式分割上传核心功能 - - `frontend/src/pages/DataManagement/Detail/components/ImportConfiguration.tsx` - 智能上传策略 - - `frontend/src/hooks/useSliceUpload.tsx` - 流式上传处理 - - `frontend/src/pages/Layout/TaskUpload.tsx` - 进度显示 - - `frontend/src/pages/DataManagement/dataset.model.ts` - 类型定义 -- **提交**:c8611d2 -- **状态**:✅ 已完成,待测试验证 - -#### 工作目录结构 +**工作目录结构**: ``` Code/DataMate/ ├── backend/ # Java 后端(Spring Boot + MyBatis-Plus) @@ -177,6 +144,8 @@ Code/DataMate/ └── deployment/ # 部署配置 ``` +> **注意**:详细的工作日志、提交记录、待办事项请查看每日记忆文件(如 `memory/2026-02-03.md`) + --- ## 🔧 重要配置与操作 @@ -217,49 +186,25 @@ Code/DataMate/ ## 🔄 待办事项 -### DataMate 项目 -1. [ ] 测试文本切片预生成功能 - - 创建标注任务,勾选"需要切片段" - - 验证切片数据是否正确写入数据库 - - 确认标注页面使用预生成的切片 -2. [ ] 测试流式分割上传功能 - - 上传大文本文件(>5MB),勾选"按分行分割" - - 验证边分割边上传的流式处理 - - 确认内存占用优化效果 -3. [ ] 根据测试结果修复可能存在的问题 -4. [ ] 提交最终代码到远程仓库(已推送至 lsf 分支) - ### 系统配置 - [ ] 根据需要调整 memory embeddings 配置 - [ ] 考虑配置 Node 以增强某些功能 -- [ ] 监控每日代码测试检查定时任务的运行情况 + +> **注意**:DataMate 项目的具体待办事项请查看每日记忆文件(如 `memory/2026-02-03.md`) --- ## 📅 更新记录 -### 2026-02-03(上午) +### 2026-02-03 - 创建全局记忆文件 `MEMORY.md` -- 配置 AiHubMix embeddings(后又移除) - 配置使用本地 embeddings 模型 - 安装 pipx -- 安装并卸载 sqlite-vec - 更新 OpenClaw 到 2026.2.1 - 启用 elevated tools -- 更新 Telegram 群组配置(DataMate-Claw Coding) - -### 2026-02-03(下午) -- **DataMate 项目优化**: - - 修复编辑数据集时无法清除关联数据集的问题(提交 699031d) - - 优化上传文件后任务中心立即显示(提交 893e0a1) - - 实现文本切片预生成功能,提升标注性能(提交 147beb1) - - 实现流式分割上传,优化大文件上传体验(提交 c8611d2) -- **系统配置**: - - 创建每日代码测试检查脚本 `scripts/check_yesterdays_changes.py` - - 配置 cron 定时任务,每天北京时间上午10点自动检查昨天修改的代码 - - 更新 `SOUL.md` 和 `HEARTBEAT.md`,配置自动任务响应逻辑 - - 测试报告发送到当前 Telegram 群组(-1003879848304) +- 更新 Telegram 群组配置 +- 配置每日代码测试检查定时任务 --- -**最后更新**:2026-02-03(下午) +**最后更新**:2026-02-03 diff --git a/memory/2026-02-03.md b/memory/2026-02-03.md index e0c36ca..6d92f99 100644 --- a/memory/2026-02-03.md +++ b/memory/2026-02-03.md @@ -29,46 +29,94 @@ --- -### 已完成的工作 +## 已完成的工作 -#### 上午(约 12:00 - 15:00 UTC) -1. **系统配置** - - ✅ 更新 OpenClaw 到2026.2.1 - - ✅ 配置使用本地 embeddings - - ✅ 安装 pipx +### 上午(约 12:00 - 15:00 UTC) -2. **记忆系统** - - ✅ 配置 Memory 搜索功能 - - ✅ 验证 memory_get 工具正常工作 - - ✅ 验证 memory_search 工具正常工作 - - ✅ 创建全局记忆文件 MEMORY.md +#### 1. 系统配置 +- ✅ 更新 OpenClaw 到 2026.2.1 +- ✅ 配置使用本地 embeddings +- ✅ 安装 pipx +- ✅ 启用 elevated tools -3. **信息整理** - - ✅ 读取所有 memory 文件 - - ✅ 总结用户信息、系统配置、可用工具 - - ✅ 记录 DataMate 项目信息 +#### 2. 记忆系统 +- ✅ 配置 Memory 搜索功能 +- ✅ 验证 memory_get 工具正常工作 +- ✅ 验证 memory_search 工具正常工作 +- ✅ 创建全局记忆文件 MEMORY.md -#### 下午(约 15:00 - 20:00 UTC) -1. **DataMate 项目优化(4 个提交)** - - ✅ 修复编辑数据集时无法清除关联数据集(699031d) - - ✅ 优化上传文件后任务中心立即显示(893e0a1) - - ✅ 实现文本切片预生成功能(147beb1) - - ✅ 实现流式分割上传,优化大文件上传体验(c8611d2) - -2. **系统配置** - - ✅ 创建每日代码测试检查脚本 `scripts/check_yesterdays_changes.py` - - ✅ 配置 cron 定时任务,每天北京时间上午10点自动检查 - - ✅ 更新 SOUL.md 和 HEARTBEAT.md,配置自动任务响应逻辑 - -3. **记忆更新** - - ✅ 更新 MEMORY.md,修正 DataMate 项目状态 - - ✅ 检查并修正记忆中的描述不符信息 +#### 3. 信息整理 +- ✅ 读取所有 memory 文件 +- ✅ 总结用户信息、系统配置、可用工具 +- ✅ 记录 DataMate 项目信息 --- -### 待办事项 +### 下午(约 15:00 - 20:00 UTC) -**DataMate 项目:** +#### 1. DataMate 项目优化(4 个提交) + +##### 1.1 修复:编辑数据集时无法清除关联数据集 +- **问题**:MyBatis-Plus `updateById` 忽略 `null` 值 +- **解决方案**:使用 `LambdaUpdateWrapper` 显式更新 `parentDatasetId` 字段 +- **提交**:699031d +- **状态**:✅ 已完成并测试通过 + +##### 1.2 优化:上传文件后任务中心立即显示 +- **问题**:`show:task-popover` 事件被 `preUpload` API 调用阻塞 +- **解决方案**:在 `createTask` 函数中立即触发事件,不等待 API 完成 +- **目标文件**:`frontend/src/hooks/useSliceUpload.tsx` +- **提交**:893e0a1 +- **状态**:✅ 已完成 + +##### 1.3 功能:实现文本切片预生成 +- **问题**:每次进入标注页面都实时计算切片,大文件性能差 +- **解决方案**:创建标注任务时预生成切片并存储到 `AnnotationResult` 表 +- **涉及的文件**: + - `runtime/datamate-python/app/module/annotation/service/editor.py` - 新增 `precompute_segmentation_for_project` 方法 + - `runtime/datamate-python/app/module/annotation/interface/project.py` - 任务创建时触发预计算 +- **提交**:147beb1 +- **状态**:✅ 已完成,待测试验证 + +##### 1.4 功能:实现流式分割上传,优化大文件上传体验 +- **问题**:大文件按行分割时一次性加载到内存导致前端卡顿 +- **解决方案**:实现边分割边上传的流式处理 +- **涉及的文件**: + - `frontend/src/utils/file.util.ts` - 流式分割上传核心功能 + - `frontend/src/pages/DataManagement/Detail/components/ImportConfiguration.tsx` - 智能上传策略 + - `frontend/src/hooks/useSliceUpload.tsx` - 流式上传处理 + - `frontend/src/pages/Layout/TaskUpload.tsx` - 进度显示 + - `frontend/src/pages/DataManagement/dataset.model.ts` - 类型定义 +- **提交**:c8611d2 +- **状态**:✅ 已完成,待测试验证 + +#### 2. 系统配置 + +##### 2.1 每日代码测试检查定时任务 +- **脚本**:`scripts/check_yesterdays_changes.py` +- **功能**: + - 获取昨天(UTC 时间)的 git 提交记录 + - 从提交信息中提取测试相关的项目 + - 生成测试报告 +- **执行时间**:每天 UTC 2:00(北京时间上午10:00) +- **发送目标**:当前 Telegram 群组(-1003879848304) +- **状态**:✅ 已配置 + +##### 2.2 更新配置文件 +- ✅ 更新 `SOUL.md`,添加自动任务响应逻辑 +- ✅ 更新 `HEARTBEAT.md`,添加系统事件处理逻辑 +- ✅ 配置定时任务通过 cron 工具管理 + +#### 3. 记忆更新 +- ✅ 更新 MEMORY.md,记录系统配置 +- ✅ 检查并修正记忆中的描述不符信息 +- ✅ 将 DataMate 项目详细信息移至每日记忆 + +--- + +## 待办事项 + +### DataMate 项目 1. [ ] 测试文本切片预生成功能 - 创建标注任务,勾选"需要切片段" - 验证切片数据是否正确写入数据库 @@ -80,24 +128,30 @@ 3. [ ] 根据测试结果修复可能存在的问题 4. [ ] 提交最终代码到远程仓库(已推送至 lsf 分支) -**系统配置:** +### 系统配置 - [ ] 监控每日代码测试检查定时任务的运行情况 - [ ] 根据需要调整 memory embeddings 配置 --- -### 配置快照 +## 配置快照 -当前 Memory 配置: +### Memory 配置 - **Provider**: Local(本地 embeddings) - **Model**: `hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf` - **Vector Store**: 已启用 - **Cache**: 已启用 - **Session Memory**: 已启用 +### Cron 定时任务 +- **任务名称**:每日代码测试检查 +- **执行时间**:每天 UTC 2:00(北京时间上午10:00) +- **触发方式**:系统事件 → 主会话处理 +- **报告发送**:Telegram 群组(-1003879848304) + --- -### DataMate 项目提交记录 +## DataMate 项目提交记录 | 提交哈希 | 功能描述 | 状态 | |---------|---------|------| @@ -105,3 +159,16 @@ | 893e0a1 | 优化上传文件后任务中心立即显示 | ✅ 已完成 | | 147beb1 | 实现文本切片预生成功能 | ✅ 已完成,待测试 | | c8611d2 | 实现流式分割上传,优化大文件上传体验 | ✅ 已完成,待测试 | + +--- + +## DataMate 项目目录结构 + +``` +Code/DataMate/ +├── backend/ # Java 后端(Spring Boot + MyBatis-Plus) +├── frontend/ # React + TypeScript 前端 +├── runtime/ # Python 运行时(FastAPI + SQLAlchemy) +├── scripts/ # 构建脚本 +└── deployment/ # 部署配置 +```