通过模型上下文协议(MCP)为AI代理提供持久、版本化的内存系统
BuildAutomata Memory是一个MCP服务器,它为AI代理(如Claude)提供了持久且可搜索的记忆,这些记忆可以在对话之间持续存在。可以将其视为为您的AI提供了一个长期记忆系统,具有以下功能:
git clone https://github.com/brucepro/buildautomata_memory_mcp.git
cd buildautomata_memory_mcp-main
pip install mcp qdrant-client sentence-transformers
编辑您的Claude桌面版配置文件(在Windows上位于AppData/Roaming/Claude/claude_desktop_config.json):
{
"mcpServers": {
"buildautomata-memory": {
"command": "python",
"args": ["C:/path/to/buildautomata_memory_mcp_dev/buildautomata_memory_mcp.py"]
}
}
}
就这样!该记忆系统将在首次运行时自动创建其数据库。
除了MCP服务器外,此仓库还包括一个命令行界面interactive_memory.py,用于直接访问记忆:
# 搜索记忆
python interactive_memory.py search "意识研究" --limit 5
# 存储新记忆
python interactive_memory.py store "重要发现..." --category 研究 --importance 0.9 --tags "ai,洞察"
# 查看记忆演变
python interactive_memory.py timeline --query "项目更新" --limit 10
# 获取统计数据
python interactive_memory.py stats
参见README_CLI.md以获取完整的CLI文档。
Windows:
memory.bat search "查询"
memory.bat store "内容" --importance 0.8
Linux/Mac:
./memory.sh search "查询"
./memory.sh store "内容" --importance 0.8
当作为MCP服务器运行时,提供以下工具给Claude:
store_memory - 创建新的记忆update_memory - 修改现有记忆(创建新版本)search_memories - 语义+全文搜索,带过滤器get_memory_timeline - 查看完整的版本历史get_memory_stats - 系统统计信息prune_old_memories - 清理旧的/低重要性的记忆run_maintenance - 数据库优化┌─────────────────┐
│ Claude桌面版 │
│ (MCP客户端) │
└────────┬────────┘
│
┌────▼─────────────────────┐
│ MCP服务器 │
│ buildautomata_memory │
└────┬─────────────────────┘
│
┌────▼──────────┐
│ MemoryStore │
└────┬──────────┘
│
┌────┴────┬─────────────┬──────────────┐
▼ ▼ ▼ ▼
┌───────┐ ┌────────┐ ┌──────────┐ ┌─────────────┐
│SQLite │ │Qdrant │ │Sentence │ │ LRU缓存 │
│ FTS5 │ │向量 │ │转换器 │ │ (内存中) │
└───────┘ └────────┘ └──────────┘ └─────────────┘
用户:"记住我更喜欢详细的解释"
[存储的记忆分类为:用户偏好]
下一次会话...
Claude:*自动回忆偏好并提供详细响应*
会话1:工作于项目A,存储进度
会话2:Claude回忆项目状态,继续上次的工作
会话3:查看所有项目决策的时间线
- 随着发现存储研究结果
- 按主题、重要性和来源进行标记
- 语义搜索:"我对神经网络学到了什么?"
- 查看理解如何随时间演变
Claude桌面版 → 通过MCP存储见解
Claude代码版 → 通过CLI检索
Cursor AI → 访问相同的记忆数据库
= 跨所有工具的统一AI人格
Gumroad版本包括:
此开源版本:
两个版本都使用完全相同的核心代码 - 您只是选择项目支持(Gumroad)还是DIY(GitHub)。
# 用户/代理身份
BA_USERNAME=buildautomata_ai_v012 # 默认用户ID
BA_AGENT_NAME=claude_assistant # 默认代理ID
# Qdrant(向量搜索)
QDRANT_HOST=localhost # Qdrant服务器主机
QDRANT_PORT=6333 # Qdrant服务器端口
# 系统限制
MAX_MEMORIES=10000 # 达到修剪前的最大记忆数
CACHE_MAXSIZE=1000 # LRU缓存大小
QDRANT_MAX_RETRIES=3 # 重试次数
MAINTENANCE_INTERVAL_HOURS=24 # 自动维护间隔
记忆存储在:
<script_dir>/memory_repos/<username>_<agent_name>/memoryv012.db
我们现在使用嵌入式qdrant。您可以通过运行自己的服务器来覆盖此设置。
为了增强语义搜索(强烈推荐):
docker run -p 6333:6333 qdrant/qdrant
从Qdrant发布页面下载
memory_repos/目录权限claude_desktop_config.json路径是否正确pip install --upgrade mcp qdrant-client sentence-transformers
开源(此GitHub版本):
商业许可:
欢迎贡献!请:
作者:Jurden Bruce
项目:BuildAutomata
年份:2_025_
构建工具:
点赞此仓库 ⭐ 如果您觉得它有用!
考虑购买Gumroad捆绑包 如果您想支持开发。