# 🦐 龙虾记忆同步系统 - 变更日志 所有重要的项目变更都会记录在此文件中。 ## [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