docs(memory): 更新 DataMate 项目记忆记录

- 修正 DataMate 项目状态,将4个已完成功能标记为完成
- 添加详细的提交信息和涉及的文件
- 更新待办事项,添加测试任务
- 添加2026-02-03下午的工作记录
This commit is contained in:
2026-02-03 14:31:22 +00:00
parent 998a1f7258
commit eb2ad9f199

265
MEMORY.md Normal file
View File

@@ -0,0 +1,265 @@
# MEMORY.md - 全局记忆
本文件存储长期持久的重要信息,供所有会话继承和使用。
---
## 👤 用户信息
- **姓名**:Jerry Yan
- **ID**:5155645359
- **时区**:东八区(北京时间,UTC+8)
- **主要平台**:Telegram
- 私聊:Telegram Bot (OpenClaw)
- 群组:
- **DataMate-Claw Coding 群** (`-1003879848304`):DataMate 项目开发
- **其他工作群** (`-5104596651`):其他工作
---
## 💻 系统配置
### OpenClaw
- **版本**:2026.2.1
- **运行环境**:Local
- **工作目录**:`/root/.openclaw/workspace`
- **Gateway 端口**:18789
### 模型配置
- **主模型**:`zhipu/glm-4.7`
- **可用模型**:
- `zhipu/glm-4.7` (智谱 GLM 4.7) - 主要模型,200K 上下文
- `packy/claude-sonnet-4-5-20250929` (Claude Sonnet 4.5) - 推理模型,204K 上下文
### Memory(记忆系统)
- **Provider**:Local(本地 embeddings)
- **模型**:`hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf`
- **配置**:
- Memory 搜索:已启用
- 向量存储:已启用
- 缓存:已启用
- 会话记忆:已启用(实验性)
- 同步:会话开始时、搜索时
- **文件结构**:
- `MEMORY.md` - 全局长期记忆(本文件)
- `memory/YYYY-MM-DD.md` - 每日记忆文件
### Git
- **版本**:2.43.0
- **状态**:已安装
### 其他工具
- **pipx**:已安装(用于管理 CLI 工具)
- **sqlite-vec**:已卸载(使用 `--break-system-packages`
---
## 🛠️ 可用工具列表
### 文件操作
-`read` - 读取文件内容
-`write` - 创建/覆盖文件(自动创建目录)
-`edit` - 精确编辑文件内容
- ❌ 删除文件 - 使用 `write` 清空或通过 exec 的 `rm`
### 系统命令
-`exec` - 执行 shell 命令(已配置 node host)
-`process` - 管理后台进程
### 网络
-`web_search` - 网页搜索(Brave API)
-`web_fetch` - 获取网页内容
-`browser` - 控制浏览器
### 消息与通信
-`message` - 发送消息(Telegram)
-`sessions_*` - 创建/管理子会话、跨会话通信
-`cron` - 定时任务和提醒
### 记忆
-`memory_search` - 语义搜索记忆内容
-`memory_get` - 读取记忆文件
### 设备控制
- ⚠️ `nodes` - 需要 paired nodes(当前无)
- ⚠️ `canvas` - 需要 node 设备
- ⚠️ `camera` - 需要 node 设备
### 其他
-`tts` - 文本转语音
-`agents_list` - 列出可用代理
-`session_status` - 显示会话状态
-`gateway` - 重启、更新配置
---
## 🎯 技能与能力
### 编程语言
Python, JavaScript, Java, C++, Go, Rust, SQL, TypeScript 等
### Web 开发
HTML/CSS, React, Vue, Node.js, 前端框架
### 数据处理
- 数据分析与可视化
- 算法设计与实现
- 数据库查询与优化
### DevOps
- Docker 容器化
- Git 版本控制
- CI/CD 流程
### 内容创作
- 多语言翻译
- 文章和文案撰写
- 内容总结和改写
### 浏览器控制
- 打开网页并获取内容
- 截图查看页面状态
- 点击、填写表单等交互操作
- 支持两种模式:
- **chrome**:接管已连接的 Chrome 浏览器
- **openclaw**:使用独立的隔离浏览器
---
## 📂 项目信息
### DataMate 项目
**状态**:活跃项目,持续优化中
#### 已完成功能
**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)
├── frontend/ # React + TypeScript 前端
├── runtime/ # Python 运行时(FastAPI + SQLAlchemy)
├── scripts/ # 构建脚本
└── deployment/ # 部署配置
```
---
## 🔧 重要配置与操作
### OpenClaw 配置文件
- **位置**:`/root/.openclaw/openclaw.json`
- **修改方式**:通过 `gateway config.get/set` 或直接编辑
### 工作目录
- **路径**:`/root/.openclaw/workspace`
- **Code 项目**:`Code/DataMate/`
- **Memory 文件**:`memory/``MEMORY.md`
### Git 仓库
- **当前版本**:2.43.0
- **主要用途**:代码版本控制
---
## 📝 重要决策与偏好
### 包管理最佳实践
- ✅ 使用虚拟环境安装 Python 包(`python3 -m venv`
- ✅ 使用 pipx 安装 CLI 工具
- ⚠️ 避免使用 `--break-system-packages` 除非必要
- ⚠️ 优先使用 `apt install python3-xxx` 而非 pip
### Memory 配置偏好
- ✅ 使用本地 embeddings 模型(隐私、免费)
- ✅ 已清理 AiHubMix 配置(不再使用)
### 代码工作流
- ✅ 提供完整修复方案和代码
- ✅ 使用 sed 命令进行批量修改
- ⚠️ 文件操作工具在某些环境下有限制
---
## 🔄 待办事项
### DataMate 项目
1. [ ] 测试文本切片预生成功能
- 创建标注任务,勾选"需要切片段"
- 验证切片数据是否正确写入数据库
- 确认标注页面使用预生成的切片
2. [ ] 测试流式分割上传功能
- 上传大文本文件(>5MB),勾选"按分行分割"
- 验证边分割边上传的流式处理
- 确认内存占用优化效果
3. [ ] 根据测试结果修复可能存在的问题
4. [ ] 提交最终代码到远程仓库(已推送至 lsf 分支)
### 系统配置
- [ ] 根据需要调整 memory embeddings 配置
- [ ] 考虑配置 Node 以增强某些功能
- [ ] 监控每日代码测试检查定时任务的运行情况
---
## 📅 更新记录
### 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)
---
**最后更新**:2026-02-03(下午)