mcpField
B
Basic Memory

Basic Memory

本地服务
basicmemory.com记忆与知识4.4k今天更新

关于 Basic Memory

Basic Memory 是一个为 AI 对话提供持久记忆的 MCP 服务。知识以 Markdown 文件形式保存在本地或云端,AI 与用户都可以读写和搜索,适合希望跨会话保留项目上下文的用户。

主要功能

  1. 01以 Markdown 文件保存本地优先的知识
  2. 02AI 与人工可双向读写并同步
  3. 03基于观察和双向链接的知识图谱
  4. 04按语义而非关键词搜索笔记
  5. 05工具带有只读、破坏性等行为提示
  6. 06可选的云端托管与跨设备同步

适用场景

  1. 01跨会话保存项目背景,无需重复说明
  2. 02记录学习笔记和工作日志并随时检索
  3. 03在 Obsidian 等工具中查看 AI 写入的笔记

MCP 相关

Basic Memory 作为 MCP 服务运行,向 Claude、Cursor、VS Code 等 MCP 客户端提供笔记的读取、写入与搜索工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"basic-memory": {
"command": "uvx",
"args": [
"basic-memory"
]
}
}
}
启动命令uvx basic-memory

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypibasic-memory0.24.1

工具

21

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

MCP Toplist

License: AGPL v3 PyPI version Python 3.12+ Tests Ruff MCP Server MCP Dev Ask DeepWiki

跳过安装——在云端试用 Basic Memory

连接 Claude、Codex 或 Cursor,只需 30 秒。无需 Python、JSON 或 终端。每月 $15.00,终身锁定(按年付费每月 12.50)。免费试用 7 天—— 如果不适合你,可在第 7 天前随时取消。Beta 定价—— 现在注册,价格永不上涨。OSS 用户:使用代码 BMFOSS,可再享 3 个月 8 折优惠。

开始免费试用 →

Basic Memory Teams 现已上线!

为团队提供一个共享的云工作区。知识不再局限于一个人——团队成员撰写的内容会立即提供给其他所有人及其 AI 助手。 实时共同编辑笔记,在人和 Agent 之间交接工作,并构建一个互联的知识库,而不是散落各处的副本。定价不变——从一个用户开始,并可按需添加更多用户。


Basic Memory

让你的 AI 永不遗忘。

无论使用 Claude、Codex、Cursor、ChatGPT,还是任何支持 MCP 的工具, 都能从上次中断处继续。你的知识以 Markdown 文件的形式保存,你和 AI 都可以读取、写入和 搜索。

  • 本地优先。 磁盘上的纯文本,永久保存。
  • 双向协作。 AI 和人类写入相同的文件;同步让双方保持一致。
  • 真正的知识图谱。 观察记录和 Wiki 链接不断累积,形成上下文。
  • 语义搜索。 按含义而非仅按关键词查找笔记;还可选择使用 交叉编码器重排序,以获得更高质量的向量和混合搜索结果。
  • 原生支持 MCP。 适用于所有主流 AI 客户端和 IDE。
  • 渐进式工具发现。 每个工具都标注了行为提示 (只读、破坏性、幂等),让 Agent 能按需选择合适的工具——无需浪费上下文尝试操作来了解工具用途。
  • 云端,按需启用。 想要时可跨设备同步——但绝非必需。

开始使用

选择适合你的方式。两种方式运行的都是同一款产品,处理的也都是同一份 Markdown。

☁️   云端💻   本地安装

30 秒。 注册账号,连接 AI 客户端,完成。

  • 在任何浏览器中都能使用
  • 支持移动端、网页端和桌面端
  • 内置跨设备同步
  • 托管、备份和快照都由我们处理

每月 $15.00,终身锁定价格 · 免费试用 7 天 · 随时取消

开始免费试用 →

2 分钟。 安装、配置 AI 客户端,然后运行。

  • 永久免费(AGPL-3.0)
  • 所有数据都存储在你的磁盘上
  • 适合隔离网络环境
  • 需要通过 uv 使用 Python
uv tool install basic-memory --prerelease=allow

必须使用 --prerelease=allow:Basic Memory 0.23 依赖 FastMCP 4 的预发布版本,而 uv 只有在明确指定时才会接受传递依赖的预发布版本;如果不加此标志,它会悄悄安装较旧的版本。下方每条 uvx / uv tool upgrade 命令也都需要加上同一标志。

对于在 Postgres 部署中使用 Milvus 存储语义向量的情况,请安装官方提供的可选扩展:

uv tool install "basic-memory[milvus]" --prerelease=allow

配置客户端 ↓

用户评价

Basic Memory 改变了我与大模型相处的方式。因为这项集成,我从 GPT 和 Gemini 转而只用 Claude 和 Claude Code,并正在围绕 Basic Memory 工作流,全面改造我们公司的流程。

— Alex,TrainerDay

Basic Memory 补上了 AI 聊天机器人的缺失一环,带来了“哇”的感觉。现在我已经无法想象没有它的 Claude 或 Claude Code 了。

— Caleb,Caleb Picker Consulting

现在我写代码已经离不开 Basic Memory 了。能够查阅当前没有在进行的项目,并持续记录所有心得和实用技巧,实在节省了很多时间。

— @groksrc,开发者

更多信息请访问 basicmemory.com。

Basic Memory 云端版

Basic Memory 的托管版本。产品相同、Markdown 文件相同、MCP 工具相同——只是由我们托管数据库、运行同步,并让你在手机上使用。

你将获得
  • 所有设备,共享同一大脑。 在网页端、移动端和桌面端访问你的知识图谱。无需在不同设备间复制粘贴。
  • 连接任何 MCP 客户端。 Claude Desktop、Claude Code、Codex、Cursor、ChatGPT(Custom GPTs)、VS Code——在网页应用中一键连接。
  • 与本地双向同步。 在手机上编辑,笔记本电脑上的 Obsidian 中即可查看。由 rclone 驱动,并提供冲突解决功能。
  • 快照和备份。 可恢复到特定时间点。浏览历史记录。再也不会丢失笔记。
  • 没有锁定。 你的笔记都是纯 Markdown。随时导出为本地 Markdown——文件相同、格式相同、维基链接也相同。随时取消,数据始终归你所有。

基于 WorkOS AuthKit、Neon Postgres 和 Tigris S3 构建。

定价

每月 $15.00,订阅期间价格始终不变(常规价格为 $19)。在测试期间注册,价格永不上涨——只要你持续订阅,就能保留此价格。一个套餐,无等级之分,没有意外升级。笔记数量不限、项目数量不限,所有功能均可使用。

  • 免费试用 7 天。如果不适合你,可在第 7 天前随时取消。
  • 之后也可随时取消——想什么时候导出笔记都可以。
  • 开源用户:使用代码 BMFOSS,可再享 3 个月 8 折优惠(约 $11.40/月)。

开始 7 天免费试用 →

云端与本地

云端本地
设置时间30 秒2 分钟(需要 Python)
费用$15.00/mo,终身锁定(7 天试用)免费
存储我们托管(Tigris S3)你的磁盘
跨设备同步内置手动(Git、Syncthing 等)
移动端访问支持(网页 + 应用)不支持
隔离网络环境不支持支持
你的数据归你所有是 — 可随时导出是 — 数据已在本地
源代码AGPL-3.0AGPL-3.0
快照与备份内置自行配置

两种方式使用相同的开源引擎和相同的 Markdown 文件。无论选择哪种方式,都不会被锁定 — 需求变化时可随时切换。

兼容你已在使用的工具

客户端传输方式备注
云端 Web 应用https在 basicmemory.com 登录 — 无需安装
Claude Desktopstdio/httpsmacOS / Windows / Linux
Claude Codestdio/httpsclaude mcp add
Codexstdio/httpsOpenAI 的编码 Agent
Cursorstdio/https.cursor/mcp.json
VS Codestdio/https原生支持 MCP
ChatGPThttps自定义 GPT 操作(search / fetch)
Obsidian—直接读取 / 写入相同的 Markdown 文件
任何 MCP 工具stdio/https只要支持 MCP,就能使用

官方 Agent 软件包

此仓库也是 Basic Memory 原生宿主 Agent 软件包的权威发布源。核心 Python 软件包、Claude Code 插件、共享技能、Hermes 插件和 OpenClaw 插件都来自同一源代码树。

维护者可以在仓库根目录验证整个整合后的组件:

just package-check

在单个宿主环境中工作时,也可以使用各软件包目录下的 justfile:

just package-check-claude-code
just package-check-skills
just package-check-hermes
just package-check-openclaw
Claude Code 插件

Claude Code 插件是 Claude 工作记忆与 Basic Memory 之间的桥梁 — 提供会话开始简报、压缩前检查点、可选启用的捕获输出风格,以及 /basic-memory:bm-setup · :remember · :share · :status。

请先连接 Basic Memory MCP 服务 — 参见连接你的 AI 客户端。插件的钩子和技能会调用该服务,因此这是必需的前置条件。然后安装插件:

bm install claude-code

这会注册市场并通过 Claude Code 安装插件。添加 --scope project,即可在仓库的设置中声明两者,供团队使用;添加 --dry-run,则可查看底层的 claude plugin 命令而不实际运行。

源代码:plugins/claude-code。

共享技能

与框架无关的 SKILL.md 文件位于 skills/。如果你的 Skills CLI 支持从仓库子目录获取资源:

npx skills add basicmachines-co/basic-memory/skills -g

对于 Claude 和 ChatGPT,请从 skills-latest 版本下载 basic-memory.zip 或 basic-memory-chatgpt.zip 并上传;详情参见 skills/README.md。

如果你安装的 Skills CLI 无法加载该来源,请更新 CLI,或将 skills/ 中的 memory-* 目录复制到 Agent 的技能目录。

Hermes

Hermes 在 integrations/hermes 中保留其原生插件结构:

hermes plugins install basicmachines-co/basic-memory/integrations/hermes

Hermes 不会安装插件的 Python 依赖,因此还要将 mcp 软件包添加到 Hermes 虚拟环境中 — 具体步骤和支持的 Hermes 版本请参见插件 README。

OpenClaw

OpenClaw 保持软件包原生形态,并从 integrations/openclaw 发布:

openclaw plugins install @basicmemory/openclaw-basic-memory

从上次中断处继续

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

连接你的 AI 客户端

如果你选择了云端方式,Web 应用会引导你连接客户端。以下代码片段适用于本地安装。

Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

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

重启 Claude Desktop。默认情况下,笔记位于 ~/basic-memory。

Claude Code、Codex CLI、Cursor、VS Code、ChatGPT、Obsidian
Claude Code
claude mcp add basic-memory -- uvx --prerelease=allow basic-memory mcp

如需完整的记忆桥接功能——会话简报、上下文压缩前检查点,以及 /basic-memory:* 命令——还需在此基础上安装 Claude Code 插件。

Codex CLI

添加到 ~/.codex/config.toml:

[mcp_servers.basic-memory]
command = "uvx"
args = ["--prerelease=allow", "basic-memory", "mcp"]

Codex 可以保留默认的 MCP 审批行为;或者,你也可以在同一配置表中添加此服务器范围的设置,预先批准符合条件的 Basic Memory 工具:

[mcp_servers.basic-memory]
command = "uvx"
args = ["--prerelease=allow", "basic-memory", "mcp"]
default_tools_approval_mode = "approve"

这不会全局禁用 Codex 审批,也不会扩大服务器可访问的 Basic Memory 项目范围。对于声明了破坏性注释的工具(包括 Basic Memory 的写入、编辑和删除工具),Codex 仍要求审批。如果你安装了 Basic Memory Codex 插件,请改用其插件范围配置。

Cursor

添加到 .cursor/mcp.json(项目级)或 ~/.cursor/mcp.json(全局):

{
  "mcpServers": {
    "basic-memory": {
      "command": "uvx",
      "args": ["--prerelease=allow", "basic-memory", "mcp"]
    }
  }
}
VS Code

添加到用户设置(JSON):

{
  "mcp": {
    "servers": {
      "basic-memory": {
        "command": "uvx",
        "args": ["--prerelease=allow", "basic-memory", "mcp"]
      }
    }
  }
}
ChatGPT

Basic Memory 为自定义 GPT 操作提供兼容 OpenAI 的 search 和 fetch 工具。请参阅 ChatGPT 集成 指南。

Obsidian

无需设置。让 Obsidian 指向 ~/basic-memory(或你的项目文件夹),AI 写入的相同 wikilink、frontmatter 和 Markdown 就会显示在图谱视图中。编辑任一端即可,其余工作由同步完成。

试试这个提示词:

"Create a note about our project architecture decisions."
"Find information about JWT auth in my notes."
"What have I been working on this week?"

最新动态

  • 自动更新。 Basic Memory 会为 uv tool 和 Homebrew 安装自动保持最新;bm update 可触发手动检查。
  • 语义向量搜索。 按含义而非仅按关键词查找笔记。使用 FastEmbed 嵌入,在 SQLite 或 Postgres 上进行全文与向量混合排序。
  • 可选搜索重排序。 使用本地 FastEmbed 交叉编码器或由 LiteLLM 支持的提供方,对最相关的向量及混合搜索候选结果重新评分。
  • 架构系统。 使用 bm_schema(command="infer")、bm_schema(command="validate") 和 bm_schema(command="diff") 推断、验证知识库的结构并比较差异。
  • 按项目进行云端路由。 通过 API 密钥(bm project set-cloud)将单个项目路由到云端,同时让其他项目保持本地运行。
  • 明确的笔记变更。 bm_edit 更新现有笔记;bm_write 创建笔记并防止意外覆盖。
  • 更丰富的搜索结果。 包含匹配的文本块,让大模型获得上下文,而不只是命中结果。
  • FastMCP 3.0 + 工具注释。 每个工具都附带 MCP 行为提示(readOnlyHint、destructiveHint、idempotentHint、openWorldHint),让 Agent 能在运行时逐步发现功能,而无需猜测或浪费令牌。
  • CLI 全面改版。 支持用于脚本处理的 --json 输出、感知工作区的命令,以及受 htop 启发的项目仪表板。

查看 v0.18 → v0.20 的完整 CHANGELOG。

可选的交叉编码器重排

重排会在向量检索或混合检索后,再进行一轮相关性排序。默认情况下,此功能处于禁用状态,因为它会增加推理延迟,而且使用本地提供方时,首次运行还会下载模型。文本、标题和永久链接搜索仍沿用现有排序。

启用默认的本地 FastEmbed 重排器:

export BASIC_MEMORY_RERANKER_ENABLED=true

默认模型为 jinaai/jina-reranker-v1-tiny-en。若要改用通过 LiteLLM 接入的托管重排器,请先安装可选的 LiteLLM SDK,然后进行配置:

export BASIC_MEMORY_RERANKER_ENABLED=true
export BASIC_MEMORY_RERANKER_PROVIDER=litellm
export BASIC_MEMORY_RERANKER_MODEL=cohere/rerank-v3.5
export COHERE_API_KEY=...

如果配置无效,此功能会立即失败;启用的提供方发生故障时,不会静默退回检索顺序。有关提供方设置、全部配置项、调优、分页和故障行为,请参阅语义搜索指南。

为什么选择 Basic Memory

大多数大模型对话都是短暂的。你提出问题,得到答案,然后一切都被遗忘。变通方案各有局限:

  • 聊天记录会保存对话,但并非结构化知识。
  • RAG让大模型能够查询文档,却无法将内容写回文档。
  • 向量数据库需要复杂的基础设施,而且通常托管在他人的云端。
  • 知识图谱需要专用工具来维护。

Basic Memory 采用更简单的方式:结构化 Markdown 文件,人类和大模型都能读写。

  • 所有知识都保存在由你掌控的纯文本文件中。
  • 双方都读写同一批文件。
  • 熟悉的 Markdown 搭配语义模式,无需学习新格式。
  • 可遍历的图谱,大模型可以逐个链接地跟进。
  • 兼容你已有的编辑器(Obsidian、VS Code 等)。
  • 只需文件和本地 SQLite 索引,无需服务器。

工作原理

你正在像平常一样聊咖啡:

我一直在尝试不同的冲煮方式。手冲比法压壶更能凸显清晰风味,水温 205°F 左右似乎最好,而现磨咖啡豆的影响非常大。

让大模型记录下来:

“记一条关于咖啡冲煮方式的笔记。”

Markdown 文件会实时出现在你的项目目录中:

---
title: Coffee Brewing Methods
permalink: coffee-brewing-methods
tags: [coffee, brewing]
---

# Coffee Brewing Methods

## Observations
- [method] Pour over highlights subtle flavors over body
- [technique] Water at 205°F (96°C) extracts optimal compounds
- [principle] Freshly ground beans preserve aromatics

## Relations
- relates_to [[Coffee Bean Origins]]
- requires [[Proper Grinding Technique]]
- affects [[Flavor Extraction]]

下次会话中,大模型会接着之前的内容继续。它会沿着关联,找出你对埃塞俄比亚咖啡豆和锥刀磨豆机已有的了解,并在此基础上继续,而不是从头开始。你可以在 Obsidian 或其他编辑器中查看相同的文件。手动编辑这些文件,AI 也能看到你的修改。

真正的双向流转:人类编辑 Markdown,大模型通过 MCP 读写,同步机制确保内容一致,而事实来源始终是你的文件。

Markdown 格式

每个文件都是一个 Entity。Entity 包含 Observations(关于它的事实)和 Relations(指向其他 Entity 的链接)。这就是全部语法。

Frontmatter
---
title: <Entity title>
type: note
permalink: <uri-slug>
tags: [optional, list]
---
Observations

关于该 Entity 的事实。类别写在 [方括号] 中,标签以 # 开头,可选的上下文写在圆括号中。

- [method] Pour over highlights subtle flavors
- [tip] Grind medium-fine for V60 #brewing
- [fact] Lighter roasts contain more caffeine than dark
- [resource] James Hoffmann's V60 technique on YouTube
- [question] How does temperature affect compound extraction?
Relations

构成图谱的 Wiki 风格链接。关系类型可以是单个词,也可以为多词关系类型加上引号。

- pairs_well_with [[Chocolate Desserts]]
- grown_in [[Ethiopia]]
- requires [[Burr Grinder]]
- "pairs well with" [[Dark Chocolate]]

裸写的 - [[Target]] 和正文形式的 - Worth checking out [[Target]] 都会被索引为 links_to。完整说明请参阅文档。

MCP 工具

Basic Memory 向任何 MCP 客户端提供这些工具。每个工具都标注了 MCP 行为提示(只读、破坏性、幂等、开放世界),以便 Agent 无需反复试错即可选择合适的工具:

  • 内容: bm_write、bm_read、bm_edit、bm_move、bm_delete
  • 搜索与发现: bm_search、bm_list、bm_find
  • 知识图谱: bm_context
  • 项目: bm_project(command="list" | "create" | "recent"); bm_project_delete 是独立工具,且需要服务端选择启用。
  • 架构: bm_schema(command="validate" | "infer" | "diff")
  • 手册: bm_man
  • 云连接器适配器: search 和 fetch 仅由 Cloud 注册。 本地诊断请使用 bm doctor。

大多数工具默认返回文本;bm_context 默认返回 JSON。传入 output_format="json" 可获取结构化响应。项目范围的工具接受名称、 workspace/project 或通过 project 传入的外部 UUID。 请使用 bm_man(page="bm-search(3)") 查看已安装版本的规范,或参阅 工具指南。CLI 命令保留其 shell 名称。

CLI 基础

# Projects
basic-memory project list
basic-memory project add research ~/research
basic-memory project set-cloud research   # route through cloud
basic-memory project set-local research   # revert

# Config
basic-memory config list                        # all settings, effective values, env overrides
basic-memory config set cli_output_style plain  # validated through the config model
basic-memory config unset cli_output_style      # revert to default

# Health & maintenance
basic-memory status
basic-memory doctor              # report project problems and the commands that fix them
basic-memory tool edit ...  # CLI access to MCP tools
basic-memory update              # check for and install updates

# Imports
basic-memory import claude conversations
basic-memory import chatgpt
basic-memory import memory-json

在混合模式下,路由标志(--local / --cloud)可强制指定目标。完整 CLI 参考请见 文档。

自动更新

默认情况下,CLI 安装每 24 小时检查一次更新,并静默应用更新 (以确保 MCP 服务持续响应)。

  • 支持的安装来源:uv tool、Homebrew
  • uvx 不支持(由 uv 管理的临时运行时)
  • 手动操作:bm update(检查并应用)或 bm update --check(仅检查)

在 ~/.basic-memory/config.json 中禁用:

{ "auto_update": false }

遥测

收集最少的匿名事件,以了解 CLI 到云端的转化漏斗。

我们会收集: 云端推广内容的展示次数、云端登录尝试及结果、推广内容的选择退出事件。

我们不会收集: 文件内容、笔记标题、知识库数据、PII、IP 地址、按命令或工具进行的跟踪。

事件会通过后台线程发送到我们的 Umami Cloud 实例(开源且注重隐私)——不会阻塞 CLI。

选择退出:

export BASIC_MEMORY_NO_PROMOS=1

这会停用推广内容和所有遥测。

日志

Basic Memory 使用 Loguru。不同入口的默认设置有所不同:

入口默认设置原因
CLI 命令仅文件不会干扰命令输出
MCP 服务仅文件标准输出会破坏 JSON-RPC
API 服务文件(本地)或标准输出(云端)Docker/云端使用标准输出

日志文件:~/.basic-memory/basic-memory.log(10 MB 轮转,保留 10 天)。

环境变量
变量默认值说明
BASIC_MEMORY_LOG_LEVELINFODEBUG / INFO / WARNING / ERROR
BASIC_MEMORY_CLOUD_MODEfalseAPI 日志使用带结构化上下文的标准输出
BASIC_MEMORY_FORCE_LOCALfalse强制本地 API 路由
BASIC_MEMORY_FORCE_CLOUDfalse强制云端 API 路由
BASIC_MEMORY_EXPLICIT_ROUTINGfalse将路由选择标记为显式指定
BASIC_MEMORY_ENVdev设置为 test 以启用测试模式(仅标准错误)
BASIC_MEMORY_NO_PROMOSfalse停用云端推广内容和遥测
BASIC_MEMORY_IMPORT_UPLOAD_MAX_BYTES104857600导入文件的最大上传大小
BASIC_MEMORY_LOG_LEVEL=DEBUG basic-memory reindex
tail -f ~/.basic-memory/basic-memory.log

开发

Basic Memory 支持 SQLite(默认选项,速度快,无需 Docker)和 Postgres (通过 testcontainers,需要 Docker)。

just install          # Install with dev dependencies
just test-sqlite      # All tests, SQLite
just test-postgres    # All tests, Postgres (testcontainers)
just test             # Both backends
just fast-check       # fix/format/typecheck + impacted tests
just doctor           # File <-> DB consistency check (temp config)
just package-check    # Claude Code, skills, Hermes, OpenClaw package checks
just lint
just typecheck        # Pyright (primary)
just typecheck-ty     # ty (supplemental)
just format
just check            # All quality checks
just migration "msg"  # New Alembic migration

测试使用 pytest 标记:windows、benchmark、smoke。完整列表请见 justfile。

欢迎贡献——请参阅 CONTRIBUTING.md。

许可证

AGPL-3.0。

由 Basic Machines 倾心打造 ♥️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。