mcpField
M
Mindtrail

Mindtrail

本地服务
github.com/RohitDeshmukh-1记忆与知识12 周前更新

关于 Mindtrail

Mindtrail 是面向编码 Agent 的本地优先记忆 MCP 服务,可在不同会话和工具间保留项目事实与个人偏好。数据存储在本地 SQLite 文件中,并结合关键词和向量检索,也支持更新与永久删除记忆。

主要功能

  1. 01持久保存项目和个人记忆
  2. 02本地 SQLite 存储
  3. 03关键词与向量混合检索
  4. 04根据 Git 远程地址自动划分范围
  5. 05记忆替换、历史记录与删除
  6. 06提供查询、导出和诊断命令行工具

适用场景

  1. 01在后续会话中回忆项目约定
  2. 02在不同编码工具间共享记忆
  3. 03替换过时的项目信息
  4. 04导出或永久删除已存记忆

MCP 相关

Mindtrail 向 MCP 客户端提供 `remember`、`recall` 和 `forget` 工具,也可启用其他记忆管理工具。服务端指令会引导 Agent 选择何时使用这些工具。

配置

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

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

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

安装包
pypimindtrail0.1.1

工具

3

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

参数类型必填说明
kindany否semantic:长期事实或偏好;episodic:发生过的事情;temporal:有时效性的事实;reflective:观察到的模式。
scopeenum否"project" 表示此存储库,"personal" 表示用户。project | personal
contentstring是一条完整且独立的事实、偏好、决定或事件。
replacesany否此记忆替代的过时记忆的 ID。
importancenumber否0 = 琐事,1 = 关键。

详细介绍

🧭 Mindtrail

为 AI Agent 留下可循的线索。

通过 MCP 为编码 Agent 提供持久化、本地优先的记忆。只需告诉 Agent 一次, 之后的每个会话都会记住。

PyPI MCP Registry CI Python License: MIT

安装 · 日常使用 · 工作原理 · 基准测试 · 文档


每个新的 Agent 会话都从零开始。你要再次说明自己的约定,重申偏好,还要重新描述上周做出的决定。Mindtrail 通过 Model Context Protocol 为你的 Agent 提供共享的长期记忆,让某个会话学到的内容,之后的每个会话(无论使用什么工具)都能回忆起来。

  • 🔌 兼容任何 MCP 客户端。 Claude Code、Claude Desktop、Cursor、 VS Code、Codex 和你自己的 Agent 共享同一份记忆。
  • 🏠 本地优先,保护隐私。 你的设备上只有一个 SQLite 文件。无需账户、API 密钥,也不收集遥测数据。
  • ⚡ 一条命令即可安装。 已发布到 PyPI 和 官方 MCP Registry;使用 uv 时无需预先安装任何内容。
  • 🗂️ 自动限定范围。 仓库信息保留在所属仓库中(通过 git 远程地址检测), 个人偏好则会伴随你随处可用。
  • 🔎 混合检索。 结合关键词(BM25)和向量搜索,融合并排序结果,同时显示每项结果的排序信号。
  • 🛡️ 默认安全。 拒绝存储凭据,将回忆出的记忆标记为不可信数据,并彻底删除数据。

它真的有用吗?

我们使用真实的 Claude Code 会话进行了测试。在一个会话中,用户随口提到一项项目信息(“顺便说一下,这个项目用 pnpm。”)。之后,一个全新的会话接到一项依赖此信息的任务(“如何添加 lodash?”)。整个过程中,Agent 从未被告知要使用 Mindtrail。

自行存储了该信息在后续会话中应用了该信息
不使用 Mindtrail 的 Claude Code–0/12
使用 mindtrail[semantic] 的 Claude Code36/3636/36

没有记忆时,Agent 每次都会凭习惯回答:npm install lodash、格式错误的提交消息、使用 5432 而非你的 5433 端口。使用 Mindtrail 后,它会先检查记忆,再给出适用于你项目的答案。这只是一个小规模测试(12 条信息各运行三次、一个模型、一个空仓库),并不代表 Agent 在大型代码库中的任务成功率。 测试方法、原始结果和复现步骤。

安装

Mindtrail 需要 Python 3.11 或更高版本。最快的方式是使用 uv:uvx 会按需下载并运行 Mindtrail,因此你只需将其添加到客户端。服务首次启动时,会在后台下载嵌入模型(约 210 MB)。

Claude Code
claude mcp add mindtrail --scope user -- uvx --from "mindtrail[semantic]" mindtrail serve

--scope user 会让 Mindtrail 在每个项目中都可用。使用 claude mcp list 检查是否已配置。

Cursor 和 VS Code

在 Cursor 中安装 在 VS Code 中安装

Claude Desktop、Windsurf 和其他使用 JSON 配置的客户端

将以下内容添加到客户端的 MCP 配置中(在 Claude Desktop 中:Settings → Developer → Edit Config):

{
  "mcpServers": {
    "mindtrail": {
      "command": "uvx",
      "args": ["--from", "mindtrail[semantic]", "mindtrail", "serve"]
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.mindtrail]
command = "uvx"
args = ["--from", "mindtrail[semantic]", "mindtrail", "serve"]
不使用 uv

使用 pipx(或 pip)安装一次 CLI,然后将客户端指向 mindtrail serve:

pipx install "mindtrail[semantic]"
mindtrail init                                             # downloads the model now and prints client configs
claude mcp add mindtrail --scope user -- mindtrail serve   # Claude Code

想要尽可能精简地安装?去掉 [semantic]:这样 Mindtrail 就不需要下载模型,而是按词而非含义进行匹配(参见提升语义召回效果)。 更多客户端和故障排除信息请参阅 docs/integrations.md。

试用
Session 1 › FYI, this project uses conventional commits and squash merges.
Session 2 › Write a commit message for these changes.
            → the agent recalls the convention and writes "feat(api): add pagination to /orders"
升级

uvx 会自动获取新版本(运行 uvx --refresh ... 可强制检查)。使用 pipx 时,运行 pipx upgrade mindtrail。你的记忆存储在 ~/.mindtrail 中,升级后会保留。 如需了解变更内容,请参阅更新日志。

日常使用

你不需要使用特殊命令。照常工作,由 Agent 决定要保留哪些内容:

  • 提及一次即可。“我们从 release 分支部署”、“相比 unittest,我更喜欢 pytest”、“那个不稳定的测试是时区问题,通过固定 TZ=UTC 修复了”。Agent 会自动存储这类事实。想确保内容被记住时,可以说“记住……”。
  • **区分项目与个人信息。**关于仓库的事实会保存到项目空间,同一 git 远程仓库的所有克隆共享该空间。关于你自己的事实(“我喜欢简短的回答”)会保存到个人空间,并适用于所有项目。
  • **内容会变化。**说“我们从 npm 改用 pnpm”,Agent 就会替换旧记忆,而不是将新旧内容都保留。旧记忆会作为历史记录保留,但不再被召回。
  • 询问它记得什么。“你记得这个项目的哪些内容?”或者在终端中运行 mindtrail list 和 mindtrail recall "<question>"。
  • **忘记任何内容。**在聊天中说“忘记暂存环境 URL”,或者运行 mindtrail forget <id>。删除后无法恢复。
  • **自由切换工具。**将 Claude Code、Cursor 和 Codex 指向同一个 Mindtrail 后,它们会共享同一份记忆,因此在一个工具中教会它的约定,在其他工具中也能使用。

值得存储的内容包括:约定、命令、负责人、配置文件的位置、决策及其原因,以及棘手错误的根本原因。代码或 git 历史中已有的内容就不必存了。系统会自动拒绝保存机密信息。

工作原理

Agent 会获得三个工具,而 Mindtrail 的服务说明会告诉它何时使用这些工具:

工具功能
remember在项目或个人空间中存储一条事实、偏好、决策或事件。传入 replaces 可取代过时的记忆。
recall从当前项目和个人空间中查找相关记忆。如果没有相关内容,则不返回任何结果。
forget永久删除一条记忆。

设置 MINDTRAIL_TOOLS=full 可启用另外四个工具:search_memory(按空间、类型和有效性筛选), get_context(在 token 预算内生成可直接用于提示词的内容块),update_memory(编辑记忆并保留版本历史)以及 get_memory。

这些工具背后是一个经过充分测试的小型引擎,支持重复项合并、记忆取代、有效期、版本历史和混合排序。请参阅 docs/architecture.md。

从终端管理记忆

mindtrail recall "how do we deploy?"   # search project + personal memory
mindtrail remember "Staging is at staging.example.com" --scope project
mindtrail list                         # newest first
mindtrail forget <id>                  # permanent delete
mindtrail export -o memories.jsonl     # everything you've stored, as JSON Lines
mindtrail doctor                       # diagnose the install

更好的语义回忆

默认嵌入器会匹配词语和词语片段。若要按含义回忆(“我们如何部署?” → “部署通过 GitHub Actions 进行”),请安装本地神经模型。它在 CPU 上运行,且无需 API 密钥:

pipx install "mindtrail[semantic]"   # or use the uvx config above
mindtrail init        # downloads the model once (~210 MB) and re-indexes existing memories

如需下载更小的模型(67 MB,回忆效果略低),请设置 MINDTRAIL_EMBEDDING_MODEL=BAAI/bge-small-en-v1.5。使用其他模型存储的记忆会在下次启动服务时自动重新嵌入。

检索基准测试

Agent 测试见它真的有帮助吗?。我们使用两组留出的开发者记忆问题集(共 82 个)进行测试,这些问题从未用于调优(方法):

recall@1recall@5同义改写 recall@5正确回答“未存储任何内容”过时/外部信息泄露
默认安装58–64%68–75%44–46%82–100%0%
mindtrail[semantic]82–90%93–94%85–89%100%0%

这是我们编写的小型合成检索基准测试。运行 mindtrail bench 即可复现,也可以添加自己的数据集。

在 Python 中使用

from mindtrail import MemoryService

memory = MemoryService.from_config()
memory.remember("The API uses FastAPI and PostgreSQL", space_id="project:shop")
print(memory.get_context("add a new endpoint", space_ids=["project:shop"]).text)

隐私与安全

所有数据都保存在你本机的 ~/.mindtrail/mindtrail.db 中。Mindtrail 会拒绝写入看起来像 API 密钥、令牌或私钥的内容。forget 会在磁盘上覆写已删除的数据,并将回忆出的记忆标记为不可信参考数据,避免 Agent 遵循其中存储的指令。 如需报告问题,请参阅 SECURITY.md。

路线图

  • 核心引擎:混合检索、去重、取代机制、有效期窗口、历史记录
  • MCP 服务和 CLI,支持自动按项目划分范围
  • CI 中的检索基准测试套件(recall@k、MRR、弃答率、泄露率)
  • 已发布到 PyPI 和官方 MCP Registry(v0.1.0)
  • PostgreSQL + pgvector 后端,支持多租户隔离
  • 托管远程 MCP,支持一键式 OAuth 连接器
  • Web 记忆查看器(浏览、编辑、删除、导出)
  • 实体图谱、矛盾检测和记忆整合

参与贡献

欢迎提交问题和 PR。请阅读 CONTRIBUTING.md 了解如何开始;整个套件约需 15 秒即可运行完毕。如果 Mindtrail 让你不必再反复解释代码库,请给个 ⭐,帮助其他人发现它。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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