Basic Memory:把 AI 对话的记忆装进本地 Markdown 文件
真正记住的人工智能对话。永远不要再向人工智能重新解释你的项目。加入我们的不和谐:.
秒懂
- 它是什么?
- Basic Memory 是一个以 Markdown 文件为核心、通过 MCP 协议连接各类 AI 客户端的本地优先记忆系统。它用知识图谱和语义搜索解决 AI 对话中反复解释项目背景的痛点,但 AGPL 许可和安装细节需要注意。
- 适合谁用?
- 适合那些每天与 Claude、Codex 或 Cursor 打交道,并且厌倦了反复向 AI 解释项目背景的开发者。它把记忆从黑盒数据库变成你磁盘上的纯文本,这个设计本身就降低了长期维护的心理负担。
- 能商用吗?
- 可以,但条件严格。AGPL-3.0 是网络 copyleft 许可证:如果别人通过网络使用你修改过的版本(例如作为托管服务),你必须以同一许可证向他们提供源代码。
- 还在维护吗?
- 在维护。仓库在最近一天内有新的提交。
- 用什么语言写的?
- 主要是 Python(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决的是 AI 对话的失忆症
用过 AI 编程助手的人都有这个体验:每次开新会话,都要重新解释一遍项目的目录结构、技术栈、编码规范。Basic Memory 想把这个过程取消掉。它的思路不是给 AI 加一个更大的上下文窗口,而是把知识沉淀成 Markdown 文件,放在你自己的磁盘上。这些文件既是人类可读的笔记,也是 AI 可以随时查询的数据库。它面向的是重度使用 Claude、Codex、Cursor 这类 MCP 客户端的开发者,尤其是那些同时维护多个项目、需要 AI 在项目之间切换时还能记得上下文的人。README 里引用的用户反馈,比如「不用再向 AI 重新解释项目了」,指向的正是这个具体场景。
本地优先,但不止是文件
Basic Memory 的核心机制是双向同步。AI 和人类写同一个 Markdown 文件集合,同步过程让两边保持一致。它不是简单的文件存储,而是构建了一个真正的知识图谱:笔记之间的 wikilinks 和观察(observations)会被组合成上下文。语义搜索是另一个关键能力,它按意义而不是关键词找笔记,还支持可选的 cross-encoder 重排序,用来提升向量和混合搜索结果的质量。这意味着你可以用自然语言问「我之前关于数据库索引的结论是什么」,而不是精确记得某个文件名。文档里强调这是本地优先的,数据永远在你磁盘上,云同步是可选的,不是必需的。
MCP 原生与渐进式工具发现
Basic Memory 通过 MCP(Model Context Protocol)与各种 AI 客户端通信,这是它能够适配 Claude Desktop、Codex、Cursor 等工具的原因。一个值得注意的设计是「渐进式工具发现」:每个工具都带有行为标签,比如只读、破坏性、幂等。代理可以按需选择正确的工具,而不用浪费上下文去尝试每个工具看它干什么。这个机制实际上是在帮 AI 节省 token,同时降低误操作的风险。对于使用过 MCP 但被工具列表淹没的人来说,这个设计是有实际价值的。不过,README 没有给出这些工具的具体名称和调用方式,实际使用中你可能需要自己探索。
安装:一条命令,但有一个坑
本地安装依赖 Python 和 uv 工具。官方给出的命令是:uv tool install basic-memory --prerelease=allow。这个 --prerelease=allow 不是可选的,README 明确警告:Basic Memory 0.23 依赖 FastMCP 4 的预发布版本,uv 默认不接受传递依赖的预发布版,不加这个标志会静默安装旧版本。同样的标志也要用在每次 uvx 或 uv tool upgrade 上。如果你要用 Postgres 存储语义向量,并且向量放在 Milvus 里,需要安装可选依赖:uv tool install "basic-memory[milvus]" --prerelease=allow。安装之后还要配置你的 AI 客户端,但 README 的表格被截断了,具体配置步骤没有完全展示。
云版本:同一套文件,不同的托管方式
Basic Memory 同时提供云服务,定价是每月 15 美元,锁价终身。云版本与本地版运行同一个产品、同一个 Markdown 格式,只是数据库、同步和备份由官方托管。它支持浏览器、移动端和桌面端,跨设备同步是内置的,还提供快照和恢复功能。云版基于 WorkOS AuthKit、Neon Postgres 和 Tigris S3 构建,用 rclone 做双向同步并带冲突解决。这里有一个明确的取舍:本地版免费但需要自己处理同步(比如用 Git 或 Syncthing),云版省事但数据不在你手里。README 声称没有锁定,可以随时导出 Markdown,但导出后的同步体验是否与云版一致,文档没有详细说明。
限制与适用边界
Basic Memory 不是万能的。首先,它要求你接受 Markdown 作为知识的中介格式,如果你习惯用数据库或专用笔记软件,这种文件即知识的模式可能显得原始。其次,本地版没有移动端访问,README 的对比表里明确写着 Mobile access: No。如果你主要用手机记录灵感,这个缺口会很明显。第三,语义搜索的质量依赖你如何组织笔记,如果 wikilinks 和观察写得杂乱,知识图谱的效果会大打折扣。最后,AGPL-3.0 许可对商业使用有影响,如果你的公司有严格的合规要求,需要仔细评估。文档没有提到升级成本,但考虑到它依赖 FastMCP 预发布版,每次升级都可能遇到类似的依赖陷阱。
替代方案:不是只有一条路
一个直接的替代方案是直接使用支持 MCP 的笔记工具,比如 Obsidian 配合其官方或社区 MCP 插件。区别在于:Obsidian 本身是一个完整的笔记应用,MCP 插件只是它的一个附加功能,知识图谱和搜索是围绕人类使用习惯设计的;而 Basic Memory 从底层就是为 AI 读写设计的,Markdown 文件和 MCP 工具是它的第一公民。另一个思路是用向量数据库自建记忆层,比如把对话历史嵌入到 Postgres 加 pgvector 里,再写一个自定义 MCP 服务器。这种方式更灵活,但需要自己处理同步、冲突和工具发现,Basic Memory 把这几件事打包好了。如果你只是想要一个简单的记忆插件,Obsidian 方案更轻;如果你想要一个独立的、AI 优先的知识层,Basic Memory 更对口。
编辑结论
适合那些每天与 Claude、Codex 或 Cursor 打交道,并且厌倦了反复向 AI 解释项目背景的开发者。它把记忆从黑盒数据库变成你磁盘上的纯文本,这个设计本身就降低了长期维护的心理负担。不适合完全不想碰命令行、或者对 AGPL-3.0 许可有顾虑的团队,也不适合需要多人实时协作且不想自建同步的场景。采用前先确认两件事:一是你的 Python 环境是否支持 uv 工具,并且安装时必须带上 --prerelease=allow 这个标志,否则会静默装到旧版本;二是如果你打算用 Postgres 加 Milvus 存向量,必须安装 basic-memory[milvus] 这个可选依赖。
社区笔记