关于 bettermemory
bettermemory 是面向编码 Agent 的 MCP 记忆服务,会在检索前根据文件系统和 git 检查已存事实。它以 Markdown 文件存储并使用确定性词法搜索,对过时或缺乏依据的声明作出标记。
主要功能
- 01检查文件系统与 git 中的时效性
- 02确定性词法检索
- 03Markdown 记忆文件
- 04拦截临时或敏感数据写入
- 05会话记录与健康检查工具
适用场景
- 01核实记忆中的路径和声明是否仍成立
- 02无需嵌入模型即可搜索项目笔记
- 03将会话运行状态与持久记忆分开
MCP 相关
向 MCP 客户端提供记忆工具和操作说明。README 列出了多个 MCP 主机的配置方式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
18收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mode | any | 否 | |
| model | any | 否 | |
| query | string | 是 | |
| client | any | 否 | |
| scopes | any | 否 | |
| auto_scope | boolean | 否 | |
| expand_top | boolean | 否 | |
| max_results | any | 否 | |
| since_prior_session | boolean | 否 |
详细介绍
面向编码 Agent 的 MCP 记忆服务。模型依赖已存储的事实之前,会先根据文件系统和 git 对其进行核验,因此,已经过时的记忆会被标记出来,而不是直接引用给你。
安装
Claude Code — 两条斜杠命令,无需配置:
/plugin marketplace add 0Mattias/bettermemory
/plugin install bettermemory@bettermemory
其他支持 MCP 的客户端:
uv tool install bettermemory
bettermemory init --client claude-desktop # or cursor / cline / claude-code / hermes
重启客户端。配置正确时,bettermemory doctor 会以 0 退出;否则会打印一行修复建议。
无需安装即可试用:uvx bettermemory try 会写入一条引用文件的记忆,删除该文件,并展示下一次搜索如何将其标记出来。
离线运行,使用一次性存储。
功能
- 在相信记忆之前先进行核验。每条命中结果都会附带时效性判定:时间跨度、所引用路径是否仍然存在、自上次确认以来纳入的提交,以及记录是如何进入存储的(在此处写入、拉取或手动放入)。
声明的断言
(
path、path::symbol、path::NAME=literal)会根据工作树重新核验;如果断言不再成立,就会阻止盖章,而不是让它继续通过。 - 检索经过精心设计。记忆是一次工具调用,而非注入内容。写入门禁会拦截临时状态、类似机密的令牌和近似重复内容;关于你的断言会标记为推断,以便与事实区分并加以修正。
- 代码就是模型。搜索采用确定性的词法排序——融合关键词和 BM25——覆盖你自己的词汇。不需要嵌入模型,无需下载,也没有预热过程,每次结果都相同。
- 纯文本文件。每条记忆对应一个 Markdown 文件。便于 grep、可通过 git 同步,无云服务,也无需账户。文件旁的 SQLite 索引是可删除的派生缓存;
bettermemory reindex可重建它。 - 发现过时内容后采取行动,而不是任其累积。会话记录按会话记录运行状态,不会污染持久搜索;健康遥测和整理工具会指出哪些内容发生了偏移、哪些已经失效,以及哪些内容互相矛盾。
- 凭据,而非形容词。上述断言通过预注册基准进行测量,其冻结的结果文件(包括漏检)存放在 bench/(
results/*.json,每个文件都包含评分所依据的声明术语);bettermemory eval会根据你自己的日志评估记忆是否真正起到了作用(我们的结果已发布)。
面向 Agent
你很可能收到这个链接时,对方只说了一句“把这个配置好”。在 Claude Code 中,上面的两个插件命令就是完整的安装步骤——直接跳到第 3 步即可。 在其他环境中,这些步骤都可以安全地重复运行:
uv tool install bettermemory——或者使用pipx install bettermemory, 或者在虚拟环境中运行pip install bettermemory。需要 Python 3.11–3.14。bettermemory init --client claude-code——同样也支持claude-desktop、cursor、cline、hermes。对于其他 MCP 宿主,直接运行bettermemory init会输出标准的mcpServersJSON 片段, 以及已知的配置位置。(Continue 需要手动编写 YAML 条目——见 docs/clients.md。)bettermemory doctor——退出代码为 0 表示配置正确;每项检查失败时 都会输出一行修复建议。- 让用户重启客户端以加载服务,然后询问模型 “你有哪些记忆工具?” 进行确认。
你的操作约定——工具签名、检索规范、
写入门槛——见 docs/api.md;服务的
instructions 块会自动传递核心策略。要将完整策略加入系统提示词:运行 bettermemory init --with-addendum。从 Claude Code 内置的自动记忆迁移:
bettermemory ingest 会导入这些文件一次。
其他所有内容
其余内容都有文档说明:internals 中介绍运行机制、存储格式、完整的 工具接口、CLI、配置和限制;clients 和 installation 中介绍各客户端的设置;eval 中介绍 评估方法;incidents 中介绍事后分析;CHANGELOG 中记录 版本历史;CONTRIBUTING 中介绍开发环境设置和兼容性约定。
采用 MIT 许可证——见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。