Basic Memory让你能够通过与Claude等大型语言模型(LLM)的自然对话来构建持久化知识,同时将所有内容保存在你电脑上的简单Markdown文件中。它使用模型上下文协议(MCP),使任何兼容的LLM都能读取和写入你的本地知识库。
https://github.com/user-attachments/assets/a55d8238-8dd0-454a-be4c-8860dbbd0ddc
# 使用uv安装(推荐)
uv tool install basic-memory
# 配置Claude Desktop(编辑~/Library/Application Support/Claude/claude_desktop_config.json)
# 在你的配置中添加以下内容:
{
"mcpServers": {
"basic-memory": {
"command": "uvx",
"args": [
"basic-memory",
"mcp"
]
}
}
}
# 现在在Claude Desktop中,你可以:
# - 用"Create a note about coffee brewing methods"写笔记
# - 用"What do I know about pour over coffee?"读笔记
# - 用"Find information about Ethiopian beans"搜索

你可以通过~/basic-memory
(默认目录位置)中的文件查看共享的上下文。
你可以使用Smithery自动为Claude Desktop配置Basic Memory:
npx -y @smithery/cli install @basicmachines-co/basic-memory --client claude
这会安装和配置Basic Memory,而无需手动编辑Claude Desktop配置文件。Smithery服务器托管MCP服务器组件,而你的数据仍然作为Markdown文件存储在本地。
大多数LLM交互是短暂的——你问一个问题,得到一个答案,然后一切都被遗忘。每次对话都是全新的,没有之前对话的上下文或知识。当前的解决方法有局限性:
Basic Memory通过一个简单的方法解决了这些问题:人类和LLM都可以读取和写入的结构化Markdown文件。主要优势包括:
使用Basic Memory,你可以:
假设你正在探索咖啡冲泡方法并想记录你的知识。以下是工作原理:
我一直在尝试不同的咖啡冲泡方法。我学到的一些关键点: - 手冲比法压壶更能呈现清晰的风味 - 水温至关重要——大约205°F似乎是最好的 - 新鲜研磨的豆子有很大的不同
...继续对话。
"让我们写一篇关于咖啡冲泡方法的笔记。"
LLM在你的系统上创建一个新的Markdown文件(你可以在Obsidian或你的编辑器中立即看到):
---
title: 咖啡冲泡方法
permalink: coffee-brewing-methods
tags:
- 咖啡
- 冲泡
---
# 咖啡冲泡方法
## 观察
- [方法] 手冲比法压壶更能呈现清晰的风味和微妙的味道
- [技巧] 水温在205°F(96°C)时提取最佳化合物
- [原则] 新鲜研磨的豆子保留香气和风味
## 关系
- relates_to [[咖啡豆产地]]
- requires [[正确的研磨技巧]]
- affects [[风味提取]]

笔记嵌入了语义内容,并通过简单的Markdown格式链接到其他主题。
~/$HOME/basic-memory
)中实时看到这个文件。查看`coffee-brewing-methods`以获取关于手冲咖啡的上下文
现在LLM可以从知识图谱中构建丰富的上下文。例如:
跟随关系'relates_to [[咖啡豆产地]]': - 找到了关于埃塞俄比亚耶加雪菲的信息 - 关于哥伦比亚豆子坚果风味的笔记 - 海拔对豆子特性的影响 跟随关系'requires [[正确的研磨技巧]]': - 磨豆机与刀片磨豆机的比较 - 不同方法的研磨尺寸建议 - 一致的颗粒大小对提取的影响
每个相关文档都可以带来更多上下文,构建对你知识库的丰富语义理解。
这创造了一个双向流动:
在底层,Basic Memory:
实体
对象实体
可以有观察
,或与之相关的事实关系
将实体连接在一起形成知识图谱文件格式只是带有简单标记的Markdown:
每个Markdown文件有:
title: <实体标题>
type: <实体类型>(例如笔记)
permalink: <uri slug>
- <可选元数据>(如标签)

观察是关于一个主题的事实。
可以通过创建带有特殊格式的Markdown列表来添加观察,该格式可以使用"#"字符引用类别
、标签
,并可选地包含上下文
。
观察Markdown格式:
- [类别] 内容 #标签(可选上下文)

观察示例:
- [方法] 手冲比法压壶更能提取花香
- [技巧] 手冲的研磨尺寸应该是中细 #冲泡
- [偏好] 埃塞俄比亚豆子有明亮、果味的风味(尤其是耶加雪菲)
- [事实] 浅烘焙通常比深烘焙含有更多的咖啡因
- [实验] 尝试了1:15的咖啡与水比例,效果很好
- [资源] YouTube上James Hoffman的V60技巧非常棒
- [问题] 水温是否对不同化合物的提取有不同的影响?
- [笔记] 我最喜欢的本地商店使用30秒的闷蒸时间

关系是到其他主题的链接。它们定义了知识图谱中实体之间的连接方式。
Markdown格式:
- 关系类型 [[WikiLink]](可选上下文)

关系示例:
- pairs_well_with [[巧克力甜点]]
- grown_in [[埃塞俄比亚]]
- contrasts_with [[茶冲泡方法]]
- requires [[磨豆机]]
- improves_with [[新鲜豆子]]
- relates_to [[早晨例程]]
- inspired_by [[日本咖啡文化]]
- documented_in [[咖啡日志]]

要一键安装,请点击下面的安装按钮之一...
你可以使用Basic Memory与VS Code轻松地在编码时检索和存储信息。点击上面的安装按钮进行一键设置,或者按照下面的手动安装说明操作。
将以下JSON块添加到你的VS Code用户设置(JSON)文件中。你可以通过按Ctrl + Shift + P
并输入Preferences: Open User Settings (JSON)
来执行此操作。
{
"mcp": {
"servers": {
"basic-memory": {
"command": "uvx",
"args": ["basic-memory", "mcp"]
}
}
}
}

可选地,你可以将它添加到你的工作区中的.vscode/mcp.json
文件中。这将允许你与他人共享配置。
{
"servers": {
"basic-memory": {
"command": "uvx",
"args": ["basic-memory", "mcp"]
}
}
}

Basic Memory使用MCP(模型上下文协议)构建,并与Claude桌面应用程序(https://claude.ai/)一起工作:
编辑你的MCP配置文件(通常位于~/Library/Application Support/Claude/claude_desktop_config.json
,适用于OS X):
{
"mcpServers": {
"basic-memory": {
"command": "uvx",
"args": [
"basic-memory",
"mcp"
]
}
}
}

如果你想使用特定的项目(参见多个项目),更新你的Claude Desktop配置:
{
"mcpServers": {
"basic-memory": {
"command": "uvx",
"args": [
"basic-memory",
"--project",
"your-project-name",
"mcp"
]
}
}
}

如果你手动编辑,Basic Memory会实时同步你项目中的文件。
write_note(title, content, folder, tags) - 创建或更新笔记 read_note(identifier, page, page_size) - 按标题或永久链接读取笔记 build_context(url, depth, timeframe) - 通过memory:// URL导航知识图谱 search_notes(query, page, page_size) - 在你的知识库中搜索 recent_activity(type, depth, timeframe) - 查找最近更新的信息 canvas(nodes, edges, title, folder) - 生成知识可视化
"创建一篇关于我们项目架构决策的笔记" "在我的笔记中查找关于JWT认证的信息" "创建我的项目组件的知识可视化" "阅读我关于认证系统的笔记" "过去一周我在做什么?"
请参阅文档以获取更多信息,包括:
AGPL-3.0
欢迎贡献。请参阅贡献指南,了解如何在本地设置项目并提交PR。
由Basic Machines用心构建