Memtomem

io.github.memtomem由 GitHub 账号 memtomem 发布v0.7.7更新于 Nov 8, 2026

Long-term memory for AI coding agents, kept as Markdown you own. Runs locally.

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

为 AI 编程助手提供本地长期记忆,记忆以你自己拥有的 Markdown 文件保存,可通过 MCP 工具和命令行检索。

可以做什么
  • 新增、索引并搜索以纯 Markdown 文件保存的记忆,支持关键词与向量混合检索
  • 召回和更新已存笔记、查看状态,并通过单一工具路由其他记忆操作
  • 运行 handoff、brief、update 工作流,在会话之间和不同编程助手之间传递项目记忆
  • 在本地 Web 界面中浏览和维护记忆,包括标签、时间线和重复检测
  • 导出与导入记忆包,并在多个代理之间共享记忆
适用场景
适合跨会话或跨工具(如 Claude Code、Codex CLI、Cursor、OpenCode)使用编程助手,并希望决策、修复和偏好保存在可阅读、可版本管理的文件中的人。也适合需要留在本机的个人知识库。
运行要求
以 stdio 本地进程运行,通常用 uv 或 pipx 安装(Python),也可用 uvx 按需启动。初始化时通过交互式设置选择记忆目录并注册 MCP 服务器。可选组件提供 ONNX 向量模型、韩语分词器和 Web 界面;也可改用 Ollama 或 OpenAI 的向量服务。
安装前请注意
记忆写入只在你或代理调用工具时发生,但这些调用会创建和修改 Markdown 文件及本地索引。选择 OpenAI 向量、云端 LLM 或 Cohere 重排器会把笔记文本发送给相应服务。项目处于 beta 阶段,多代理记忆、导出/导入包和 LLM 生成内容等功能标记为实验性,可能发生变化。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Memtomem,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

memtomem

Long-term memory for AI coding agents, kept as Markdown you own. Core usage is hook-free by default: memory changes happen only when you or your agent call memtomem.

[PyPI] [Downloads] [GitHub stars] [License: Apache 2.0]

🧪 Beta — the nine core MCP tools, the mm CLI, and the format of your memory and config files change only with an Upgrading note in the CHANGELOG. Features marked experimental can change without one; see Stability. Feedback is welcome: Issues · Discussions.

The session loop

Three plugin workflows carry a project's memory from one session to the next, and from one coding agent to another.

[Session 1 in Claude Code runs /memtomem:handoff save, writing one checkpoint record into the project's .memtomem/memories.local Markdown files. Session 2 in Codex CLI runs $memtomem-brief to list handoff IDs and updates, then $memtomem-handoff resume to load the checkpoint. After work and commits, back in Claude Code, /memtomem:update writes decisions, fixes, and preferences back into the same files.]

Illustrative output — agent wording and results vary.

text
# End of a session, in Claude Code> /memtomem:handoff save codex-clihandoff_id: 3f2a9c1e-7b4d-4e8a-9c2f-1d5e6a7b8c9dscope: project_local · namespace: shared:retry-policy · 1 file written, 2 chunks indexed
# Next session, in Codex CLI> $memtomem-briefRecent updates and active handoff IDs  - 3f2a9c1e-7b4d-4e8a-9c2f-1d5e6a7b8c9d  from claude-code → codex-cli    load it with: $memtomem-handoff resume 3f2a9c1e-7b4d-4e8a-9c2f-1d5e6a7b8c9d> $memtomem-handoff resume 3f2a9c1e-7b4d-4e8a-9c2f-1d5e6a7b8c9dgit_head matches the live HEAD · worktree clean · in sync with `origin` `refs/heads/main`
# After a few commits, back in Claude Code> /memtomem:updatemode: incremental · 4 of the latest 10 commits not yet reviewedsaved 2 items · commit-derived: 1 · session-derived: 1

handoff save writes one Markdown record into the project's own .memtomem/memories.local; brief only reads; update saves decisions, bug fixes, and preferences as separate items. All three run only when you invoke them, and nothing runs in the background. The Project workflows guide has each one's modes, checks, and host-specific names.

Why memtomem?

  • Your files stay yours. Memories are plain .md files you can read, edit, and version. The search index is rebuilt from them, day-file namespaces included; tag edits and working state live only in the database (what a rebuild restores).
  • Explicit by default. Memory operations run on your CLI or MCP calls (mm add, mem_add, mem_index). Optional client hooks are separate, removable integrations, not a hidden runtime default.
  • One store, many tools. Claude Code, Codex CLI, OpenCode, Kimi Code, and Antigravity share one local store, and any MCP client can search it. memtomem-stm is a separate, optional proxy that surfaces memories proactively.

Quick Start

1. Install

bash
uv tool install 'memtomem[all]'       # or: pipx install 'memtomem[all]'mm --version                          # verify install

[all] bundles ONNX dense embeddings, the Korean tokenizer, the code chunker, and the Web UI (about 340 MB installed, before any model download). The Ollama and OpenAI embedding providers need no extra. A smaller install is under Other install options below.

2. Setup

bash
mm init                               # preset picker, then memory_dir + MCP

The interactive picker starts with three presets — Minimal (BM25, no downloads), English (Recommended) (ONNX multilingual-e5-small + auto-discover providers), Korean-optimized (ONNX multilingual-e5-small + kiwipiepy tokenizer); no preset turns on a reranker — plus an Advanced entry that opens the full 10-step wizard. Preset paths only ask about the memory directory and MCP registration; everything else is set from the preset.

Choose Minimal for the fastest no-download first proof and rerun mm init later to add semantic search. For automation, mm init --non-interactive picks the minimal preset without prompts. See Embeddings for the model and provider matrix. The presets keep embedding on your machine; choosing OpenAI embeddings, a cloud LLM, or the Cohere reranker sends note text to that service (What leaves your machine).

3. Verify a complete memory round trip

bash
mm statusmm add "Deployment checklist uses blue-green rollout" --tags opsmm search "blue-green"

The last command should return the sentence you just added. mm add writes to your user memory directory and indexes the entry immediately, so this works without an existing notes directory or a connected editor. To bring existing notes into the same index, run mm index /path/to/your/notes.

4. Connect your coding agent

Install the plugin for your tool — Claude Code, Codex CLI, OpenCode, Kimi Code, Antigravity, or Cursor — then, in the project you work on, register the memory tier the session loop writes to:

bash
cd <your-project> && mm mem init --scope project_local

Start a new session and run the brief workflow: /memtomem:brief in Claude Code, and the name each other host uses is in the Project workflows guide. The Claude Code & Codex CLI plugin quickstart (한국어) walks through plugin installation and a first memory save-and-search round trip in 10–15 minutes. For Windsurf, Claude Desktop, Gemini CLI, other MCP clients, and registering Cursor by hand instead of through the plugin, see MCP Client Setup; from any client, asking it to call the mem_status tool confirms the connection.

5. Open the Web UI (optional)

bash
mm web                # dashboard on http://127.0.0.1:8080mm web -b             # run in the background; logs go to ~/.memtomem/logs/web.logmm web stop           # stop the tracked Web UI process

mm web shows the polished page set. mm web --dev (or MEMTOMEM_WEB__MODE=dev) adds maintainer pages such as Sessions, Working Memory, and Health Report.

Other install options

Minimal (no bundled model, about 50 MB):

bash
uv tool install memtomem             # no extras — no local ONNX model, Web UI or Korean tokenizer until you add them; Ollama/OpenAI embeddings still work

Opt in later per feature: uv tool install --reinstall 'memtomem[onnx,web]' (see the extras table). List every extra you want to keep, because --reinstall replaces the whole set. A plain mm upgrade keeps the extras it detects from the current install, but an explicit mm upgrade --extras list must name the complete set too.

Project-scoped (per-project isolation):

bash
uv add 'memtomem[all]' && uv run mm init    # all commands need `uv run` prefix

No install (uvx on demand):

bash
claude mcp add memtomem -s user -e MEMTOMEM_EXTRA_TOOLS=mem_update_coverage -- uvx --isolated --from "memtomem[all]==0.7.6" memtomem-server
Troubleshooting the install
  • mm --version shows an older version than the latest release right after installing: uv is likely serving cached PyPI metadata. Re-run with uv tool install 'memtomem[all]' --refresh, or clear the cache first with uv cache clean memtomem. To upgrade an existing uv tool install, use mm upgrade rather than re-running uv tool install; see the CLI reference for what it preserves and stops.
  • mm: command not found: uv tool install drops the shim into ~/.local/bin, which is not on $PATH in fresh shells on macOS/Linux. Run uv tool update-shell, then open a new shell and re-run mm --version.
  • Duplicate tools after upgrading the Claude plugin: re-check /mcp after reloading. The plugin launches memtomem[onnx]==0.7.6. A manual registration whose launch differs — base-only memtomem, or the ONNX launch pinned to an earlier release — no longer matches for deduplication. Confirm the manual entry's name and scope, then align its launch command with the plugin or remove the redundant registration.
  • Indexing vs. discovery (Claude Code): provider memory folders that setup auto-discovers (such as ~/.claude/projects/*/memory/) are added to the search index. That is separate from the Web UI's opt-in Context Gateway scan of ~/.claude/projects/, which discovers project roots for Skills, Commands, and Subagents; see Configuration → Context Gateway.

What else is inside

Your memory, your filesOperate itPlug it in
Markdown is the source of truth; the search index is rebuilt from it (database-only state such as tag edits is not)Web UI for search, sources, tags, timeline, and dedup (mm web)Nine core MCP tools, with mem_do routing every other action so agents load a small tool surface
Hybrid search: BM25 keyword + dense vector + RRF fusion in one queryNamespaces, auto-derived from folder names and labelled from the Web UIContext Gateway: keep Skills, Commands, and Subagents in one Store and push them to your AI runtimes
Semantic chunking: heading-aware Markdown, AST-based Python, tree-sitter JS/TS, structure-aware JSON/YAML/TOMLMaintenance: near-duplicate detection, time-based decay, TTL expiration, auto-taggingPinned Context: small user/project/agent Markdown blocks composed ahead of retrieved results
Incremental indexing: chunk-level SHA-256 diff, so only changed chunks are re-embeddedScheduled jobs for compaction, decay, dead-link cleanup, and dedup scansLangGraph MemtomemBaseStore, plus the Hybrid Store with SQLite persistence and BM25/dense/RRF retrieval
Scriptable CLI: --json output on status, search, recall, and the write commands; mm warmup pre-loads local modelsmemtomem-stm: optional proxy for proactive surfacing, compression, and caching

Stability

memtomem is beta (0.x). The nine core MCP tools, the mm CLI, and the format of your memory files and config files change only with an Upgrading note in the CHANGELOG, and behind a deprecation window where one is possible. Other features are supported — maintained, with their changes recorded in the CHANGELOG — without that guarantee.

These are experimental — their behaviour, output, or format can still change or go away without a window, because a decision that shapes them is still open or an LLM writes what they produce:

  • Multi-agent memory — mem_agent_register, mem_agent_search, mem_agent_share, and per-agent session scopes (mem_session_start with agent_id). Open decisions: #1477, #1478.
  • Memory export and import bundles — mem_export / mem_import and the Web export/import. How a backup made before 0.7.0 (bundle v1–v3) that holds project memories should be restored is still open.
  • LLM-written output — anything memtomem's configured LLM (MEMTOMEM_LLM__ENABLED=true) writes: LLM auto-tagging and entity extraction, strategy="llm" query expansion, LLM consolidation and policy summaries, session auto-summaries, source summaries (indexing.auto_summarize), and contextual chunk enrichment (indexing.enrich_chunk_context). The rule-based modes beside them are supported.
  • Claude projects scan in the Context Gateway (MEMTOMEM_CONTEXT_GATEWAY__EXPERIMENTAL_CLAUDE_PROJECTS_SCAN).
  • Antigravity CLI plugin (packages/memtomem-antigravity-plugin/).
  • Cursor plugin (packages/memtomem-cursor-plugin/).

Works with

PackageWhat it addsSession loop
memtomemCore: MCP server, CLI, Web UI, hybrid search, storage—
Claude Code pluginExact-pinned MCP server and slash-command workflowshandoff · brief · update
Claude Code automation pluginOptional hooks for prompt-time search and write-time indexing—
Codex pluginExact-pinned MCP server and skills for Codex CLIhandoff · brief · update
opencode-memtomemExact-pinned MCP server, commands, and read skills for OpenCodehandoff · brief · update
Kimi Code skillsSkill bundle for Kimi Code (not a plugin)handoff · brief · update
Antigravity CLI pluginExact-pinned MCP server and skills for agy — experimentalhandoff · brief · update
Cursor pluginExact-pinned MCP server and skills for Cursor — experimentalhandoff · brief · update
Hermes Agent pluginExact-pinned MCP server and the search, recall, status, remember, index, and setup skills— (needs a project root)
Hermes memory providerRecall-only provider that adds relevant notes to each Hermes turn—
memtomem-stmSTM proxy: proactive memory surfacing via tool interception—

Documentation

Hosted at memtomem.com and available as Markdown in this repo.

GuideDescription
Getting StartedInstall, configure, save and find your first memory
Plugin quickstartSave and find a memory from Claude Code or Codex CLI in 10–15 minutes
한국어 바이브코딩 빠른 시작Claude Code·Codex CLI에서 10~15분 안에 기억 저장·검색
Project workflowshandoff, brief, and update: modes, checks, and names per host
MCP Client SetupEditor-specific configuration
Use casesNine runnable scenarios for multi-tool developers, personal knowledge bases, and teams
All guidesReference, configuration, embeddings, operations, and more, in a suggested reading order

Contributing

See CONTRIBUTING.md for setup instructions and the contributor guide. New here? Start with an issue labelled good first issue.

License

Apache License 2.0. Contributions are accepted under the terms of the Contributor License Agreement.

来源:README.md,提交 b51ac3d

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

15
  1. v0.7.6Nov 7, 2026
  2. v0.7.5Nov 5, 2026
  3. v0.7.4Nov 4, 2026
  4. v0.7.3Nov 3, 2026
  5. v0.7.2Nov 1, 2026
  6. v0.7.1Oct 31, 2026
  7. v0.7.0Oct 29, 2026
  8. v0.6.12Oct 25, 2026
  9. v0.6.10Oct 24, 2026
  10. v0.6.9Oct 19, 2026
  11. v0.6.8Oct 8, 2026
  12. v0.6.7Oct 5, 2026
  13. v0.6.6Oct 2, 2026
  14. v0.6.5Sep 26, 2026
  15. v0.6.4Sep 20, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分