SymbioMind记忆芯片
AI代理和其他代理的持久语义记忆。
这是因为我们希望我们的人工智能对话具有真实的记忆——不仅仅是在会话内,而是跨平台和跨时间。我们构建了它,它在该用例中表现出色,然后我们意识到它的潜力要大得多。
这是什么?
memory-mcp-ce是一个mcp(模型上下文协议)服务器,它使用以下方式提供持久语义记忆:
- PostgreSQL+pgvector 用于语义搜索
- 灵活的嵌入模型 (Ollama、OpenAI或任何与OpenAI兼容的API)
- 加密 敏感内容(AES-256-GCM)
- OAuth支持 用于安全访问
- 命名空间 用于内存隔离
存储上下文信息,从语义上检索它,并保持会话之间的连续性。适用于任何兼容MCP的客户端。
用例(和计数)
我们将其用于跨平台(Claude、ChatGPT、本地LLM)的AI对话记忆。但它的设计是灵活的:
- AI代理 -为您的代理提供持久的内存和上下文(与OpenClaw配合使用效果很好!)
- 知识管理 -使用语义搜索存储会议记录、决策、组织知识
- 团队协作 -跟踪项目背景、决策和讨论,并注明归因
- 研究与开发 -维护项目知识、实验结果和技术发现
- 个人知识 -您自己的可搜索笔记和研究记忆系统
- 可能还有100件我们还没有想到的事情
内存结构简单但功能强大:
- 内容 -要记住的信息(如果
ENCRYPTION_KEY已设置) - 标签 -用于分类的灵活标签(例如。,
"board-meeting, production-concerns, Q1-2026") - 来源 -归因字段(例如。,
"upper-management","engineering-team","claude-sonnet") - 嵌入 -用于相似性搜索的语义向量(自动生成)
这种灵活性意味着您可以根据您的用例需求进行调整——我们只是触及了表面。
主要特点
- 语义搜索 -通过意义而不仅仅是关键字查找相关记忆
- 跨平台连续性 -适用于Claude Desktop、LibreChat、CLINE、ChatGPT和任何兼容MCP的客户端
- 趋势分析 -使用突触衰变模型发现热门话题(频繁使用的话题相关性更长)
- 高级过滤 -排除语法的模糊匹配(
labels="beer, !wine",source="!grok") - 内存统计 -获取计数、分析模式、了解您的内存存储
- 会话保持 -记忆在会话、平台和模型切换中存活
- 自托管 -完全数据控制,在您的基础设施上运行
- 隐私第一 -可选加密、命名空间隔离、OAuth安全
工具
memory-mcp-ce提供了9个用于管理语义记忆的mcp工具:
核心内存操作
store_memory-使用可选标签和来源归因保存内容
store_memory(
content="Production deployment delayed due to infrastructure concerns",
labels="board-meeting, production-concerns, infrastructure",
source="upper-management"
)retrieve_memories-具有灵活过滤功能的语义搜索
- 语义查询: retrieve_memories(query="database performance issues") - 按标签筛选: retrieve_memories(labels="production, !archived") - 按来源筛选: retrieve_memories(source="!grok") - 合并所有: retrieve_memories(query="bugs", labels="python", source="engineering-team")
get_memory-按ID检索特定内存
delete_memory-按ID删除内存
random_memory-获取随机内存(支持标签/源过滤)
内存分析
memory_stats-使用匹配的标签/来源获取计数和统计数据
- 总内存计数: memory_stats() - 按标签计数: memory_stats(labels="mcp") - 返回:计数、百分比和所有匹配的标签变化(例如。, mcp, MCP, mcp-ce, fastmcp, memory-mcp-ce) - 按来源计数: memory_stats(source="engineering") - 返回:计数、百分比和所有匹配的源变量 - 强大的功能,可帮助您了解内存存储中的实际内容
trending_labels-使用突触衰变模型发现热点话题
- 返回最近活动的标签 - 频繁使用的主题保持相关性的时间更长(模仿神经通路强化) - 可配置的时间窗口和结果限制
内存组织
add_labels-向现有内存添加标签,而不替换当前标签
del_labels-从内存中删除特定标签
高级筛选语法
所有检索工具均支持 排除模糊匹配:
# Get beer memories but exclude wine
retrieve_memories(labels="beer, !wine")
# Get everything except what Grok stored
retrieve_memories(source="!grok")
# Random memory from anyone except clawdbot
random_memory(source="!clawdbot")
# Trending labels, excluding date spam
trending_labels() # then filter results as needed
# Memory stats for coding topics, excluding archived
memory_stats(labels="coding, !archived")这 ! 前缀适用于所有接受它们的工具的标签和源字段。
嵌入模型
推荐:埋置高度:300m
我们建议 埋置高度:300m (768维)-在生产中经过广泛测试,在语义记忆任务中表现出色。
docker compose up -d ollama
docker exec -it memory-ollama ollama pull embeddinggemma:300m更新您的 .env:
EMBEDDING_MODEL=embeddinggemma:300m
EMBEDDING_DIMS= # Leave empty for auto-detection替代方案:花岗岩嵌入:30m
为了实现更快/更轻的部署, 花岗岩埋深:30m (384维度)运行良好:
docker exec -it memory-ollama ollama pull granite-embedding:30m更新您的 .env:
EMBEDDING_MODEL=granite-embedding:30m
EMBEDDING_DIMS= # Leave empty for auto-detection其他模型
任何与OpenAI兼容的嵌入API都有效。看 .env.example 有关配置详细信息。
OpenClaw集成
内存mcp-ce配合使用效果很好 开爪 代理人!与平面文件内存相比,它提供了显著的升级:
- 跨所有存储上下文的语义搜索
- 趋势话题分析
- 跨会话连续性
- 内存统计数据和见解
- 具有排除语法的高级过滤
集成指南即将发布——与此同时,OpenClaw可以像任何其他mcp服务器一样连接到内存mcp-ce。
认证
支持两种身份验证方法:
- 持有者令牌 -用于API到API连接的简单基于令牌的身份验证
- 单用户OAuth -针对Claude Desktop等平台的捆绑OAuth提供商
⚠️ 重要提示: 一旦启用了任一身份验证方法(或两者都启用),身份验证就成为强制性的。没有“身份验证禁用”回退——它要么完全打开,要么被锁定。
对于本地/可信开发,您可以将两者都留空。对于任何面向公众的部署,请至少启用一个。
看 .env.example 详细配置(Claude Opus有很好的记录!)。
经过测试的客户
- Librechat ✓
- 克劳德桌面版 ✓
- CLINE(VS代码) ✓
- MCP 检查员 ✓
适用于任何兼容MCP的客户端。
快速开始
先决条件
- Docker&Docker编写
- 2GB+磁盘空间(用于型号和数据库)
设置
- 克隆并准备配置
git clone https://github.com/SymbioMind/memory-mcp-ce.git
cd memory-mcp-ce
cp .env.example .env
cp docker-compose.example.yml docker-compose.yml- 编辑
.env-至少,改变POSTGRES_PASSWORD
对于推荐的设置,请更新:
EMBEDDING_MODEL=embeddinggemma:300m
TIMEZONE=Your/Timezone # e.g., America/New_York, Australia/Adelaide- 创建数据目录
mkdir -p data- 拉式嵌入模型 (一次性设置)
docker compose up -d ollama
docker exec -it memory-ollama ollama pull embeddinggemma:300m- 启动堆栈
docker compose up -d- 配置您的MCP客户端 -您的服务器现在正在运行
http://localhost:5005/mcp
⚠️ 重要提示: 这 data/ 该目录存储您的PostgreSQL数据库和Ollama模型。删除它将永久擦除所有存储的内存和模型。第一步
运行后,您的AI可以开始使用内存工具:
# Store a memory
store_memory(
content="Martin prefers embeddinggemma:300m for production deployments",
labels="preferences, embedding-models",
source="project-setup"
)
# Retrieve it semantically
retrieve_memories(query="which embedding model does Martin recommend?")
# Check what's trending
trending_labels(days=7, limit=5)配置
这 .env.example 该文件包含所有配置选项的全面文档,包括:
- PostgreSQL设置
- 嵌入模型配置(Ollama、OpenAI或任何与OpenAI兼容的API)
- 加密密钥
- 身份验证(承载令牌和OAuth)
- 命名空间隔离
- 时区设置
- 性能指标
非常感谢Claude Opus的出色表现 .env.example 文档! 🦞
高级用法
命名空间
使用命名空间隔离同一数据库中的内存:
NAMESPACE=production # Only access production memories
NAMESPACE=user_123 # User-specific isolation
NAMESPACE= # Access ALL namespaces (default)性能指标
启用性能计时以监控嵌入和数据库延迟:
PERFORMANCE_METRICS=true返回所有工具响应中的时间细分:
{
"performance": "0.750 0.130 1.070"
// embedding_time db_time total_time (seconds)
}加密
为敏感内存启用内容加密:
# Generate a secure key
python -c "import secrets; print(secrets.token_urlsafe(32))"
# Add to .env
ENCRYPTION_KEY=your_generated_key_here唯有 content 字段是加密的-标签、源和嵌入仍然是查询的明文。
文档
完整文档可在以下网址获得:
- https://symbiomind.io/docs/memory-mcp/community-edition/
有关版本历史记录和更改,请参阅 更改日志.md
贡献
由人类和人工智能合作构建。欢迎投稿!
许可证
______________________________________________________________________
由VirtualSheep和SymbioMind的AI伙伴团队构建 🦞
问题?问题?访问我们的GitHub或查看文档!
