一棵会新陈代谢的记忆树 — 让 AI 的记忆从无限膨胀的仓库,变成有呼吸的森林。
记忆树 × MemoryTree | MIT License | Python 3.8+ | ~4500 行纯 Python
⚡ 克隆即跑,零配置。🧠 可选 BGE 嵌入模型,语义精度提升 10 倍。
你告诉 AI "记住 DeepSeek API 报错 400"
→ 自动分类到 话题树 → DeepSeek → API
→ 下次你说 "DeepSeek 那个错怎么修" → 秒找到
3 周后你没再提这事 → 自动沉入树根(沉睡,不占地方)
半年后你又遇到了 → 搜索唤醒,恢复到活跃树
核心记忆?永远保护,不会忘。
| Hermes 原装 memory | MemoryTree | |
|---|---|---|
| 存储方式 | 扁平列表,无限增长 | 层级话题树,自动分类 |
| 旧记忆 | 永远占着位置 | 自动衰减,沉入树根归档 |
| 检索方式 | 全量遍历 | 逐层下钻 + 混合搜索 + 图扩散 |
| 跨话题联想 | 无 | links 表 + PPR 图扩散 |
| 核心保护 | 无 | 标记后永不丢失 |
| 综合推理 | 无 | Reflect: LLM 综合多条记忆给出连贯答案 |
| 自动提炼 | 无 | Auto-retain: 对话结束自动提炼关键信息入库 |
| 多项目隔离 | 无 | Bank 隔离: 不同项目独立数据库,跨 Bank 搜索 |
无需建目录。中文/英文混合内容自动按语义归类到 6 层话题树。SHA-256 去重防冗余。
- 关键词匹配:零依赖,开箱即用
- BGE 嵌入模型:同义词/跨语言匹配,精度提升 4.9~10 倍
搜索多条记忆后用 LLM 合成连贯答案。双接口:配 LLM API 用智能版,未配自动降级关键词。三档深度控制,5 分钟缓存。
每轮对话前自动搜索相关记忆注入上下文。三档 budget 按需控制开销。
对话结束后自动提炼关键信息存入记忆树。LLM 提取 + 规则引擎兜底。Turn Queue 后台攒批,5 轮一批静默处理。
不同项目独立数据库,搜索时自动跨 Bank 发现相关知识。零配置,环境变量/工作目录自动识别。
每 14 天自动衰减:7 天未访问 -1 分 → score ≤ 2 沉入树根(可唤醒)→ 3 年未访问淘汰。核心记忆永不丢失。
links 表存储节点间 5 种关联边,PPR 扩散从搜索命中点沿图扩展,发现相关但不直接匹配的记忆。
搜索结果自动强化/弱化节点关联权重。搜对了加强,搜错了削弱。
衰减、日志、同步全自动后台运行。关键操作自动沉淀结构化运维日志。
100 节点,MacBook Pro (Intel, 2020),SQLite:
检索精度(BGE 嵌入 vs 纯关键词):
| 场景 | 关键词 | BGE 嵌入 | 提升 |
|---|---|---|---|
| 同义词("电脑"→"MacBook") | 0.00 | 0.82 | ∞ |
| 相关语义("报错"→"崩溃日志") | 0.15 | 0.73 | 4.9× |
| 跨语言("memory"→"记忆系统") | 0.00 | 0.67 | ∞ |
性能:
| 操作 | 耗时 | 说明 |
|---|---|---|
| 添加记忆 | ~15ms | 含语义匹配 + SHA-256 去重 |
| 检索 | ~23ms | v2.0 含混合搜索 + PPR 扩散 + 批量 SQL 加分(93% 提升) |
| 衰减扫描 | ~50ms | 含 links 表衰减 |
| Reflect (LLM) | ~2s | 智谱 GLM-4-Flash |
测试覆盖:28 项全功能测试(Reflect 7 / Prefetch 6 / Auto-retain 4 / Bank 5 / 压力 6)。
# 1. 什么都不配,直接跑
python3 mindmap_memory.py add "这是一条记忆"
# 2. 检索
python3 mindmap_memory.py search "关键词"
# 3. 综合推理(需配 LLM API)
export MEMORYTREE_LLM_API_KEY="your-key"
python3 mindmap_memory.py reflect "DeepSeek 报错怎么修"
# 4. 自动预取
python3 mindmap_memory.py prefetch "话题"
# 5. (可选)启用 BGE 嵌入,检索精度飙升
python3 mindmap_memory.py setup-embeddings
export MEMORYTREE_EMBEDDING_MODEL=local:BAAI/bge-small-zh-v1.5全部 CLI 命令:
| 命令 | 功能 |
|---|---|
add |
添加记忆 |
search / search --cross-bank |
检索 / 跨 Bank 检索 |
reflect |
LLM 综合推理 |
prefetch |
自动预取 |
auto-retain |
自动提炼存储 |
recall |
浏览全树 |
stats |
统计信息 |
decay |
手动衰减 |
replace / remove / recover |
CRUD 操作 |
core |
核心记忆标记 |
sync |
从 MEMORY.md 导入 |
banks |
列出所有 Bank |
detect-communities |
社区发现 |
setup-embeddings |
安装 BGE 嵌入模型 |
Hermes Agent 用户:/mindmap-memory 加载后 11 个工具自动注册。
- 纯关键词模式下同义词盲区 → 配 BGE 嵌入
- 衰减基于访问时间而非内容价值 → 核心标记保护
- 单条记忆只能挂一个话题 → links 表跨话题关联
- 单机 SQLite → REST API 端点暴露(端口 8432)
- Reflect / Auto-retain 需要 LLM API → 配智谱 GLM-4-Flash(免费额度)
MIT · Issues / PRs 欢迎