docs(wiki): 更新跨会话记忆修复记录 — log/memory/known-issues
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

- log.md: 添加BUG-M6修复详情(profile_store+双数据库)
- memory.md: 已知问题新增2项已修复记录
- known-issues.md: 添加BUG-M6条目
This commit is contained in:
iven
2026-04-22 19:10:18 +08:00
parent adf0251cb1
commit 4328e74157
3 changed files with 13 additions and 2 deletions

View File

@@ -26,7 +26,7 @@ tags: [issues, bugs]
| 审计 04-20 P1 | 3 | **全部已修复** (commit f291736) |
| 审计 04-20 P2 | 2 | 待处理 (B-SCHED-5 任务名噪声 + B-CHAT-7 混合域截断) |
| 搜索 04-22 P1 | 3 | **全部已修复** (commit 5816f56 + 81005c3) |
| DataMasking 04-22 P1 | 1 | **已修复** (禁用中间件, commit 73d50fd) |
| DataMasking 04-22 P1 | 1 | **已移除** (DataMasking 中间件彻底删除) |
## 搜索功能修复 04-22
@@ -40,7 +40,7 @@ tags: [issues, bugs]
| ID | 级别 | 问题 | 修复 | commit |
|------|------|------|------|--------|
| MASK-1 | P1 | DataMasking 正则把"有一家公司"误判为公司实体,替换为 `__ENTITY_1__`LLM 响应缺少 unmask 导致用户看到占位符 | 禁用 DataMasking 中间件桌面端单用户无需脱敏AgentLoop 添加 unmask 基础设施备用 | 73d50fd |
| MASK-1 | P1 | DataMasking 正则把"有一家公司"误判为公司实体,替换为 `__ENTITY_1__`LLM 响应缺少 unmask 导致用户看到占位符 | **已移除** DataMasking 中间件彻底删除 (data_masking.rs 367行 + loop_runner unmask 逻辑 + 前端 mask/unmask) | 73d50fd (禁用) + 后续完全移除 |
## E2E 全系统功能测试 04-17 (129 链路)
@@ -76,6 +76,7 @@ tags: [issues, bugs]
| BUG-M3 | V4 Memory | viking_find 不按 agent 隔离: 查询返回所有 agent 记忆 | ✅ 已修复 (a504a40) |
| BUG-M4 | V3 Auth | Admin 端点对非 admin 用户返回 404 非 403 | ✅ 已修复 (admin_guard_middleware) |
| BUG-M5 | V4 Memory | 跨会话记忆注入未工作: 新会话助手表示"没有找到对话历史" | ✅ 已修复 (a504a40) |
| BUG-M6 | V4 Memory | profile_store未连接+双数据库不一致导致UserProfile永远为空 | ✅ 已修复 (adf0251) |
### LOW (2)

View File

@@ -9,6 +9,14 @@ tags: [log, history]
> Append-only 操作记录。格式: `## [日期] 类型 | 描述`
### 2026-04-22 跨会话记忆断裂修复 (commit adf0251)
- **根因**: 3个断裂点
1. `profile_store`未连接 — `create_middleware_chain()`中GrowthIntegration未设置UserProfileStore, extract_combined()的profile_signals被静默丢弃
2. 双数据库不一致 — UserProfileStore写入data.db, agent_get读取memories.db, 两库隔离导致UserProfile永远读不到
3. 缺少关键日志 — 提取/存储/检索链路无info级别日志
- **修复**: `with_profile_store(memory.pool())` + agent_get改用`kernel.memory()` + Kernel暴露`memory()`方法 + growth.rs增强日志
- **验证**: Tauri端E2E — 会话A提取6记忆+4 profile signals → 新会话B成功注入记忆 → 管家Tab显示用户画像+近期话题+53条记忆
### 2026-04-22 管家Tab记忆展示增强
- **变更**: MemorySection.tsx 重写 — L1摘要并行加载 + 按类型分组(偏好/知识/经验/会话) + 用户画像卡片(行业/角色/沟通风格/近期话题)
- **数据源**: viking_ls+viking_read(L1) + agent_get(userProfile)

View File

@@ -329,5 +329,7 @@ crates/zclaw-growth/src/
-**记忆去重失败** — BUG-H2 已修复 (commit a504a40)。`viking_add` 同 URI+content 重复添加
-**记忆非 Agent 隔离** — BUG-M3 已修复 (commit a504a40)。`viking_find` 返回所有 Agent 记忆
-**跨会话注入断裂** — BUG-M5 已修复 (commit a504a40)。新会话报 "no conversation history found"
-**profile_store 未连接** — 已修复 (commit adf0251)。create_middleware_chain() 中未设置 UserProfileStore导致 profile_signals 被静默丢弃
-**双数据库 UserProfile 不一致** — 已修复 (commit adf0251)。UserProfileStore 写入 data.db 而 agent_get 读取 memories.db
- ⚠️ **NoOpEmbeddingClient 是默认值** — 正常设计,用户配置 provider 后替换
- ⚠️ **SaaS pgvector embedding 生成未实现** — 索引就绪,生成逻辑 deferred