muninndb
将艾宾浩斯遗忘曲线和Hebbian学习内置为引擎原语,记忆自动进化、关联、衰减的认知数据库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将艾宾浩斯遗忘曲线和Hebbian学习内置为引擎原语,记忆自动进化、关联、衰减的认知数据库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:凌晨两点,你正在调试一个支付重试逻辑的 bug。敲了几行代码之后,你的数据库突然"推"了一条记忆给你——那是三个月前,你们团队因为双重扣款切到幂等 key 的一段记录。你没有搜索,它没有等你问。这条记忆觉得现在是时候了。
这不是 RAG(检索增强生成),不是图数据库,也不是向量数据库的简单包装。这是 MuninnDB,一个以认知科学为底层原语构建的"认知数据库"。它的命名来自北欧神话中奥丁肩头的两只乌鸦——一只叫 Huginn(思维),一只叫 Muninn(记忆)——负责在世间巡游,将一切所见带回神王耳边。项目创始人 scrypster 在 2026 年 2 月开源后,仅用四个月便积累了 300+ GitHub Stars,在 Hacker News 上引发过一波讨论。

图1:MuninnDB 项目 Logo —— 乌鸦符号承载了项目的核心隐喻
你也许会问:给 AI 加个记忆层,现在不是满大街都是方案吗?MemGPT、Piper、Agent Memory……这个赛道已经拥挤不堪。 MuninnDB 的差异化在于——它不依赖外部基础设施。没有 Redis,没有 Kafka,没有 Postgres,一个二进制文件,一行安装命令,在 MacBook 上能跑,在三节点集群上也能跑。
项目的起源故事颇具画面感:开发者在一次远程工作中忘了关空调,事后怎么也想不起来是什么时候出门的。他意识到,人脑有一种内建的"遗忘机制"——艾宾浩斯遗忘曲线(Ebbinghaus Decay)——越是频繁调用的记忆越清晰,越是久未触及的细节越容易模糊。而现有的数据存储方案,本质上都是"静止档案馆":数据写进去,除非你主动查询,否则它永远躺在那里等你。
MuninnDB 的核心假设是:记忆应该像大脑一样动态。它将每条记忆称为 Engram(记忆痕迹),内置三类认知原语:
这三个原语不是插件,不是配置项,是引擎层面的编译级内置特性——从第一天就融进了代码地基里。
传统数据库(无论是 SQL 还是向量数据库)像一个档案馆:
管理员把文件归档,贴上标签,放进柜子。你来找的时候,他翻索引,告诉你"第3排第5格有你要的东西"。文件不会自己动,不会因为被反复调阅而变得更显眼,也不会因为隔壁文件被频繁访问而悄悄靠近。
MuninnDB 像一个有生命的记忆网络:
神经生物学家在场。你存入"用户投诉加载慢"这条记忆,他立刻把它挂到"性能优化"和"年前压测"这两个高活跃簇上。每当你调试性能问题,相关记忆自动浮上来;每次你解决了同类问题,记忆间的连接更强了;如果你后来发现之前某条记忆是错的,系统自动降权,不再优先推给你。
底层存储选型也很有意思:核心存储引擎用的是 CockroachDB Pebble(LSM tree 结构,高写入性能),结合 Go 原生并发模型,单实例吞吐量可达每秒数万次操作。嵌入向量模型默认捆绑 all-MiniLM-L6-v2(ONNX 格式本地推理,零依赖),也可切换到 Ollama、OpenAI 或 Voyage 的云端服务。
MuninnDB 提供完整的 API 矩阵,满足不同技术栈的接入需求:
| 协议 | 端口 | 典型场景 |
|---|---|---|
| REST API | 8475 | 快速集成、Webhook、外部系统 |
| Web UI | 8476 | 可视化管理、数据浏览、监控面板 |
| gRPC | 8477 | 高性能内部通信、微服务间调用 |
| MCP | 8750 | AI Agent 工具调用(Claude/Cursor/OpenCode 等) |
在 MCP 协议上,MuninnDB 一口气暴露了 35 个工具,包括 remember(存储记忆)、recall(语义检索)、activate(上下文激活)、guide(AI 接入指南)等,涵盖增删改查、vault 管理、批处理等全生命周期操作。
ACTIVATE 管线是整个系统的执行核心,一次调用背后走完 6 个阶段:并行全文 + 向量搜索 -> 结果融合 -> Hebbian 联想增强 -> 时序模式预测注入 -> 关联图遍历 -> ACT-R 时序权重评分。官方实测延迟低于 20ms。
另一个亮点是主动推送语义触发器(Semantic Triggers):你订阅一个上下文条件,当数据库发现某条记忆对该上下文的关联度发生变化时,数据库主动推给你,无需轮询。这在实时问答、监控告警、智能助手等场景下意义重大——记忆不再被动等待查询,它会自己判断何时该出现。
这是 MuninnDB 最打动开发者的优点之一:没有配置文件,没有环境变量,没有依赖服务。
# macOS / Linux
curl -sSL https://muninndb.com/install.sh | sh
muninn start
# Windows
irm https://muninndb.com/install.ps1 | iex
muninn start
首次启动自动完成:下载 ONNX 嵌入模型 -> 初始化存储目录 -> 生成管理令牌 -> 启动所有服务(REST、Web、gRPC、MCP)。Web UI 访问 http://127.0.0.1:8476,默认账号 root / password,开箱即见管理面板。
Docker Compose 方式同样友好:一条 docker-compose up 即可在隔离环境中完整运行,支持自定义 Ollama/OpenAI 嵌入服务和 LLM enrichment(可选,默认不开启,节省资源)。
AI 工具接入:运行 muninn init,它会自动检测 Claude Desktop、Cursor、Windsurf、VS Code、OpenCode 等常见 AI 编程工具,完成 MCP 配置注入,整个过程无需手动编辑 JSON。对于 Claude Desktop v1.1.4010+ 版本,文档还特别提醒了 type: http 字段会导致启动崩溃的兼容性问题——说明团队在真实用户场景中踩过坑。
MuninnDB 并非没有短板,以下几点值得潜在使用者了解:
1. 许可证(BSL 1.1):项目采用 BSL(Business Source License),允许免费使用和研究,但禁止商业生产环境使用(4 年后自动转为 GPL)。这对个人开发者和研究场景无影响,但如果企业想在生产中使用,需要注意合规边界。
2. alpha 阶段:截至 2026 年 7 月,项目仍处于 alpha 版本,虽然已有集群复制功能(Cortex/Lobe replication layer),但官方文档坦承"在真实多节点部署中并不完全可靠",v0.5.x 版本仍在快速迭代。生产环境使用需谨慎评估。
3. 专利申请:项目方于 2026 年 2 月 26 日就核心认知原语申请了临时专利。虽然专利保护有助于保持开源开放(防止大厂独家闭源),但也可能给部分企业用户带来合规顾虑。
4. 向量嵌入模型的本地 ONNX 推理:虽然 zero-dependency 理念很优雅,但 all-MiniLM-L6-v2 模型在首次启动时需要下载(~90MB),ONNX Runtime 的 CPU 推理在低端设备上可能面临性能瓶颈。GPU 加速支持尚未实现。
MuninnDB 正在尝试回答一个更根本的问题:当 AI Agent 变得越来越自主时,记忆系统应该长什么样?
过去一年,Agent Memory 赛道的主流范式是"RAG Wrapper"——给向量数据库套一层 Agent SDK,让它看起来像"记忆"。这条路走得通,但天花板也很明显:记忆是静态的,需要主动查询,无法自主判断何时该出现,而且记忆之间的关系需要人工建模。
MuninnDB 的实验价值在于:它把认知科学的核心机制(遗忘曲线、联想学习、置信评估)做成了数据库引擎的内置原语,让记忆自己管理自己。开发者不需要写任何认知逻辑,只需要调用 API,剩下的由引擎处理。这种"认知数据库"的思路,在 AI Agent 大规模落地的背景下,代表了一种值得关注的技术方向。
当然,这条路是否走得通,还需要看社区的真实反馈和大规模生产环境的验证。但至少,它让我们看到了一个可能性:未来的 AI 系统,也许不再需要 Redis 来存状态,而是需要一个会思考"这条记忆什么时候该被想起来"的记忆大脑。
| 维度 | 评价 |
|---|---|
| 架构创新 | 五星 —— 认知原语内置,非简单包装 |
| 部署体验 | 五星 —— 零配置,单二进制 |
| 功能完整度 | 四星 —— MCP/REST/gRPC 全覆盖 |
| 生产就绪度 | 三星 —— alpha 阶段,集群功能待验证 |
| 社区活跃度 | 三星 —— 早期项目,文档较完善 |
| 许可证友好度 | 三星 —— BSL 有商业限制 |