Memora如何为AI代理提供持久记忆和跨会话管理?
Memora is a lightweight MCP server that provides AI agents with persistent memory storage, knowledge graph visualization, semantic search, and cross-session context management through SQLite, cloud sync, and vector embeddings. 原文翻译: Memora是一个轻量级MCP服务器,通过SQLite、云同步和向量嵌入技术,为AI代理提供持久记忆存储、知识图谱可视化、语义搜索和跨会话上下文管理。
为你的 AI 代理赋予持久记忆
一个轻量级的 MCP 服务器,用于语义记忆存储、知识图谱构建、对话回忆和跨会话上下文管理。


功能 · 安装 · 使用 · 配置 · 实时图谱服务器 · 云图谱 · 与记忆对话 · 语义搜索 · 文档存储 · LLM 去重 · 记忆链接 · Neovim 集成
功能
核心存储
- 💾 持久化存储 - 基于 SQLite,支持可选的云同步 (S3, R2, D1)
- 📂 层级化组织 - 章节/小节结构,支持自动层级分配
- 📦 导入/导出 - 支持备份、恢复及合并策略
搜索与智能
- 🔍 语义搜索 - 向量嵌入 (TF-IDF, sentence-transformers, OpenAI)
- 🎯 高级查询 - 全文、日期范围、标签筛选 (AND/OR/NOT)、混合搜索
- 🔀 交叉引用 - 基于相似度自动链接相关记忆
- 🤖 LLM 去重 - 利用 AI 驱动的比较来查找和合并重复项
- 🔗 记忆链接 - 类型化边、重要性提升和集群检测
文档存储
- 📄 结构化文档 - 将 Markdown 文档存储为可搜索的片段树 (声明、计划项、引用、风险)
- 🔒 片段完整性 - 防止文档片段被意外删除/合并/吸收
- 🔍 细粒度搜索 - 单个声明和发现可进行语义搜索,同时完整文档仍可作为整体检索
工具与可视化
- ⚡ 记忆自动化 - 用于待办事项、问题和章节的结构化工具
- 🕸️ 知识图谱 - 交互式可视化,支持 Mermaid 渲染和集群叠加
- 🌐 实时图谱服务器 - 内置 HTTP 服务器,支持云托管选项 (D1/Pages)
- 💬 与记忆对话 - 基于 RAG 的聊天面板,支持 LLM 工具调用,通过流式聊天进行搜索、创建、更新和删除记忆
- 📡 事件通知 - 基于轮询的代理间通信系统
- 📊 统计与分析 - 标签使用情况、趋势和连接洞察
- 🧠 记忆洞察 - 活动摘要、陈旧检测、整合建议和 LLM 驱动的模式分析
- 📜 操作历史 - 跟踪所有记忆操作 (创建、更新、删除、合并、提升、链接),并提供分组时间线视图
安装
pip install git+https://github.com/agentic-box/memora.git
默认包含云存储 (S3/R2) 和 OpenAI 向量嵌入支持。
# 可选:本地向量嵌入 (离线,PyTorch 约 2GB)
pip install "memora[local]" @ git+https://github.com/agentic-box/memora.git
使用
使用详情
服务器在 Claude Code 中配置后会自动运行。手动调用方式如下:
# 默认 (MCP 的 stdio 模式)
memora-server
# 启用图谱可视化服务器
memora-server --graph-port 8765
# HTTP 传输 (stdio 的替代方案)
memora-server --transport streamable-http --host 127.0.0.1 --port 8080
配置
配置详情
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"
}
}
}
}
云数据库 (Cloudflare D1) - 推荐:
{
"mcpServers": {
"memora": {
"command": "memora-server",
"args": ["--no-graph"],
"env": {
"MEMORA_STORAGE_URI": "d1://<account-id>/<database-id>",
"CLOUDFLARE_API_TOKEN": "<your-api-token>",
"MEMORA_ALLOW_ANY_TAG": "1"
}
}
}
}
使用 D1 时,请使用 --no-graph 禁用本地可视化服务器。转而使用 Cloudflare Pages URL 上托管的图谱 (参见 云图谱)。
云数据库 (S3/R2) - 同步模式:
{
"mcpServers": {
"memora": {
"command": "memora-server",
"args": [],
"env": {
"AWS_PROFILE": "memora",
"AWS_ENDPOINT_URL": "https://<account-id>.r2.cloudflarestorage.com",
"MEMORA_STORAGE_URI": "s3://memories/memories.db",
"MEMORA_CLOUD_ENCRYPT": "true",
"MEMORA_ALLOW_ANY_TAG": "1",
"MEMORA_GRAPH_PORT": "8765"
}
}
}
}
Codex CLI
添加到 ~/.codex/config.toml:
[mcp_servers.memora]
command = "memora-server" # 或完整路径: /path/to/bin/memora-server
args = ["--no-graph"]
env = {
AWS_PROFILE = "memora",
AWS_ENDPOINT_URL = "https://<account-id>.r2.cloudflarestorage.com",
MEMORA_STORAGE_URI = "s3://memories/memories.db",
MEMORA_CLOUD_ENCRYPT = "true",
MEMORA_ALLOW_ANY_TAG = "1",
}
环境变量
环境变量详情
Environment Variables Details
| 变量 | 描述 |
|---|---|
MEMORA_DB_PATH |
本地 SQLite 数据库路径 (默认: ~/.local/share/memora/memories.db) |
MEMORA_STORAGE_URI |
存储 URI: d1://<account>/<db-id> (D1) 或 s3://bucket/memories.db (S3/R2) |
CLOUDFLARE_API_TOKEN |
用于访问 D1 数据库的 API 令牌 (使用 d1:// URI 时必需) |
MEMORA_CLOUD_ENCRYPT |
上传到云端前加密数据库 (true/false) |
MEMORA_CLOUD_COMPRESS |
上传到云端前压缩数据库 (true/false) |
MEMORA_CACHE_DIR |
云同步数据库的本地缓存目录 |
MEMORA_ALLOW_ANY_TAG |
允许任何标签,无需验证白名单 (设为 1 启用) |
MEMORA_TAG_FILE |
包含允许标签的文件路径 (每行一个) |
MEMORA_TAGS |
逗号分隔的允许标签列表 |
MEMORA_GRAPH_PORT |
知识图谱可视化服务器的端口 (默认: 8765) |
MEMORA_EMBEDDING_MODEL |
向量嵌入后端: openai (默认), sentence-transformers, 或 tfidf |
SENTENCE_TRANSFORMERS_MODEL |
sentence-transformers 使用的模型 (默认: all-MiniLM-L6-v2) |
OPENAI_API_KEY |
用于 OpenAI 向量嵌入和 LLM 去重的 API 密钥 |
OPENAI_BASE_URL |
OpenAI 兼容 API 的基础 URL (OpenRouter, Azure 等) |
OPENAI_EMBEDDING_MODEL |
OpenAI 向量嵌入模型 (默认: text-embedding-3-small) |
MEMORA_LLM_ENABLED |
启用 LLM 驱动的去重比较 (true/false, 默认: true) |
MEMORA_LLM_MODEL |
用于去重比较的模型 (默认: gpt-4o-mini) |
CHAT_MODEL |
聊天面板使用的模型 (默认: deepseek/deepseek-chat, 回退到 MEMORA_LLM_MODEL) |
AWS_PROFILE |
来自 ~/.aws/credentials 的 AWS 凭证配置文件 (对 R2 有用) |
AWS_ENDPOINT_URL |
用于 R2/MinIO 的 S3 兼容端点 |
R2_PUBLIC_DOMAIN |
R2 图片 URL 的公共域名 |
常见问题(FAQ)
Memora如何帮助AI代理实现跨会话的记忆管理?
Memora通过SQLite提供持久化存储,并支持云同步(如S3、R2),确保AI代理在不同会话间能访问和维持连贯的上下文与记忆。
Memora的知识图谱可视化功能具体能做什么?
它提供交互式知识图谱可视化,支持Mermaid渲染和集群叠加,并内置实时图谱服务器,方便用户直观查看和管理记忆间的关联。
Memora的语义搜索基于什么技术?效果如何?
基于向量嵌入技术(如TF-IDF、sentence-transformers),结合高级查询(全文、日期、标签筛选),实现精准的语义搜索和记忆交叉引用。
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。



