Files
collective-memory-repo/agents/openclaw-main/memory-system-architecture.md

127 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OpenClaw 当前记忆系统架构mac-5 控制面)
## 总览
当前记忆系统分成两层:
1. **Context Engine 层lossless-claw (LCM)**
2. **Memory Backend 层QMD**
二者不是同一层,不占同一个插件槽位,职责不同,可以同时使用。
---
## 1. lossless-clawLCM
### 定位
- 作为 **context engine** 使用
- 负责长对话上下文的压缩、保留与恢复
- 替代原本单纯 sliding-window compaction 的部分能力
### 当前状态
- 已安装并启用
- 当前 `plugins.slots.contextEngine = "lossless-claw"`
- 插件安装位置:`~/.openclaw/extensions/lossless-claw`
### 主要作用
- 用 SQLite + DAG summaries 管理长上下文
- 当主会话变长时,帮助保留可恢复的历史结构
- 提供对被压缩/折叠历史的再访问能力
### 典型功能
- `lcm_grep`
- `lcm_describe`
- `lcm_expand`
### 适合处理什么
- 长会话历史
- 最近/过往对话上下文恢复
- 被 compaction 后的历史细节回看
### 不适合替代什么
- 不替代持久 Markdown 知识库检索
- 不替代 QMD 对 memory repo / daily / tasks 等文件的索引搜索
---
## 2. QMD
### 定位
- 作为 **memory backend** 使用
- 负责 `memory_search` / `memory_get` 这条记忆召回路线
- 主要检索 Markdown 记忆文件与配置路径中的知识内容
### 当前状态
- 当前 `memory.backend = "qmd"`
- 当前仍是主记忆召回后端
- `memory.qmd.sessions.enabled = false`
### 为什么禁用 sessions indexing
因为如果让 QMD 也去索引 session transcripts会和 lossless-claw 在“会话回忆”层面产生重叠,导致:
- 同一段会话既能被 LCM 找回,也能被 QMD 找回
- QMD 结果容易被 session boilerplate / transcript 噪声主导
- 持久知识内容daily / long-term / tasks更容易被挤掉
因此当前约定:
- **会话历史回忆 → 优先走 LCM / context engine**
- **持久知识/记忆文件搜索 → 走 QMD**
### 当前 QMD 检索路径
- `~/project/collective-memory-repo/shared/long-term`
- `~/project/collective-memory-repo/daily`
- `~/project/collective-memory-repo/tasks`
- `~/project/collective-memory-repo/agents/openclaw-main`
### 适合处理什么
- 长期记忆
- daily notes
- task memory
- agent private notes
- Markdown 文件型知识库
---
## 3. 内建 memorySearch 配置
### 当前状态
虽然当前主记忆后端仍是 QMD`agents.defaults.memorySearch` 也已经配置为本机 oMLX embeddings
- provider: `openai`
- model: `bge-m3-mlx-fp16`
- baseUrl: `http://127.0.0.1:8000/v1`
- apiKey: `omlx-local`
### 说明
- 这是一条 **内建 memorySearch 能力配置**
- 目前它已配置好 embeddings 端点
- 但当前主记忆召回仍然是 QMD而不是它
换句话说:
- **当前默认在用的是 QMD**
- **内建 memorySearch embeddings 已准备好,后续如需切主路径可继续利用**
---
## 当前推荐分工
### 会话相关
- lossless-claw / LCM
- 用于:长会话、上下文压缩恢复、历史对话回看
### 持久知识相关
- QMD
- 用于memory repo、daily、tasks、长期知识检索
### embeddings 预备能力
- 本机 oMLX (`bge-m3-mlx-fp16`)
- 用于:未来如需要将 OpenClaw 内建 memorySearch 切换到本地 embeddings 时复用
---
## 当前结论
当前记忆系统不是单一工具,而是分层架构:
- **LCM / lossless-claw** = 上下文引擎context engine
- **QMD** = 持久记忆后端memory backend
- **oMLX embeddings memorySearch** = 已配置好的备用/未来可切换能力
当前主工作流:
- 会话恢复靠 LCM
- 文件记忆召回靠 QMD
- 不让 QMD 索引 sessions避免和 LCM 打架