关于 Memnest
Memnest 是面向编码 AI 的本地记忆服务,保存对话原文并通过来源 ID 检索旧讨论和决策,而非使用大模型生成摘要。它适合使用多个编码客户端、希望从共享本地存储查找过往上下文的开发者。
主要功能
- 01保存对话原文
- 02使用 BM25 和本地嵌入搜索
- 03通过来源 ID 读取记录
- 04保存、更正和删除记忆
- 05多个编码客户端共用本地存储
适用场景
- 01查找项目决策背后的讨论
- 02回顾以前处理某个错误的方法
- 03从另一个编码客户端检索上下文
MCP 相关
Memnest 在 `http://127.0.0.1:3111/mcp` 运行本地 MCP 服务,提供保存、搜索、读取、更正和删除记忆的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
memnest
你的编码 AI 会在会话结束时忘记一切。Memnest 可以让它从原始对话中查找你之前做出的决定以及原因,而不是依赖 AI 编写的摘要。
- 原文,而非摘要。 LLM 不会改写你的历史记录。保存和搜索不会调用模型 API,因此无需 API 密钥,也不会产生额外的 token 费用。每条结果都附带可供打开的来源 ID。
- 所有编码 AI 共用一份记忆。 Claude Code、Codex、Cursor 和 pi 可连接到同一个本地服务。在 Claude Code 中做出的决定,也能从 Codex 中查找。
- 数据留在你的设备上。 一个 Rust 二进制文件,搭配 SQLite 和本地多语言嵌入模型。凭据存放在单独的加密保管库中。
安装
curl -fsSL https://raw.githubusercontent.com/Blue-B/memnest/main/core/scripts/install.sh | bash
此操作会为当前用户安装最新版本,启动服务和对话监视器,并将 Memnest 添加到找到的 Claude Code、Codex 和 Cursor 配置中。现有配置会先备份,并显示还原命令。
要求:Apple Silicon 上的 macOS,或搭载 systemd 的 Linux,架构为 x86_64(glibc 2.35+,例如 Ubuntu 22.04、Debian 12)或 Arm64(glibc 2.39+,例如 Ubuntu 24.04)。设置需要 Python 3。首次写入或搜索时会下载约 1.1 GB 的嵌入模型,生成嵌入可能需要约 1.9 GB 内存。
先查看脚本、固定版本或升级
curl -fsSL https://raw.githubusercontent.com/Blue-B/memnest/main/core/scripts/install.sh \
-o /tmp/memnest-install.sh
less /tmp/memnest-install.sh
VERSION=v0.4.3 bash /tmp/memnest-install.sh --user
升级现有安装前,请备份 memory.db 和 master.key。
查看实际效果
两个独立客户端,共用一个本地存储:通过 MCP 保存的记录,可通过独立搜索以相同 ID 找回。在自己的设备上复现。
适用场景
对于以下问题,可以使用累积的记录:
我们为什么换了任务管理器?找出这项决定背后的讨论。
我们最近为这个项目确定了什么部署方案?原因是什么?
上次出现这个错误时,我们尝试了什么?
AI 会搜索记忆、读取相关来源,并据此作答。结果包含来源 ID,方便你核查依据。这些只是示例请求,并非自主演示,也不保证一定能找到答案。
如果只有几条规则需要始终生效,使用 AGENTS.md 或 CLAUDE.md 会更简单。Memnest 适用于不断增长的对话和决策历史,方便你在需要时查找。
连接 pi
核心服务运行后,安装匹配的扩展:
# Published extension for core 0.4.x
pi install npm:[email protected]
# Or connect a reviewed source checkout
pi install ./pi-extension
如果 Memnest 已通过其他来源注册,请先移除该注册,以免重复加载。在 pi 中使用 /memnest 检查连接。请参阅扩展设置。
本地开发:知识库工具设置
扩展默认只提供五个记忆工具。若要让 pi 使用 secret_set、secret_get、secret_list 和 secret_delete 存储和检索凭据,请在启动 pi 前启用知识库工具:
export MEMNEST_EXPOSE_SECRET_TOOLS=1
pi
更改变量后,请重启 pi;仅使用 /reload 无法更改运行中进程的环境变量。/memnest 会报告知识库工具是否可用,并在工具被隐藏时显示此激活提示。
其他 MCP 客户端连接到 http://127.0.0.1:3111/mcp。请参阅连接示例、其他环境和源代码安装,以及升级和恢复。Intel Mac 需要从源代码构建。
使用方法
请连接的 AI 查找先前的对话或决策。自动回忆默认关闭;需要时可以先请求搜索。请参阅扩展设置以启用自动回忆。
直接调用工具的客户端可按以下流程操作:
memory_search(query="reason for switching task managers")
memory_get(id="<ID returned by search>")
五个工具涵盖保存、搜索、读取、更正和删除。使用 memory_remember 明确保存重要决策。事实发生变化时,使用 supersedes=<old ID> 保存替代记录,并将其与先前记录关联。
当宿主提供当前目录时,搜索会涵盖该工作区和共享的 playbook。如需明确进行跨项目搜索,请指定 project=all。请参阅来源读取,了解长记录和附近的对话条目。
安装前的对话不会全部自动导入。请通过历史记录导入选择所需的原始文件。
有来源依据的编码记录(0.4.0)
可以将某种方法保存为已提出、失败或报告成功,而不把报告结果视为验证。也可以使用 memory_remember(code_files=["relative/file"]) 附加选定的本地文件;想要比对文件字节时,再请求 memory_get(check_code=true)。无关的编辑不会触发警告。请参阅代码证据。
可选的团队访问功能会添加命名项目授权、审计和保留策略。免费的本地对比会记录 Memnest 表现良好与不佳之处;它不声称在所有情况下都更准确。
重要限制
- 检索不等于事实核查。 搜索可能会漏掉相关记录。Memnest 无法判断过去的决定现在是否仍然有效。后续来源提示并非经过验证的回复关系。
- 捕获内容是有选择的。 它会保存可见的对话文本,不包括推理、工具调用、图片或子 Agent 对话。它不会导入 ChatGPT 或 Claude 的内置记忆。
- 数据存储在本地;由你连接的 AI 提供答案。 默认存储和搜索不会调用生成式大模型。显式设置
evidence_only=true会选择使用已配置的本地来源筛选模型,但其判断未经验证。云端 AI 提供商会收到你发送给其模型的检索文本。 - 常规记忆未加密。 脱敏功能会处理已知的凭证模式,但无法涵盖所有可能的机密。请勿将端口 3111 直接暴露到互联网。
- Web 连接器是通向你记忆的网络通道。 ChatGPT 和 Grok 连接器需要公共 URL,检索到的文本会发送到提供商的服务器,而该 URL 本身可作为凭证。请参阅 Web 连接器。
- 删除不代表立即擦除。 记录默认会在回收站中保留 30 天。默认关闭新的明文归档;旧归档、备份和外部对话记录仍可能留有副本。请参阅安全与删除限制。
文档与检查
一项 Rust 服务使用 SQLite 存储源记录,并通过 BM25 和本地多语言嵌入进行搜索。搜索索引可根据源记录重建。
许可证
MIT © Blue-B
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
