From eb2ad9f1995f3777f75b49b6851b43ecbd25154a Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Tue, 3 Feb 2026 14:31:22 +0000 Subject: [PATCH] =?UTF-8?q?docs(memory):=20=E6=9B=B4=E6=96=B0=20DataMate?= =?UTF-8?q?=20=E9=A1=B9=E7=9B=AE=E8=AE=B0=E5=BF=86=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修正 DataMate 项目状态,将4个已完成功能标记为完成 - 添加详细的提交信息和涉及的文件 - 更新待办事项,添加测试任务 - 添加2026-02-03下午的工作记录 --- MEMORY.md | 265 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 MEMORY.md diff --git a/MEMORY.md b/MEMORY.md new file mode 100644 index 0000000..4acc825 --- /dev/null +++ b/MEMORY.md @@ -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(下午)