记忆系统
RsClaw 提供三层持久化记忆系统,基于 redb + tantivy + hnsw_rs 原生实现,让智能体拥有长期记忆和自我学习能力。
记忆架构
┌─────────────────────────────────────────┐
│ 会话上下文 (短期) │
│ 当前对话的完整上下文窗口 │
├─────────────────────────────────────────┤
│ 索引记忆 (中期) │
│ MEMORY.md — 结构化索引,快速检索 │
├─────────────────────────────────────────┤
│ 向量记忆 (长期) │
│ redb + hnsw_rs — 持久化向量数据库 │
└─────────────────────────────────────────┘记忆操作
智能体在对话中自动使用记忆工具:
bash
# 搜索记忆
rsclaw memory search "用户偏好"
# 获取特定记忆
rsclaw memory get <id>
# 存储新记忆
rsclaw memory put "用户喜欢深色模式"
# 删除记忆
rsclaw memory delete <id>记忆类型
| 类型 | 说明 | 存储方式 |
|---|---|---|
| note | 一般笔记 | 向量数据库 |
| fact | 已验证的事实信息 | 向量数据库 + 索引 |
| summary | 会话摘要 | 向量数据库 |
| remember | 用户明确要求记住的内容 | 向量数据库 + 索引 |
记忆生命周期
- 自动存储 — 智能体在对话中自动识别重要信息并存入记忆
- 自动索引 — 高重要性记忆自动同步到 MEMORY.md 索引
- 按需召回 — 语义搜索,根据对话上下文自动召回相关记忆
- 自动遗忘 — 低重要性记忆随时间自动降低权重
提示
记忆系统完全本地化运行,所有数据存储在本地,不会上传到任何远程服务器。
记忆配置
json5
memory: {
// 向量数据库路径
dbPath: "~/.rsclaw/memory.db",
// 最大记忆条目数
maxEntries: 10000,
// 自动索引阈值(重要性 >= 0.7 自动索引)
autoIndexThreshold: 0.7,
}