hippocampus
Allows Hippocampus to use Ollama as a local LLM provider for consolidation tasks such as reflection, extraction, and knowledge revision, enabling offline LLM-powered memory processing.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hippocampusconsolidate my memories and show current stats"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Hippocampus(海马体)
Agent 记忆的巩固、修订与选择性遗忘引擎。
现有记忆产品(Mem0/Letta/Zep 等)只做"存取",Hippocampus 做记忆的演变: 去重合并、知识修订(版本链 + 时间旅行查询)、选择性遗忘(含跨合并记录的传播清扫)、 来源血缘与空闲期巩固。零依赖(纯标准库)、单机单文件 SQLite、可离线运行。
详细开发计划见 docs/dev-plan.md,架构设计见 docs/architecture.md,实施日志见 docs/journal.md。
为什么需要它(立项依据,均为可复现事实)
问题 | 证据 |
遗忘与知识修订是缺失能力 | MemoryAgentBench 显示主流系统在多跳遗忘任务上 <5% |
记忆无限追加、不做巩固 | 语义重复膨胀;各产品无去重/合并生命周期 |
sleep-time compute 无开源实现 | Letta 论文只有 137 星材料库,一年未维护 |
榜单分数不可审计 | judge 配置敏感(同一答案换 judge 分数大幅波动) |
Related MCP server: agent-memory
快速开始
pip install -e . # 或 pip install hippocampus-memory
python -m hippo.cli demo # 30 天模拟用户端到端演示(离线,零成本)SDK:
from hippocampus import Hippocampus
hippo = Hippocampus("memory.db")
hippo.write("我的饮食是素食。", session_id="day-2")
hippo.write("我最近开始吃鸡胸肉了,不再只吃素。", session_id="day-20")
hippo.consolidate() # 巩固:晋升/去重/修订/衰减
hippo.answer("用户现在的饮食是什么?") # -> 鸡胸肉(修订后的当前值)
hippo.answer("用户当时的饮食是什么?", as_of=ts) # -> 素食(时间旅行)
hippo.forget(query="信用卡密码") # 遗忘 + 全库传播清扫
hippo.lineage(record_id) # 血缘树(回溯到原始会话)CLI:
hippo write "我的名字是李明。" --db m.db
hippo search "名字" --db m.db
hippo consolidate --db m.db # 加 --dry-run 预览,--heavy 附带反思
hippo asof "用户当时的饮食" --time 1760000000 --db m.db
hippo forget --query "信用卡密码" --db m.db
hippo purge --record-id <id> --db m.db # GDPR 级物理清除(需先 forget)
hippo lineage --record-id <id> --db m.db
hippo daemon --db m.db # 常驻:定时轻巩固 + 空闲重巩固
hippo eval --out eval/reports/report.mdMCP(任意 MCP 客户端即插即用,暴露 6 个工具:memory_write / memory_search / memory_forget / memory_provenance / consolidate_now / memory_stats):
{ "mcpServers": { "hippocampus": {
"command": "python", "args": ["-m", "hippocampus.mcp_server", "--db", "memory.db"] } } }核心设计
接口层 MCP Server │ Python SDK │ CLI
调度层 触发器(阈值/定时/空闲/手动)+ 预算熔断(run/daily 双上限,超支降级)
巩固引擎 晋升(PROMOTE) → 反思(REFLECT) → 去重合并(DEDUPE/MERGE)
→ 修订(REVISE, 版本链) → 衰减归档(ARCHIVE) → 遗忘(FORGET/PURGE)
存储内核 SQLite + 向量索引(矩阵缓存) + 不可变操作日志三个关键不变量:
双层数据模型:情景层只追加(原始记忆真相源,永不改写);语义层是巩固产物, 带版本链(
supersedes)与血缘(derived_from)。任何误操作可从情景层重建。操作日志是唯一状态源:每次写入(INGEST)与巩固动作都记录为自包含的不可变 op(含输出快照与嵌入向量),因此 ①
replay(ops)逐字节重建当前状态(有属性测试 保证)②as-of 查询 = 截断重放 ③遗忘传播 = 沿 op 日志回溯依赖。遗忘是值锚定的:除了按 op 日志传播,遗忘还以目标的 SPO 三元组与原文为锚, 清扫所有引用该值的记录(含已归档的情景证据,防止日后反思"复活"被遗忘内容); 结构性依赖从剩余干净输入重新生成,无法安全重建才级联。
合成评测结果(hippo eval)
30 天模拟用户(25 条写入、12 个问题、1 次遗忘请求),naive = 同存储同检索但无巩固 管线,唯一变量是巩固:
类别 | naive | hippocampus |
稳定事实(名字/城市) | 3/3 | 3/3 |
知识更新·当前值 | 1/2(答出旧值"素食") | 2/2 |
知识更新·as-of 时间旅行 | 2/2 | 2/2 |
多跳推理(哥哥→生日→礼物) | 1/1 | 1/1 |
遗忘前可答 / 遗忘后弃答 / 改写探测 | 4/4 | 4/4 |
总计 | 11/12 | 12/12 |
活跃记录数(压缩) | 24 | 15(重复闲聊合并、旧值归档) |
多 judge 协议(rule_v1 + rule_norm_v1)逐题一致率 100%,判分配置全部随报告开源。
性能(笔记本,numpy 开启):1 万条记录建索引 0.7s;向量检索 p50=3.8ms / p95=5.5ms(矩阵缓存命中时;首查含缓存构建约 28ms)。
真实 benchmark:LongMemEval-S(ICLR 2025)
内置官方数据集适配器(hippo eval-lme,数据自动下载)。LongMemEval-S 分层抽样
每题型 10 题(共 60 题,每题约 53 会话 / 500 轮 haystack),确定性离线模式
(mock LLM),金标包含判定(近似,非官方 LLM-judge F1),naive = 同引擎关闭巩固:
题型 | BGE 嵌入 | 哈希词面嵌入 | naive(BGE) |
knowledge-update | 7/10 | 5/10 | 6/10 |
multi-session | 4/10 | 2/10 | 2/10 |
single-session-assistant | 6/10 | 4/10 | 6/10 |
single-session-user | 5/10 | 6/10 | 7/10 |
single-session-preference | 0/10 | 0/10 | 0/10 |
temporal-reasoning | 2/10 | 0/10 | 2/10 |
总计 | 24/60 | 17/60 | 23/60 |
问答时活跃记录数 | 163.4(↓67%) | 360.2(↓27%) | 490.9 |
诚实解读:分数衡量记忆管理与检索在真实长程数据上的相对表现(离线 mock LLM 不做生成推理);绝对值低于官方 LLM-judge 评分属预期。知识更新(7/10 vs 基线 5-6) 与多跳(4/10 vs 1-2)是巩固收益最大的题型;preference 类需要阅读理解,检索层 不单独解决。完整报告: longmemeval_bge_report.md · longmemeval_report.md。
接真实 LLM## 接真实 LLM
默认运行在确定性离线模式(mock LLM,零成本、可复现,评测即基于它)。生产接入:
from hippocampus import Hippocampus, HippoConfig
from hippocampus.llm.providers import OllamaClient # 或 LiteLLMClient
hippo = Hippocampus("memory.db",
llm=OllamaClient("qwen3:8b"),
config=HippoConfig(llm_provider="ollama", llm_model="qwen3:8b"))巩固判定的 prompt 全部版本化于 src/hippocampus/prompts/(op 日志记录产生它的
prompt 版本)。嵌入默认为确定性哈希嵌入(词面重叠);安装
hippocampus-memory[local] 可切换 BGE 语义嵌入。预算熔断:run_cap_tokens /
daily_cap_tokens 超限时巩固自动降级并记入 degrade 日志,LLM 响应按 prompt 哈希
持久缓存,重复实验零成本。
已实现 / 边界(诚实声明)
已实现并有测试:存储内核与操作日志(重放一致性属性测试)、晋升/去重/合并/
衰减、修订版本链与 as-of 查询、值锚定遗忘与传播、purge 物理清除(含 op 日志脱敏
后重放一致性)、反思(sleep-time)、预算熔断、CLI、MCP server(子进程握手测试)、
合成评测 harness 与多 judge 协议。32 个测试全绿(python -m pytest tests/,
无 pytest 时 python tests/run_tests.py)。
已知边界:
修订后的"陈旧依赖"(如旧值仍被反思摘要引用)目前只报告不自动重写 (巩固报告的
stale_report阶段),多跳级联重写是明确的后续工作。向量检索是缓存化的暴力扫(O(n)),10 万级以上需换 sqlite-vec(接口已收窄为
vector_search,见计划 R7)。查询级遗忘按记录粒度生效;含密钥的混合记录整条隐藏(重新生成仅按 id 遗忘时 触发)。
LongMemEval 已接入(BGE 嵌入 + 包含判定);LoCoMo/MemoryAgentBench 适配器 待做;preference / temporal 类问题需要生成级推理,检索层不单独解决。
中文与英文 SPO 抽取均为规则模板子集;接真实 LLM(extract 任务)可扩展覆盖面。
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Shared long-term memory vault for AI agents with 20 MCP tools.
MemoryOracle - 10 agent memory tools: vector store, recall, summarization, redaction.
Persistent memory for AI agents to retain, retrieve, and recall conversation context through MCP.
Cross-tool persistent memory and context for AI assistants over MCP.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides persistent, causal memory for AI agents with semantic recall, causal tracking, and importance-based forgetting through MCP tools.-
- AlicenseAqualityBmaintenanceEnables agents to manage persistent long-term memory through MCP tools for searching, adding, updating, giving feedback, and forgetting memories, with automated pipelines for redaction, distillation, and reconciliation.13MIT
- FlicenseAqualityCmaintenanceEnables LLM agents to persist, search, update, forget, summarize, and manage user cognitive memories through MCP tools.7-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to store and semantically retrieve durable memories across sessions via MCP or REST, with tools for remembering, recalling, asking, updating, and forgetting memories.12 npmMIT