Skip to content

shy5123/mindmap-memory

Repository files navigation

记忆树 MemoryTree

Tests License: MIT Version

一棵会新陈代谢的记忆树 — 让 AI 的记忆从无限膨胀的仓库,变成有呼吸的森林。

记忆树 × MemoryTree | MIT License | Python 3.8+ | ~4500 行纯 Python

克隆即跑,零配置。🧠 可选 BGE 嵌入模型,语义精度提升 10 倍。


30 秒看懂

你告诉 AI "记住 DeepSeek API 报错 400"
  → 自动分类到 话题树 → DeepSeek → API
  → 下次你说 "DeepSeek 那个错怎么修" → 秒找到

3 周后你没再提这事 → 自动沉入树根(沉睡,不占地方)
半年后你又遇到了 → 搜索唤醒,恢复到活跃树
核心记忆?永远保护,不会忘。

为什么不用原装记忆系统

Hermes 原装 memory MemoryTree
存储方式 扁平列表,无限增长 层级话题树,自动分类
旧记忆 永远占着位置 自动衰减,沉入树根归档
检索方式 全量遍历 逐层下钻 + 混合搜索 + 图扩散
跨话题联想 links 表 + PPR 图扩散
核心保护 标记后永不丢失
综合推理 Reflect: LLM 综合多条记忆给出连贯答案
自动提炼 Auto-retain: 对话结束自动提炼关键信息入库
多项目隔离 Bank 隔离: 不同项目独立数据库,跨 Bank 搜索

核心能力

🗂️ 自动分类 (v1.0)

无需建目录。中文/英文混合内容自动按语义归类到 6 层话题树。SHA-256 去重防冗余。

🔍 双引擎检索 (v1.0)

  • 关键词匹配:零依赖,开箱即用
  • BGE 嵌入模型:同义词/跨语言匹配,精度提升 4.9~10 倍

🧠 Reflect: LLM 综合推理 (v2.0)

搜索多条记忆后用 LLM 合成连贯答案。双接口:配 LLM API 用智能版,未配自动降级关键词。三档深度控制,5 分钟缓存。

📥 Prefetch: 自动预取 (v2.0)

每轮对话前自动搜索相关记忆注入上下文。三档 budget 按需控制开销。

💾 Auto-retain: 自动提炼 (v2.0)

对话结束后自动提炼关键信息存入记忆树。LLM 提取 + 规则引擎兜底。Turn Queue 后台攒批,5 轮一批静默处理。

🏦 Bank 隔离 (v2.0)

不同项目独立数据库,搜索时自动跨 Bank 发现相关知识。零配置,环境变量/工作目录自动识别。

🌳 记忆生命周期 (v1.0)

每 14 天自动衰减:7 天未访问 -1 分 → score ≤ 2 沉入树根(可唤醒)→ 3 年未访问淘汰。核心记忆永不丢失。

🔗 图网络联想 (v1.5)

links 表存储节点间 5 种关联边,PPR 扩散从搜索命中点沿图扩展,发现相关但不直接匹配的记忆。

🧠 Hebbian 学习 (v1.5)

搜索结果自动强化/弱化节点关联权重。搜对了加强,搜错了削弱。

🤖 零感知运维 (v1.0)

衰减、日志、同步全自动后台运行。关键操作自动沉淀结构化运维日志。


实测数据

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 欢迎

About

🌲 记忆树 — 一棵会新陈代谢的记忆树。Hermes Agent 的层级化记忆系统。

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors