关于 memtomem
memtomem 是为 AI 编码 Agent 提供本地长期记忆的 MCP 服务、命令行工具和 Web 界面。它以 Markdown 文件为主要来源,通过 BM25 与向量混合搜索,让记忆可迁移且便于检索。
主要功能
- 01BM25 与向量混合搜索
- 02按内容结构切分文档
- 03增量索引并仅处理变更内容
- 04按命名空间组织记忆
- 05去重、过期与自动标签维护
- 06可视化搜索与来源管理界面
适用场景
- 01在多个会话中检索个人笔记
- 02将代码和文档纳入可搜索记忆
- 03为脚本和 CI 输出机器可读状态
- 04使用 MCP 工具供编码 Agent 调用记忆
MCP 相关
提供 MCP 服务和记忆操作工具,供 MCP 客户端检索、添加和索引记忆。核心操作仅在显式调用 CLI 或 MCP 工具时执行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
9收录的工具列表 · 更新于 1 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 否 | |
| force | boolean | 否 | |
| auto_tag | boolean | 否 | |
| namespace | any | 否 | |
| recursive | boolean | 否 |
详细介绍
memtomem
面向 AI 编码 Agent 的 Markdown 优先长期记忆——文件始终由你掌控,核心功能默认无需钩子。
🧪 Beta — 九个核心 MCP 工具、
mmCLI,以及记忆文件和配置文件的格式,仅会在 CHANGELOG 中注明Upgrading时发生变更;如有可能,也会设置弃用过渡期。标记为 experimental 的功能则可能随时变更或移除——详见稳定性。非常欢迎反馈和问题报告:Issues · Discussions。
memtomem 可将你的 Markdown 笔记、文档和代码转化为可搜索的知识库,供任何 AI 编码 Agent 使用。将笔记保存为纯 .md 文件即可——memtomem 会为其建立索引,并支持按关键词和含义进行搜索。
flowchart LR
A["Your files\n.md .json .py"] -->|Index| B["memtomem"]
B -->|Search| C["AI agent\n(Claude Code, Cursor, etc.)"]
初次使用? 请按照入门指南操作——不到 5 分钟即可完成设置。Claude Code 或 Codex CLI 用户?请参阅韩语氛围编程快速入门。
为什么选择 memtomem?
| 问题 | memtomem 的解决方式 |
|---|---|
| AI 会忘记不同会话间的一切 | 为笔记建立一次索引,即可在每次会话中搜索 |
| 关键词搜索会漏掉相关内容 | 混合搜索:精确匹配关键词 + 基于含义的相似度 |
| 笔记散落在各种工具中 | 为 Markdown、JSON、YAML、TOML、Python、JS/TS 建立统一的可搜索索引 |
| 厂商锁定 | 你的 .md 文件才是事实来源。数据库只是可重建的缓存 |
| 隐式自动化难以理解 | 核心记忆操作仅在你调用时运行;可选的客户端钩子是明确且可移除的集成 |
快速开始
1. 安装
uv tool install 'memtomem[all]' # or: pipx install 'memtomem[all]'
mm --version # verify install
[all] 会捆绑下文介绍的功能——ONNX 稠密嵌入、韩语分词器、代码分块器和 Web UI。Ollama 和 OpenAI 嵌入提供方无需额外安装;任何安装方式均可使用。若要使用更精简的安装方式,避免下载这些组件(安装后约 50 MB,而非约 340 MB,尚未计入任何模型下载),请参阅入门指南中的最小安装选项。
如果安装后
mm --version显示的版本低于最新发布版本,可能是uv使用了缓存的 PyPI 元数据——请使用uv tool install 'memtomem[all]' --refresh重新安装,或先清除缓存:uv cache clean memtomem。若要升级现有的 uv 工具安装,请使用mm upgrade,而不是重新运行uv tool install;关于此操作会保留和移除哪些内容,请参阅 CLI 参考。
提示
mm: command not found?uv tool install会将 shim 放入~/.local/bin,而在 macOS/Linux 的新 shell 中,该目录不会自动加入$PATH。运行uv tool update-shell,然后打开一个新 shell 并重新运行mm --version。
2. 设置
升级 Claude 插件后: 重新加载后再次检查
/mcp。 插件会启动memtomem[onnx]==0.7.0。手动注册的启动配置若与之不同——仅使用基础版memtomem,或固定到较早版本的 ONNX 启动配置——将无法再通过去重匹配,可能会暴露重复工具。请确认手动条目的名称和作用范围,然后使其启动命令与插件保持一致,或移除冗余注册。
mm init # preset picker, then memory_dir + MCP
交互式选择器提供三个预设选项——Minimal(BM25,不下载)、English (Recommended)(ONNX multilingual-e5-small + 英文重排器 + 自动发现提供方)、Korean-optimized(ONNX multilingual-e5-small + kiwipiepy 分词器,不使用重排器)——以及一个会打开完整 10 步向导的 Advanced 选项。预设流程只会询问记忆目录和 MCP 注册;其他设置均采用预设值。
若要最快完成无需下载的首次验证,请选择 Minimal;准备好添加语义搜索后,再运行 mm init。
索引与发现(Claude Code): 设置流程自动发现的提供方记忆文件夹(例如
~/.claude/projects/*/memory/)会添加到搜索索引。这与 Web UI 中选择加入的 Context Gateway 扫描~/.claude/projects/不同;后者会发现项目根目录,用于查找 Skills、自定义命令和子 Agent——有关区别及有损 slug 的注意事项,请参阅 Configuration → Context Gateway。
用于自动化 / CI:
mm init --non-interactive # minimal preset, no prompts
mm init --preset korean --non-interactive # Korean-optimized bundle, no prompts
mm init --advanced # force the full 10-step wizard
完整的模型 / 提供方对照表请参阅 Embeddings。
3. 验证完整的记忆往返流程
首次成功验证无需已有笔记目录或已连接的编辑器:
mm status
mm add "Deployment checklist uses blue-green rollout" --tags ops
mm search "blue-green"
mm add 会写入已配置的用户记忆目录,并立即为该条目建立索引。最后一条命令应返回刚刚添加的句子。
然后验证编辑器连接:
"Call the mem_status tool"
若要将现有笔记纳入同一索引,请将 mm index 指向一个已存在的目录:
mm index /path/to/your/notes
mm status --json(或 --format json)会以机器可读格式提供相同的状态信息,供脚本和 CI 使用。
4. 打开 Web UI(可选)
mm web # polished dashboard on http://127.0.0.1:8080
mm web -b # run in the background; logs go to ~/.memtomem/logs/web.log
mm web status # show pid/port/start time
mm web stop # stop the tracked Web UI process
mm web --dev # maintainer surface (adds opt-in pages)
默认情况下,mm web 会显示经过优化的页面集。传入 --dev(或在 shell 配置文件中设置
MEMTOMEM_WEB__MODE=dev)可显示 Sessions、Working Memory 和 Health Report 等维护者页面。
其他安装选项
uv tool install memtomem # no extras — no local ONNX model, Web UI or Korean tokenizer until you add them; Ollama/OpenAI embeddings still work
之后可按功能选择安装:uv tool install --reinstall 'memtomem[onnx,web]'(参阅 可选扩展表)。请列出所有要保留的扩展,因为 --reinstall 会替换整个扩展集。普通的 mm upgrade 会保留从当前安装中检测到的扩展,但显式指定的 mm upgrade --extras 列表也必须包含完整的扩展集。
项目级(每个项目隔离):
uv add 'memtomem[all]' && uv run mm init # all commands need `uv run` prefix
不安装(按需使用 uvx):
claude mcp add memtomem -s user -- uvx --isolated --from "memtomem[all]==0.7.0" memtomem-server
OpenCode / Codex / Cursor / Antigravity / Windsurf / Claude Desktop / Gemini CLI / Kimi Code 的配置请参阅 MCP 客户端设置。
核心功能
- 混合搜索——在一次查询中融合 BM25 关键词搜索、稠密向量搜索和 RRF
- 语义分块——支持识别标题的 Markdown、基于 AST 的 Python、基于 tree-sitter 的 JS/TS,以及结构感知的 JSON/YAML/TOML
- 增量索引——在分块级别执行 SHA-256 差异比较;仅对变更的分块重新生成嵌入
- 命名空间——将记忆整理到不同范围的分组中,自动根据文件夹名称推导;可在 Web UI 的 Settings → Namespaces 中审核并为其添加标签(颜色、描述)
- 维护——近似重复检测、基于时间的衰减、TTL 过期、自动打标签
- Web UI——提供用于搜索、来源、标签、时间线、去重等功能的可视化仪表板(运行
mm web --dev可使用完整的维护者界面) - 上下文网关——在项目或用户 Store 中保留规范的 Skills、Commands 和 Subagents,还可选择从单独的 Wiki 安装可复用资源,然后将其推送到受支持的 AI 运行时。参见上下文网关。
- MCP 工具——
mem_do元工具在core模式下路由所有非核心操作,以尽量减少上下文占用 - 可预测的核心——通过明确的 CLI/MCP 调用执行记忆操作(
mm add、mem_add、mem_index等)。可单独安装和移除可选的客户端钩子,而非将其设为隐藏的运行时默认行为。 - 可编写脚本的 CLI——为脚本提供 JSON 输出:
mm status、写入命令(mm add/mm reset/mm purge)、mm session start/end/list/events、mm schedule list、mm watchdog status/run和mm doctor支持--json;mm search和mm recall支持--json(或--format json);mm warmup可预加载本地模型,让首次查询跳过冷启动耗时 - 定时任务——使用
mm schedule add/list/run-now/delete(或mem_do(action="schedule_*"))执行由 cron 驱动的压缩、重要性衰减、失效链接清理和去重扫描 - 固定上下文——使用
mm pinned compose,在检索结果前保留简短的用户/项目/Agent Markdown 内容块 - LangGraph Store——可选的
MemtomemBaseStore,实现 LangGraph 的元组命名空间长期记忆契约 - 混合 LangGraph Store——
MemtomemHybridStore增加专用的 SQLite 持久化、BM25/稠密向量/RRF 检索、TTL 和诊断功能
稳定性
memtomem 处于 Beta 阶段(0.x)。九个核心 MCP 工具、mm CLI,以及记忆文件和配置文件的格式,只有在 CHANGELOG 中添加 Upgrading 说明时才会更改;在可能的情况下,还会设置弃用过渡期。下方未列出的其他功能均受支持——会持续维护,并在 CHANGELOG 中记录其变更——但不作此保证。
以下功能均为实验性功能——其行为、输出或格式仍可能随时更改或移除,不设过渡期,因为相关设计决策仍未敲定,或者其生成内容由大模型编写:
- 多 Agent 记忆——
mem_agent_register、mem_agent_search、mem_agent_share和按 Agent 划分的会话范围(mem_session_start中使用agent_id)。尚未敲定的决策:#1477、#1478。 - 记忆导出和导入包——
mem_export/mem_import以及 Web 导出/导入。如何恢复 0.7.0 之前创建且包含项目记忆的备份(包 v1–v3),仍未敲定。 - 大模型编写的输出——memtomem 配置的大模型(
MEMTOMEM_LLM__ENABLED=true)编写的所有内容:大模型自动标记和实体提取、strategy="llm"查询扩展、大模型整理和策略摘要、会话自动摘要、来源摘要(indexing.auto_summarize)以及上下文块增强(indexing.enrich_chunk_context)。与之并列的基于规则的模式——关键词自动标记、正则表达式实体提取、tags/headings扩展、启发式整理摘要——均受支持。 - Context Gateway 中的 Claude 项目扫描(
MEMTOMEM_CONTEXT_GATEWAY__EXPERIMENTAL_CLAUDE_PROJECTS_SCAN)。 - Antigravity CLI 插件(
packages/memtomem-antigravity-plugin/)。
生态系统
| 软件包 | 描述 |
|---|---|
| memtomem | 核心 — MCP 服务、CLI、Web UI、混合搜索、存储 |
| Claude Code 插件 | 精确锁定版本的 MCP 服务和七个斜杠命令工作流 |
| Claude Code 自动化插件 | 可选钩子,用于提示词时搜索和写入时索引 |
| Codex 插件 | 精确锁定版本的 MCP 服务和适用于 Codex CLI 的七个工作流 |
| opencode-memtomem | OpenCode — 精确锁定版本的 MCP、命令、只读技能、安全权限 |
| Kimi Code 技能 | Kimi Code 技能包(非插件) |
| Hermes Agent 插件 | 精确锁定版本的 MCP 服务和适用于 Hermes Agent 的六个工作流技能 |
| Hermes 记忆提供程序 | 仅用于回忆的 Hermes 记忆提供程序,会在每轮对话中添加相关笔记 |
| Antigravity CLI 插件 | 精确锁定版本的 MCP 服务和适用于 agy 的六个工作流技能 — 实验性 |
| memtomem-stm | STM 代理 — 通过拦截工具主动呈现记忆 |
文档
托管于 memtomem.com,也可在此仓库中以 Markdown 格式查看。刚开始使用 memtomem?指南提供了建议的阅读顺序。下表遵循该顺序,并将两个可运行示例放在入门指南之后:
| 指南 | 描述 |
|---|---|
| 入门指南 | 安装、配置、保存并查找你的第一条记忆 |
| 韩语氛围编程快速入门 | 在 Claude Code·Codex CLI 中,于 10~15 分钟内保存和搜索记忆 |
| MCP 客户端设置 | 针对特定编辑器的配置 |
| 跨运行时交接 | Claude Code·Codex CLI·Kimi Code 顺序协作开发 |
| 使用场景 | 面向多工具开发者、个人知识库和团队的九个可运行场景 |
| 按项目工作类型体验 | 开发工作交接·产品决策·新员工入职:无模型体验、记录模板、为期 2 周的试点 |
| 示例笔记本和编码 Agent 示例 | 笔记本:从 00 开始,无需模型即可跨 150 个合成文件恢复决策、代码和设置(韩语);01–04 讲解 API,05–06 讲解 LangGraph。示例:跨会话恢复决策及其 ADR 来源,并提供隔离的 CLI 验证和可复制的提示词 |
| 核心记忆工具 | 为现有笔记建立索引、搜索和管理记忆 |
| 数据、配置和 CLI | 导出和导入、导入器、mm config 以及完整的 CLI 参考 |
| 组织与维护 | 命名空间、去重、衰减、标记、清理孤立项以及 mm doctor |
| 自动化 | 策略和定时任务 |
| 固定上下文 | 优先组合固定内容、审批队列和 LangGraph 存储 |
| 嵌入 | ONNX、Ollama 和 OpenAI 嵌入提供方 |
| 大模型提供方 | Ollama、OpenAI、Anthropic 和兼容的端点 |
| 配置 | 支持的配置文件、优先级和 MEMTOMEM_* 变量 |
| 上下文网关 | 从一个 Store 在你的 AI 工具间共享 Skills、Commands 和 Subagents |
| 多设备同步 | 通过私有 git 仓库,在个人设备间同步 Markdown 记忆 |
| 运维与故障排除 | Web UI、隐私审计、诊断和恢复 |
| 卸载 memtomem | 完整卸载步骤 |
| 参考 | 完整的工具和工作流参考 |
贡献
请参阅 CONTRIBUTING.md,了解设置说明和贡献者指南。
许可证
Apache License 2.0。我们根据贡献者许可协议的条款接受贡献。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。