本地优先的知识管理系统,结合 Zettelkasten 笔记法与知识图谱,通过 MCP 让 LLM 实现跨会话持久记忆。
Basic Memory 是一个本地优先的知识管理系统,采用 Python(≥ 3.12)构建,基于 Model Context Protocol(MCP)协议让兼容的大语言模型(如 Claude)直接读写本地 Markdown 知识库,从而解决 LLM 对话遗忘问题,实现跨会话的上下文延续。
知识以结构化 Markdown 文件存储在用户本地文件系统(默认 ~/basic-memory),人类可直接编辑,也可用 Obsidian 等工具查看。数据模型采用 Entity → Observations → Relations 结构,通过 [[WikiLink]] 语法定义实体关系,自动构建可遍历的知识图谱。v0.19.0 版本新增 FastEmbed 语义向量搜索,支持全文 + 向量相似度混合检索,并引入 Schema 系统(schema_infer、schema_validate、schema_diff)用于知识库结构的推断、验证与差异比较。
底层使用 SQLAlchemy ≥ 2.0 + Alembic 管理数据访问与迁移,默认 SQLite 索引(含 sqlite-vec 向量扩展),可选 PostgreSQL 后端。MCP 服务通过 FastAPI 暴露,支持 stdio、streamable-http、sse 三种传输模式。CLI 基于 Typer + Rich 构建,提供双入口命令(basic-memory / bm),支持 JSON 输出、工作区感知和 htop 风格仪表板。
项目采用 AGPL-3.0-or-later 许可证发布,当前最新版本为 v0.19.0。除完全本地化部署外,可选 Basic Memory Cloud 实现跨设备同步(OAuth + API Key 认证,按项目级别路由),支持桌面、Web 和移动端。仓库提供 Dockerfile 及 docker-compose 配置,支持容器化部署。