84 lines
3.2 KiB
Markdown
84 lines
3.2 KiB
Markdown
# memory路由策略 — 五套记忆系统统一
|
||
|
||
> 2026-06-02 建立,2026-06-03 升级(加入 ContextGraph + CodeGraph)
|
||
|
||
## 现状:五套系统
|
||
|
||
| 系统 | 存储 | 搜索 | 适用 |
|
||
|------|------|------|------|
|
||
| 文件系统 (memory/) | Markdown 文件 | 文本遍历 / grep | 结构化档案、决策、画像 |
|
||
| memory-core | SQLite + FTS5/向量 | `memory_search` | 对话级记忆、语义搜索 |
|
||
| TencentDB | SQLite | 插件自动 | 四种记忆分层 |
|
||
| 远程记忆服务器 | PostgreSQL + pgvector | API v2 | 跨会话持久化 |
|
||
| **ContextGraph** 🆕 | JSON 图文件 | `context-graph.js recall` | Entity-Relation-Observation 结构化记忆 |
|
||
| **CodeGraph** 🆕 | SQLite 知识图谱 | `codegraph:search/callers/impact` | 代码符号级结构化记忆 |
|
||
|
||
## 统一路由策略
|
||
|
||
```
|
||
用户问"记得之前...?" / "代码里怎么..."
|
||
│
|
||
▼
|
||
┌─────────────────┐
|
||
│ 1. memory_search │ ← 默认入口(语义+全文,最快)
|
||
│ 命中? │
|
||
└────┬────────────┘
|
||
├─ 是 → 返回
|
||
└─ 否 ↓
|
||
┌─────────────────┐
|
||
│ 2. 代码相关? │
|
||
│ → CodeGraph │ ← 符号搜索 + 调用关系 + 影响分析
|
||
│ search/callers │ 适用: "谁调用X" "X在哪定义"
|
||
└────┬────────────┘
|
||
├─ 是 → 返回
|
||
└─ 否 ↓
|
||
┌─────────────────┐
|
||
│ 3. 结构化记忆? │
|
||
│ → ContextGraph │ ← Entity-Relation-Observation 图
|
||
│ recall/neighbors│ 适用: 项目决策链路、依赖关系
|
||
└────┬────────────┘
|
||
├─ 是 → 返回
|
||
└─ 否 ↓
|
||
┌─────────────────┐
|
||
│ 4. ctx_search │ ← context-mode FTS5(已索引的代码/文档)
|
||
│ 命中? │
|
||
└────┬────────────┘
|
||
├─ 是 → 返回
|
||
└─ 否 ↓
|
||
┌─────────────────┐
|
||
│ 5. 文件系统 grep │ ← memory/**/*.md 文本搜索
|
||
│ 命中? │
|
||
└────┬────────────┘
|
||
├─ 是 → 返回
|
||
└─ 否 ↓
|
||
告知"没有找到相关记录"
|
||
```
|
||
|
||
## 写入路由
|
||
|
||
```
|
||
对话中产生的新信息
|
||
│
|
||
▼
|
||
┌──────────────────────────────┐
|
||
│ 所有写入第一落点: daily/ │
|
||
└──────────────────────────────┘
|
||
│
|
||
▼
|
||
Write Gate 判断
|
||
│
|
||
┌────┼────┐
|
||
│ │ │
|
||
▼ ▼ ▼
|
||
偏好 纠正 决策
|
||
→registers/prefs →registers/open-loops →vault.md
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
- **不重复写入** — 同一信息只存一个系统,通过路由分发
|
||
- **memory-core 由 OpenClaw 自动维护** — 不手动操作其 SQLite
|
||
- **TencentDB 放养** — 它自己跑,不主动维护
|
||
- **远程服务器** — `session-compact.sh save` 自动推
|
||
- **文件系统是底牌** — 当搜索都失败时手动 grep
|