hippo-memory
kitfunso/hippo-memory加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
使用过 Claude Code、Cursor 或 Codex 的开发者,多半遇到过一个令人沮丧的时刻:前一天的对话中,AI 已经学会了项目里的某个坑,或者记住了某个特殊的 API 命名约定——第二天一打开,AI 仿佛失忆了一般从头再来。你不得不把昨天的对话要点再讲一遍,如此反复,AI 的"学习"永远停留在单次会话之内。
Hippo Memory 正是来解决这个问题的。它为 AI 编程助手构建了一套长期记忆系统,让 agent 的"脑子"真正能记住东西,而且会随时间越记越聪明。
2025-2026 年,AI 编程助手进入爆发期。Claude Code、Cursor、Codex、OpenCode 百花齐放,但它们有一个共同缺陷:记忆仅存在于单次会话中。用户在不同项目、不同工具间切换时,积累的经验无法复用——在 Cursor 里学到的项目规范,换到 Claude Code 就得重新教。
更深层的问题在于,大多数所谓的"AI 记忆"本质上是"存储 + 搜索":把所有对话记录都存起来,查询时全文匹配。这种方式有两个致命缺陷:错误的记忆和正确的记忆权重相同,过时的事实和最新事实并列检索结果无法区分。
Hippo 的思路来自真实的脑科学:海马体才是人类形成长期记忆的关键结构——它不是简单存储,而是通过衰减、强化、巩固等机制,让重要的记忆更牢靠,不重要的记忆自然淡忘。
Hippo 模拟了七个海马体机制:
| 机制 | 作用 | 代码体现 |
|---|---|---|
| 记忆衰减(Decay) | 错误标记的记忆随时间减弱,被标记为 error 的记忆衰减更慢 | physics.ts 半衰期配置 |
| 检索强化(Retrieval Strengthening) | 每次成功召回的记忆会变强 | recall-pipeline.ts |
| 睡眠巩固(Sleep Consolidation) | 定期整合记忆、删除重复、提取洞见 | hippo sleep 命令 |
| 信心层级(Confidence Tiers) | 记忆按来源和历史划分优先级 | card.ts / memory-quality.ts |
| 冲突检测(Conflict Detection) | 识别同一事实的新旧版本 | invalidation.ts |
| 多跳推理(Multi-hop) | 支持跨记忆的关联推理 | multihop.ts |
| 多 Agent 共享(Shared Memory) | 跨工具、跨项目的记忆共享 | MCP 协议 + share-scrub.ts |
实际使用中,这些机制通过几个简单命令体现:
# 标记一条错误记忆(它的衰减速度是普通记忆的一半)
hippo remember "FRED cache silently dropped the tips_10y series" --tag error
# 查询记忆(支持 BM25 全文 + 向量混合检索)
hippo recall "data pipeline issues" --budget 2000
# 标记过时记忆并替换
hippo supersede "旧的 API 地址" --with "新的 API 地址"
# 每天早上自动运行(默认 6:15)
# 不需要手动触发,Claude Code / OpenCode 会话结束后自动执行
Hippo 的技术选型非常务实:TypeScript + Node.js 22,零运行时依赖,SQLite 做持久化存储。
src/
├── core/ # 核心记忆引擎(存储、检索、衰减)
├── api.ts # REST API 入口
├── mcp/ # MCP 协议服务端(stdio 模式)
├── server.ts # HTTP 服务端(带认证)
├── connectors/ # Slack/GitHub 等外部系统连接器
├── embeddings.ts # 向量嵌入层(可选)
├── rerankers/ # 重排序层(Jev/Cross-encoder)
└── cli.ts # 命令行工具
存储层采用 SQLite + Markdown 双写策略:数据存在 SQLite 里,但每条记忆同时有 Markdown 镜像,可直接 Git 追踪,开发者也能直接阅读和编辑。向量化检索是可选功能——默认用 BM25 全文搜索,不需要任何外部模型或 API 调用。如需向量检索,可安装 @huggingface/transformers(本地运行)或接入 OpenAI/Voyage/Cohere 的 API。
认证安全:内置 Bearer Token 认证,密码用 scrypt 哈希,所有写操作有审计日志,多租户隔离有负向测试验证。
测试覆盖:项目有 3500+ 测试用例,覆盖真实数据库,无 Mock,付费网络调用才 Stub。README 甚至公开承认了一次数据撤回(v0.11.0 的一个指标因测量方式问题被正式撤销),体现了极高的数据诚信。
Hippo 通过 Model Context Protocol (MCP) 与各种 AI 工具无缝集成:
# 初始化一个项目,自动配置所有支持的 Agent
hippo init
# 扫描多个仓库,一次性初始化
hippo init --scan ~/
# Hippo init 会修改:
# - 项目目录:创建 .hippo/ SQLite 存储
# - CLAUDE.md / AGENTS.md:注入记忆注入指令
# - Claude Code:~/.claude/settings.json 添加 7 个 hook
# - OpenCode:安装插件
# - Codex:添加 hooks.json 条目
MCP 服务以 stdio 模式运行,任何 MCP 客户端都能接入。目前已验证支持:Claude Code、Cursor、Codex、OpenCode、OpenClaw、Pi,以及任何 MCP 兼容客户端。
还支持从外部系统导入记忆:Slack(通过 Webhook POST /v1/connectors/slack/events)和 GitHub(POST /v1/connectors/github/events)已有成熟连接器,数据完全本地存储,无境外传输风险。
Hippo 在 LongMemEval 上做了大量基准测试,部分数据:
| 测试集 | 配置 | R@5 |
|---|---|---|
| LongMemEval oracle split | BM25 only, 无嵌入模型 | 74.0% |
| LongMemEval per-haystack | MiniLM-L6(本地默认) | 96.6% |
| LongMemEval per-haystack | voyage-3-large(可选) | 99.8% |
| Slack 10 场景对比 | 记忆召回 vs 回放 | 10/10 胜出 |
Slack 对比测试中,Hippo 的前 10 条召回结果在 10 个场景中全部包含答案,而直接回放最近 10 条消息的对照组则全部失败——差距非常直观。
安装极简:
npm install -g hippo-memory
hippo init # 在项目目录下运行
安装完成后,在 Claude Code 中使用时,SessionEnd 会自动触发 hippo sleep,将本次会话中 agent 学到的知识固化到本地数据库。后续对话中,用 hippo recall 检索时,相关的历史经验就会自动注入上下文。
Web UI 方面,Hippo 有内置的 HTTP 服务(hippo server),但界面较为简单,不是重点。主要交互还是靠 CLI 和 MCP。
与竞品对比:相比 mem0(基于语言模型提取记忆、默认数据上云)、Zep/Cognee(图结构优先)、Letta(Agent 生命周期管理),Hippo 的核心差异在于:本地优先 + 生物学机制驱动 + 零外部依赖。
@huggingface/transformers 就无法获得最佳语义召回效果.hippo/ 目录Hippo 代表了一个趋势:AI Agent 正在从"单次响应"走向"持续学习"。当 agent 能够记住项目上下文、积累技术债务认知、避免重复踩坑,编程助手的价值就从"帮你写代码"升级为"成为真正懂你项目的伙伴"。
其科学诚信也值得称道——公开撤回不可靠的数据、承认失败测试、用数据而非形容词来描述效果,这种态度在 AI 领域非常稀缺。

Hippo init 在项目中创建记忆存储并自动配置 Agent hooks