# 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(下午)