使用Qdrant向量数据库和OpenAI嵌入构建的人类记忆系统,通过模型上下文协议(MCP)访问。
人类记忆类型:
记忆特性:
安装依赖项:
npm install
配置环境:
cp .env.example .env
# 使用您的设置编辑 .env 文件
新的环境变量:
MEMORY_METADATA - 可选元数据,与所有记忆一起包含
"键:值,键2:值2" 或仅 "值"(存储为 用户:值)"服务器:生产,用户:约翰" 或 "davidstrejc"启动Qdrant(如果使用本地):
docker run -p 6333:6333 -p 6334:6334 \
--name qdrant-memory \
-v $(pwd)/qdrant_storage:/qdrant/storage:z \
qdrant/qdrant
注意:Qdrant URL 支持HTTP和HTTPS协议(例如,https://your-qdrant-instance.com:6333)
构建项目:
npm run build
使用Claude Code CLI中的MCP配置文件:
# 基本用法
claude -p "存储关于今天会议的记忆" --mcp-config claude-code-mcp.json
# 跳过权限以实现自动化
claude -p "搜索我的记忆" --mcp-config claude-code-mcp.json --dangerously-skip-permissions
# 列出可用工具
claude -p "列出可用的记忆工具" --mcp-config claude-code-mcp.json
可用的MCP工具(前缀为mcp__memory__):
store_memory - 存储新记忆search_memories - 使用自然语言搜索记忆(返回完整详情)quick_search_memories - 快速搜索仅返回概要以便浏览get_memory - 通过ID检索特定记忆update_memory - 更新现有记忆delete_memory - 删除记忆analyze_memories - 分析记忆模式重要提示:所有MCP工具都期望参数为JSON对象,而不是纯字符串。
// ✅ 正确 - 使用JSON对象存储记忆
store_memory({
"内容": "与莎拉在意大利餐厅共进午餐",
"类型": "回忆",
"上下文": {
"地点": "市中心意大利餐厅",
"人物": ["莎拉"],
"情绪": "快乐"
},
"重要性": 0.8
})
// ❌ 错误 - 不要传递纯字符串
store_memory("与莎拉共进午餐") // 这将失败!
// ✅ 正确 - 使用JSON对象搜索
search_memories({
"查询": "餐厅体验",
"限制": 5,
"包含关联": true
})
// ❌ 错误 - 不要传递纯字符串
search_memories("餐厅体验") // 这将失败!
// ✅ 正确 - 快速搜索用于浏览(仅返回概要)
quick_search_memories({
"查询": "编程技巧",
"限制": 50 // 可以处理更多结果,因为仅返回概要
})
// 然后获取特定记忆的完整详情
get_memory({
"id": "abc-123-def-456" // 使用快速搜索结果中的ID
})
自动项目跟踪:所有记忆现在包括一个项目字段,捕获主机名和当前工作目录(例如,"我的服务器:/home/用户/项目")。
环境元数据:设置MEMORY_METADATA环境变量以自动在所有记忆中包含自定义元数据:
export MEMORY_METADATA="服务器:生产,团队:工程,区域:us-west"
此元数据会自动:
包含一个全面的CLI工具用于分析记忆:
# 快速开始
./memory-analytics count # 按代理统计记忆数量
./memory-analytics tags # 分析标签使用情况
./memory-analytics compare # 比较代理
./memory-analytics all # 运行所有分析
参见docs/MEMORY_ANALYTICS.md获取详细文档。
npm run dev - 开发模式运行-npm run build - 构建TypeScriptnpm run test - 运行测试npm run lint - 运行代码检查器npm run typecheck - 类型检查