diff --git a/MEMORY.md b/MEMORY.md index 57c7ee2..3367af0 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -135,6 +135,7 @@ server.quit() | 碎片信息记录 | 本地 | 19009 | ✅ 运行中 | | ParamHub Python | 本地 | 19010 | ✅ 运行中 | | 项目服务管理面板 | 本地 | 19013 | ✅ 运行中 | +| 视觉记录系统 | /coder/vision-record | 19016 | 📦 已完成 | | 网页助手插件 | /coder/web-context-extension | - | 📦 已完成 | | 磁盘大文件扫描 | 本地 | - | 📦 已完成 | @@ -142,7 +143,42 @@ server.quit() ## 更新日志 +### 2026-04-16 +- 碎片信息记录 v1.2.0:编辑锁机制防止并发编辑 + - 点击记录时获取锁,阻止其他人同时编辑 + - 锁超时30秒自动释放(无心跳) + - 心跳每10秒发送保持锁活跃 + - 强制抢锁功能(打断对方编辑) + - 页面离开自动释放锁 + - 锁丢失弹窗提醒 + - 双重保护:编辑锁(主防线) + 版本号(备用防线) + - Git仓库: http://192.168.2.8:12007/coder/snippet-notes v1.2.0 + +### 2026-04-15 +- 碎片信息记录 v1.1.0:并发编辑冲突解决(乐观锁+版本号机制) + - 每条记录增加version字段,每次保存版本号递增 + - 客户端保存时携带版本号,服务端检查版本一致性 + - 版本冲突时返回HTTP 409,前端显示冲突对话框 + - 用户可选择"放弃我的修改"或"强制保存我的版本" + - 旧数据自动添加version=1 + - Git仓库: http://192.168.2.8:12007/coder/snippet-notes v1.1.0 +- AI对话系统 v3.0.6:SiliconFlow平台Function Calling第二轮调用兼容 + - **核心问题**:SiliconFlow平台不支持标准 `tool` 消息类型 + - 第一轮:正常返回 `tool_calls` + - 第二轮:传入 `tool` 消息类型 → API返回"参数无效"错误 + - **修复方案**:将 `tool` 消息转换为 `user` 消息格式 + - 收集所有 tool 消息的内容 + - 合并为一个用户消息:"\n以下是搜索工具返回的结果...\n请根据以上搜索结果回答..." + - **测试验证**:完整流程测试成功(v3.0.5的过滤方案只是临时补救,v3.0.6才是根本修复) + - Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v3.0.6 +- AI对话系统 v3.0.5:临时过滤伪工具调用格式(已废弃,v3.0.6根本修复) + ### 2026-04-14 +- Xian Favor v1.9.2:邮件发送历史记录 + - 详情页面显示邮件发送记录(发送邮箱、时间) + - 支持多次发送,显示多条记录 + - 发送成功/失败状态标记(✅/❌) + - Git仓库: http://192.168.2.8:12007/coder/xian-favor v1.9.2 - Xian Favor v1.9.0:发送邮件功能 + 邮箱管理 - 每个收藏卡片添加"发送邮件"按钮(📧图标) - 点击弹出模态框:选择已有邮箱或输入新邮箱 @@ -315,6 +351,14 @@ server.quit() - 配置每日对话总结心跳任务 - 确立项目记录机制 +### 2026-04-08 +- 确立端口规范: 19000-19100 +- 创建参数百科网站 +- 创建网页助手浏览器插件 +- 创建文章撰写工作流系统(含后台管理)送技能 email-sender +- 配置每日对话总结心跳任务 +- 确立项目记录机制 + ### 2026-04-08 - 确立端口规范: 19000-19100 - 创建参数百科网站 diff --git a/memory/2026-04-15.md b/memory/2026-04-15.md new file mode 100644 index 0000000..d90f2a5 --- /dev/null +++ b/memory/2026-04-15.md @@ -0,0 +1,39 @@ +# 2026-04-15 记忆 + +## 开发事务 + +### 碎片信息记录 v1.1.0 +- 功能:并发编辑冲突解决(乐观锁+版本号机制) +- 实现: + - 每条记录增加 version 字段,每次保存版本号递增 + - 客户端保存时携带版本号,服务端检查版本一致性 + - 版本冲突时返回 HTTP 409,前端显示冲突对话框 + - 用户可选择"放弃我的修改"或"强制保存我的版本" + - 旧数据自动添加 version=1 +- Git仓库: http://192.168.2.8:12007/coder/snippet-notes v1.1.0 + +### AI对话系统 v3.0.6 +- 问题:SiliconFlow平台 Function Calling 第二轮调用兼容 + - 核心问题:SiliconFlow平台不支持标准 `tool` 消息类型 + - 第一轮正常返回 `tool_calls` + - 第二轮传入 `tool` 消息类型 → API返回"参数无效"错误 +- 解决方案: + - 将 `tool` 消息转换为 `user` 消息格式 + - 收集所有 tool 消息的内容 + - 合并为一个用户消息:"\n以下是搜索工具返回的结果...\n请根据以上搜索结果回答..." +- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v3.0.6 + +### AI对话系统 v3.0.5(已废弃) +- 临时过滤伪工具调用格式 +- v3.0.6 才是根本修复 + +## 技术经验 + +### SiliconFlow平台兼容性 ⭐ +- SiliconFlow API 不支持标准 OpenAI `tool` 消息类型 +- workaround:将 tool 结果转换为 user 消息格式 +- 这是平台特性,不是 bug,需要适配处理 + +## 备注 +- v3.0.5 是临时补救方案,v3.0.6 才是正确解决方案 +- 记录这个经验,遇到类似平台兼容问题时可以参考 \ No newline at end of file diff --git a/memory/2026-04-16.md b/memory/2026-04-16.md new file mode 100644 index 0000000..70ac8e9 --- /dev/null +++ b/memory/2026-04-16.md @@ -0,0 +1,38 @@ +# 2026-04-16 记忆 + +## 开发事务 + +### 碎片信息记录 v1.2.0 +- 功能:编辑锁机制防止并发编辑 +- 实现: + - 点击记录时获取锁,阻止其他人同时编辑 + - 锁超时30秒自动释放(无心跳) + - 心跳每10秒发送保持锁活跃 + - 强制抢锁功能(打断对方编辑) + - 页面离开自动释放锁 + - 锁丢失弹窗提醒 + - 双重保护:编辑锁(主防线) + 版本号(备用防线) +- Git仓库: http://192.168.2.8:12007/coder/snippet-notes v1.2.0 + +### 视觉记录系统 v1.0.0 +- 功能:摄像头定时拍照 + 智能分析 + Web界面 +- 技术: + - OpenCV 摄像头拍照(Windows DirectShow) + - Vision API 图片分析(通义千问 VL-Plus) + - FastAPI Web 后端 + - SQLite 数据存储 +- 端口: 19016 +- Git仓库: http://192.168.2.8:12007/coder/vision-record v1.0.0 + +## 系统事务 + +### 记忆整理 +- 创建 memory/2026-04-15.md 文件记录昨天事务 +- 基于 MEMORY.md 更新日志整理技术经验 + +## 待办 +- 无 + +## 备注 +- 编辑锁机制是在 v1.1.0 乐观锁基础上的进一步保护 +- 现有两层防护:锁(实时) + 版本号(保存时检查) \ No newline at end of file diff --git a/memory/heartbeat-state.json b/memory/heartbeat-state.json index d6715ce..ccf88c7 100644 --- a/memory/heartbeat-state.json +++ b/memory/heartbeat-state.json @@ -1,4 +1,4 @@ { - "lastSummaryDate": null, + "lastSummaryDate": "2026-04-16", "lastChecks": {} } \ No newline at end of file