You've already forked DataMate
- 修正 DataMate 项目状态,将4个已完成功能标记为完成 - 添加详细的提交信息和涉及的文件 - 更新待办事项,添加测试任务 - 添加2026-02-03下午的工作记录
8.2 KiB
8.2 KiB
MEMORY.md - 全局记忆
本文件存储长期持久的重要信息,供所有会话继承和使用。
👤 用户信息
- 姓名:Jerry Yan
- ID:5155645359
- 时区:东八区(北京时间,UTC+8)
- 主要平台:Telegram
- 私聊:Telegram Bot (OpenClaw)
- 群组:
- DataMate-Claw Coding 群 (
-1003879848304):DataMate 项目开发 - 其他工作群 (
-5104596651):其他工作
- DataMate-Claw Coding 群 (
💻 系统配置
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事件被preUploadAPI 调用阻塞 - 解决方案:在
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 项目
- 测试文本切片预生成功能
- 创建标注任务,勾选"需要切片段"
- 验证切片数据是否正确写入数据库
- 确认标注页面使用预生成的切片
- 测试流式分割上传功能
- 上传大文本文件(>5MB),勾选"按分行分割"
- 验证边分割边上传的流式处理
- 确认内存占用优化效果
- 根据测试结果修复可能存在的问题
- 提交最终代码到远程仓库(已推送至 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(下午)