Skip to main content
Glama

许可证:AGPL v3 PyPI 版本 Python 3.12+ 测试 拉夫 铁匠徽章

基本记忆

基本记忆 (Basic Memory) 可让您通过与 Claude 等大型语言模型 (LLM) 进行自然对话来构建持久知识,同时将所有内容保存在计算机上的简单 Markdown 文件中。它使用模型上下文协议 (MCP),使任何兼容的 LLM 都能读取和写入您的本地知识库。

从上次中断的地方继续对话

  • AI 助手可以在新对话中从本地文件加载上下文

  • 笔记实时保存为本地 Markdown 文件

  • 无需项目知识或特殊提示

https://github.com/user-attachments/assets/a55d8238-8dd0-454a-be4c-8860dbbd0ddc

Related MCP server: memento-mcp

快速入门

# Install with uv (recommended) uv tool install basic-memory # Configure Claude Desktop (edit ~/Library/Application Support/Claude/claude_desktop_config.json) # Add this to your config: { "mcpServers": { "basic-memory": { "command": "uvx", "args": [ "basic-memory", "mcp" ] } } } # Now in Claude Desktop, you can: # - Write notes with "Create a note about coffee brewing methods" # - Read notes with "What do I know about pour over coffee?" # - Search with "Find information about Ethiopian beans"

您可以通过~/basic-memory (默认目录位置)中的文件查看共享上下文。

通过 Smithery 进行替代安装

您可以使用Smithery为 Claude Desktop 自动配置基本内存:

npx -y @smithery/cli install @basicmachines-co/basic-memory --client claude

这将安装并配置 Basic Memory,无需手动编辑 Claude Desktop 配置文件。Smithery 服务器托管 MCP 服务器组件,而您的数据仍以 Markdown 文件的形式存储在本地。

Glama.ai

为什么是基本记忆?

大多数LLM互动都是短暂的——你提出一个问题,得到一个答案,然后一切都被遗忘了。每次对话都是全新的,没有之前对话的背景或知识。目前的解决方法存在局限性:

  • 聊天记录记录了对话,但不是结构化的知识

  • RAG 系统可以查询文档,但不允许 LLM 写回

  • 矢量数据库需要复杂的设置,并且通常位于云端

  • 知识图谱通常需要专门的工具来维护

Basic Memory 用一种简单的方法解决了这些问题:结构化的 Markdown 文件,人类和 LLM 都可以读写。其主要优势如下:

  • **本地优先:**所有知识都保留在你控制的文件中

  • **双向:**您和 LLM 都可以读取和写入相同的文件

  • **结构化且简单:**使用熟悉的 Markdown 和语义模式

  • 可遍历知识图谱: LLM 可以追踪主题之间的链接

  • **标准格式:**可与 Obsidian 等现有编辑器配合使用

  • **轻量级基础设施:**仅在本地 SQLite 数据库中索引的本地文件

使用基本记忆,您可以:

  • 进行基于先前知识的对话

  • 在自然对话中创建结构化笔记

  • 与法学硕士进行对话,让他们记住你之前讨论过的内容

  • 语义导航你的知识图谱

  • 让一切都保持本地化并处于您的控制之下

  • 使用熟悉的工具(如 Obsidian)查看和编辑笔记

  • 建立随时间增长的个人知识库

实践操作

假设你正在探索咖啡冲泡方法,并想记录你的知识。具体操作如下:

  1. 开始正常聊天:

I've been experimenting with different coffee brewing methods. Key things I've learned: - Pour over gives more clarity in flavor than French press - Water temperature is critical - around 205°F seems best - Freshly ground beans make a huge difference

...继续对话。

  1. 请法学硕士 (LLM) 帮助构建这些知识:

"Let's write a note about coffee brewing methods."

LLM 在您的系统上创建一个新的 Markdown 文件(您可以在 Obsidian 或编辑器中立即看到它):

--- title: Coffee Brewing Methods permalink: coffee-brewing-methods tags: - coffee - brewing --- # Coffee Brewing Methods ## Observations - [method] Pour over provides more clarity and highlights subtle flavors - [technique] Water temperature at 205°F (96°C) extracts optimal compounds - [principle] Freshly ground beans preserve aromatics and flavor ## Relations - relates_to [[Coffee Bean Origins]] - requires [[Proper Grinding Technique]] - affects [[Flavor Extraction]]

该笔记通过简单的 Markdown 格式嵌入语义内容并链接到其他主题。

  1. 您可以在计算机上的当前项目目录(默认~/$HOME/basic-memory )中实时看到此文件。

  • 从 v0.12.0 版本开始,实时同步默认启用

  1. 在与LLM聊天时,你可以参考一个话题:

Look at `coffee-brewing-methods` for context about pour over coffee

LLM 现在可以从知识图谱中构建丰富的上下文。例如:

Following relation 'relates_to [[Coffee Bean Origins]]': - Found information about Ethiopian Yirgacheffe - Notes on Colombian beans' nutty profile - Altitude effects on bean characteristics Following relation 'requires [[Proper Grinding Technique]]': - Burr vs. blade grinder comparisons - Grind size recommendations for different methods - Impact of consistent particle size on extraction

每个相关文档都可以提供更多的背景信息,从而为您的知识库构建丰富的语义理解。

这会形成双向流动:

  • 人类编写和编辑 Markdown 文件

  • LLM通过MCP协议进行读写

  • 同步使一切保持一致

  • 所有知识都保存在本地文件中。

技术实现

基本内存的底层:

  1. 将所有内容存储在 Markdown 文件中

  2. 使用 SQLite 数据库进行搜索和索引

  3. 从简单的 Markdown 模式中提取语义

    • 文件成为Entity对象

    • 每个Entity可以有与其相关的Observations或事实

    • Relations将实体连接在一起形成知识图谱

  4. 维护从文件中提取的本地知识图谱

  5. 提供文件和知识图谱之间的双向同步

  6. 实现用于 AI 集成的模型上下文协议 (MCP)

  7. 公开允许人工智能助手遍历和操作知识图谱的工具

  8. 使用memory:// URL来跨工具和对话引用实体

文件格式只是带有一些简单标记的 Markdown:

每个 Markdown 文件都有:

前言

title: <Entity title> type: <The type of Entity> (e.g. note) permalink: <a uri slug> - <optional metadata> (such as tags)

观察

观察是关于某个主题的事实。它们可以通过创建 Markdown 列表来添加,该列表具有特殊的格式,可以引用category 、使用“#”字符的tags以及可选的context

观察 Markdown 格式:

- [category] content #tag (optional context)

观察示例:

- [method] Pour over extracts more floral notes than French press - [tip] Grind size should be medium-fine for pour over #brewing - [preference] Ethiopian beans have bright, fruity flavors (especially from Yirgacheffe) - [fact] Lighter roasts generally contain more caffeine than dark roasts - [experiment] Tried 1:15 coffee-to-water ratio with good results - [resource] James Hoffman's V60 technique on YouTube is excellent - [question] Does water temperature affect extraction of different compounds differently? - [note] My favorite local shop uses a 30-second bloom time

关系

关系是指向其他主题的链接。它们定义了实体在知识图谱中的连接方式。

Markdown 格式:

- relation_type [[WikiLink]] (optional context)

关系示例:

- pairs_well_with [[Chocolate Desserts]] - grown_in [[Ethiopia]] - contrasts_with [[Tea Brewing Methods]] - requires [[Burr Grinder]] - improves_with [[Fresh Beans]] - relates_to [[Morning Routine]] - inspired_by [[Japanese Coffee Culture]] - documented_in [[Coffee Journal]]

与 VS Code 一起使用

对于一键安装,请单击下面的安装按钮之一...

在 VS Code 中使用 UV 安装 在 VS Code Insiders 中使用 UV 安装

您可以将 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"] } } }

与 Claude Desktop 一起使用

基本内存是使用 MCP(模型上下文协议)构建的,并与 Claude 桌面应用程序( https://claude.ai/ )配合使用:

  1. 配置 Claude Desktop 使用基本内存:

编辑您的 MCP 配置文件(对于 OS X,通常位于~/Library/Application Support/Claude/claude_desktop_config.json ):

{ "mcpServers": { "basic-memory": { "command": "uvx", "args": [ "basic-memory", "mcp" ] } } }

如果您想使用特定项目(请参阅多个项目),请更新您的 Claude Desktop 配置:

{ "mcpServers": { "basic-memory": { "command": "uvx", "args": [ "basic-memory", "--project", "your-project-name", "mcp" ] } } }
  1. 同步您的知识:

如果您进行手动编辑,基本内存将实时同步项目中的文件。

  1. 在 Claude Desktop 中,法学硕士现在可以使用以下工具:

write_note(title, content, folder, tags) - Create or update notes read_note(identifier, page, page_size) - Read notes by title or permalink build_context(url, depth, timeframe) - Navigate knowledge graph via memory:// URLs search_notes(query, page, page_size) - Search across your knowledge base recent_activity(type, depth, timeframe) - Find recently updated information canvas(nodes, edges, title, folder) - Generate knowledge visualizations
  1. 尝试的示例提示:

"Create a note about our project architecture decisions" "Find information about JWT authentication in my notes" "Create a canvas visualization of my project components" "Read my notes on the authentication system" "What have I been working on in the past week?"

更多信息

请参阅文档以了解更多信息,包括:

执照

AGPL-3.0

欢迎贡献。请参阅贡献指南,了解如何在本地设置项目并提交 PR。

星史

由 Basic Machines 倾情打造

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/basicmachines-co/basic-memory'

If you have feedback or need assistance with the MCP directory API, please join our Discord server