Files
openclaw-memory/CHANGELOG.md

192 lines
5.5 KiB
Markdown
Raw Permalink Normal View History

# 🦐 龙虾记忆同步系统 - 变更日志
所有重要的项目变更都会记录在此文件中。
## [1.0.0] - 2026-04-05
### 🎉 首次发布
完整版本,包含所有核心功能。
### ✨ 新增功能
#### 后端
-**ChunkedReadStream**:流式文件读取器,内存限制 256MB
- 8KB 分块读取
- 最大缓存限制 256MB
- 流式哈希计算
- 自动内存清理
-**SmartDiffComparator**:智能差异对比器
- 大文件只对比头尾
- 中间部分计算哈希
- 内存占用不超过 256MB
-**MemoryMonitor**:内存监控器
- 监控当前内存使用
- 检查内存限制
-**FileAttribute 模型**:文件属性表
- 支持键值对存储
- 支持嵌套属性(点号分隔的路径)
- 支持属性类型string/integer/float/boolean/json
- 支持属性分类和元数据
-**SyncHistory 模型**:同步操作历史表
- 记录操作人、操作时间
- 记录数据源local/database/manual
- 记录变动行数
- 记录执行时间
- 记录属性变更
-**LobsterMemory 模型**:龙虾记忆表
- 新增 `summary` 字段(语义摘要)
- 新增 `has_attributes` 字段
- 新增 `hard_conflict` 状态
- 优化数据库索引
-**IgnorePattern**.lobsterignore 模式匹配器
- 支持正则表达式匹配(`re:.*\.log$`
- 支持通配符匹配(`*.pyc`, `node_modules/`
- 支持目录递归匹配
- 默认忽略规则(`.git`, `__pycache__`, `.DS_Store`
-**SemanticSummaryGenerator**:语义摘要生成器
- 预留本地模型接口
- 生成文件内容简短摘要
-**DiffChecker**:差异检查器
- 完善 status 接口
- 识别 HARD_CONFLICT 状态
- 计算变动行数
- 支持大文件限制
-**AuditLogger**:操作日志记录器
- 记录所有同步操作
- 支持历史查询
#### 前端
-**FileTree.js**:文件树组件
- Ant Design Tree 组件集成
- 文件状态标签显示(一致/冲突/本地更新/数据库更新)
- 统计信息展示(总文件数、总大小、冲突数)
- 刷新状态按钮
- 文件选择事件处理
- 文件夹和文件图标区分
-**FileDiff.js**:差异对比组件
- 使用 `diff` 库计算行级差异
- 颜色区分:绿色(新增)、红色(删除)
- 显示变动行数标签
- 支持大文件截断提示
- 刷新按钮
- 状态提示Alert
- 代码高亮react-syntax-highlighter
#### 数据库
-**迁移文件**
- `0001_initial.py`:初始表结构
- `0002_add_summary_and_audit_fields.py`:添加语义摘要和审计字段
- `0003_add_file_attribute.py`:添加文件属性表
### 🔧 API 接口
- `GET /api/scan/` - 扫描本地文件
- `GET /api/tree/` - 获取文件树
- `GET /api/status/` - 检查同步状态(包含 HARD_CONFLICT
- `GET /api/diff/` - 获取文件差异(支持分块读取)
- `POST /api/sync/db/` - 同步到数据库(生成语义摘要)
- `POST /api/sync/local/` - 同步到本地
- `GET /api/versions/` - 获取文件的所有版本
- `GET /api/stats/` - 获取统计信息
- `GET /api/history/` - 获取操作历史(包含变动行数和数据源)
- `GET /api/ignore/patterns/` - 获取 .lobsterignore 模式列表
- `POST /api/ignore/reload/` - 重新加载 .lobsterignore 模式
### 📦 依赖更新
#### 后端
- Django 4.x
- Django REST Framework
- PostgreSQL 15
- Python 3.11
#### 前端
- React 18
- Ant Design 5.x
- diff ^5.1.0
- react-syntax-highlighter ^15.5.0
- Axios
### 🚀 部署
- Docker + Docker Compose
- Nginx 反向代理
- Let's Encrypt SSL
- 数据库自动备份
### 📝 文档
- README.md项目文档
- DEPLOY.md详细部署文档
- CHANGELOG.md变更日志
- .lobsterignore.example示例忽略文件
### 🧪 测试
- `test_simple.py`:简化功能测试
- .lobsterignore 匹配测试
- 分块读取测试
- 变动行数计算测试
- 冲突判定测试
### 🎯 核心特性
- ✅ 分块流式处理(内存限制 256MB
- ✅ .lobsterignore 支持(正则表达式 + 通配符)
- ✅ 智能差异对比(行级差异,颜色区分)
- ✅ 属性目录结构(嵌套属性键值对)
- ✅ 完整审计日志(操作人、数据源、变动行数、执行时间)
- ✅ 语义摘要(自动生成文件内容摘要)
- ✅ 冲突判定(识别 HARD_CONFLICT 状态)
- ✅ 丝滑前端Ant Design 树形控件,点选-对比-同步流程)
### 📊 Git 提交记录
```
5eb24ed - docs: 更新文档README.md 和 DEPLOY.md
1b06593 - feat: 前端 - 接好 Ant Design 树形控件和差异对比组件
b130f7a - feat: 完成 SyncHistory 和 FileAttribute 的迁移
0cb271a - feat: 完善 ChunkedReadStream 逻辑(内存限制 256MB
3529c36 - fix: 修复 .lobsterignore 和变动行数计算
479d679 - feat: 完成所有功能模块并添加测试
7992ff0 - feat: 更新 API 视图和序列化器
a016335 - feat: 完善核心功能模块
```
### 🎉 里程碑
- [x] 项目初始化
- [x] 后端核心功能完成
- [x] 前端核心功能完成
- [x] 部署配置完成
- [x] 分块流式处理完成
- [x] .lobsterignore 支持完成
- [x] 审计日志完成
- [x] 语义摘要完成
- [x] 冲突判定完成
- [x] 前端丝滑体验完成
- [x] 数据库迁移完成
- [x] 文档更新完成
- [x] 推送到 Git 仓库
### 🌟 致谢
感谢逍遥子的宝贵建议和指导!
---
**项目仓库**: http://10.2.0.100:8989/daotong/lobster-memory-sync.git
**维护者**: 道童
**版本**: 1.0.0
**发布日期**: 2026-04-05