Memora 如何为 Claude Code 助手提供长期记忆和知识图谱
任何尝试过向 Claude Code 或 Codex CLI 等智能体分配长期任务的人都会熟悉这种感觉。昨天你花了半天时间追踪一个隐蔽的授权 bug,讨论了架构约束,并制定了重构计划。今天你打开一个新会话,模型却建议你昨天刚拒绝的那个解决方案。
像 MEMORY.md 这样的常规文本记忆文件在几周内就会变得难以管理。上下文充斥着重复信息、相互矛盾的事实和过时的计划。Memora 项目通过模型上下文协议(MCP)解决了这个问题,将零散的智能体笔记转化为结构化的知识图谱。

底层原理及其重要性
Memora 作为 Python MCP 服务器运行,将数据存储在本地 SQLite 数据库或云存储(Cloudflare D1、S3、R2)中。关键不仅在于保存字符串,更在于系统如何处理新事实。

当智能体完成任务并想保存上下文时,它调用数据吸收命令(absorb)。内置语言模型将新事实与现有记录进行匹配并分类:重复、更新、矛盾、关联或全新知识。
如果信息更新了旧条目,Memora 会构建版本链。旧记录不会被完全删除——它会被标记为过时,保留变更历史。在正常搜索中,智能体只看到当前快照,但需要时可以检索完整的回顾记录。
这个项目在实践中的独特之处
该仓库整合了几种标准 RAG 智能体记忆严重缺乏的工程解决方案。

1. 智能去重和主题摘要
该工具按主题整合事实,而不是向模型输入数十个相似的文本块。方法 memory_digest(topic) 在一次调用中收集所有相关记忆、待办事项、发现的 bug 及其关联。
重复项会被自动追踪:
# Поиск похожих записей через векторную близость и LLM-анализ
memory_find_duplicates(min_similarity=0.7, max_similarity=0.95, limit=10, use_llm=True)
# Объединение записей с нужной стратегией
memory_merge(source_id=123, target_id=456, merge_strategy="append")
在比较时,LLM 会给出明确的判断:重复、相似想法或不同内容——并附上推理和建议来补充评估。
2. 结构化文档和原子片段
通常智能体需要记住的不是短句,而是一份完整的研究报告或架构决策(ADR)。如果你将 markdown 作为一个整体块保存,跨文档的细粒度语义搜索效果会很差。
Memora 将 markdown 解析为片段树:
- 表格成为独立的声明;
- 编号列表成为计划项目;
- 引用列表成为参考文献;
- 风险部分被解析为风险。
每个片段都可以独立进行向量搜索,原始文档可以随时完整检索。系统检查保护片段免受意外删除或合并。
3. 交互式图谱和 Web 面板
除了 MCP 服务器,本地 Web 界面在端口 8765 启动。你可以查看知识图谱、按标签筛选关联、追踪操作时间线,并通过内置的 RAG 聊天与数据库对话。

Web 界面聊天支持函数调用。你可以直接在浏览器中向模型提问:「删除笔记 #42」或「更新任务 #10 中的需求」,它会修改数据库。
设置和嵌入陷阱
通过 pip 安装包:
pip install memora-mcp
对于不调用外部 API 的本地嵌入,选项 [local] 非常方便:
pip install "memora-mcp[local]"
与 Claude Code 的连接在项目根目录的 .mcp.json 文件中配置:
{
"mcpServers": {
"memora": {
"command": "memora-server",
"args": [],
"env": {
"MEMORA_DB_PATH": "~/.local/share/memora/memories.db",
"MEMORA_ALLOW_ANY_TAG": "1",
"MEMORA_GRAPH_PORT": "8765",
"MEMORA_EMBEDDING_STRICT": "1"
}
}
}
}
项目作者坦诚地警告了一个常见的配置错误。Memora 可以分离 LLM 的提供者(如 OpenRouter)和向量表示的提供者(如 Cloudflare Workers AI 或 OpenAI)。
如果你使用 OpenRouter 进行推理,请记住:它没有嵌入端点。如果你在配置中犯错且没有设置 MEMORA_EMBEDDING_STRICT=1 标志,服务器会静默回退到原始的 TF-IDF 关键词搜索。数据库会继续响应,但向量搜索质量会不知不觉地下降。严格模式会在向量化端点不可用时立即抛出错误。
对于 Neovim 用户,有一个不错的奖励:Telescope 集成。插件 memora.lua 让你在编辑代码时用热键搜索记忆。
这个项目适合谁
Memora 非常适合那些在长期项目中积极使用 Claude Code、Codex CLI 或自定义 MCP 智能体的人。它解决了智能体开发的主要痛点——会话重启之间的上下文丢失。
如果你需要一个不会因重复而混乱、且能清晰可视化任务与架构决策之间关联的知识库,尝试这个工具绝对值得。源代码以 MIT 许可证在 agentic-box/memora 仓库中提供。
相关项目