长时程记忆
AI助手的持久、自组织记忆。
插入式MCP服务器,为Claude(和任何MCP客户端)提供长期记忆——由语义搜索、知识图和强化学习提供支持。
   
注: 此软件包以前发布为mcp-memory-server。该软件包已弃用--请使用long-term-memory前进。
______________________________________________________________________
为什么是长期记忆?
当前的AI记忆工具有两个关键问题:
| 问题 | 我们如何解决它 |
|---|---|
| 手工检索 --你一定要问“你还记得X吗?” | auto_search 每转一圈,自动注入相关记忆 |
| 错过的回忆 --人工智能决定要保存什么,这样经验/故事就会丢失 | 每个转弯都会自动记录;睡眠周期提取了AI错过的东西 |
| 代币浪费 --将整个内存转储插入上下文中 | 多分辨率合成器在令牌预算内选择前K个内存 |
主要特点
- RL驱动策略 --上下文强盗决定何时保存、跳过或检索(不仅仅是关键字匹配)
- 语义搜索 --ChromaDB+多语言句子转换器嵌入(
intfloat/multilingual-e5-small) - 知识图谱 --用于多跳推理的实体关系图(NetworkX)
- GraphRAG混合检索 --向量相似性+图遍历,由RL重新排序器融合和重新排序
- 自动链接 --新记忆会自动链接到相似的现有记忆(相似度≥0.92)
- 多分辨率文本 --全文→ 总结→ 实体三元组,在代币预算内组成
- 自动对话记录 --所有转弯记录到SQLite;高价值回合立即提取到ChromaDB
- 句子级别拆分 --多句话被分割成独立类别的个人记忆
- 睡眠周期记忆提取 --使用渐进式RL提取从对话日志中批量处理丢失的记忆
- 汽车类别分类 —
memory_save自动根据模式对内容类别进行分类 - 忘记管道 --基于衰老的衰老,具有巩固、固定和不可变的保护
- 睡眠周期 --定期维护:提取、去重、压缩、忘记、检查点
- 实时图表 --内存图的实时WebSocket可视化
- 多语言 --开箱即用的韩语和英语模式支持
______________________________________________________________________
快速入门(2分钟)
1.安装
pip install long-term-memory或与 紫外线:
uv pip install long-term-memoryOptional extras
pip install long-term-memory[ko] # Korean NLP support
pip install long-term-memory[live] # Real-time graph visualization
pip install long-term-memory[viz] # Static graph visualization2.设置客户端说明
# For OpenClaw
aimemory-setup openclaw
# For Claude Code
aimemory-setup claude这会将内存使用说明注入到客户端的配置文件中(SOUL.md/TOOLS.md 对于OpenClaw, CLAUDE.md 克劳德代码)。随时重新运行以进行更新。
Custom database path
默认情况下,内存存储在 ./memory_db (在安装时解析为绝对路径)。要使用自定义位置,请执行以下操作:
# OpenClaw — sets the DB path in the extension and mcporter config
aimemory-setup openclaw --db-path /path/to/my/memory_db
# Claude Code
aimemory-setup claude --db-path /path/to/my/memory_db
# Shell script (OpenClaw)
bash scripts/install_openclaw.sh --db-path /path/to/my/memory_db您还可以设置 AIMEMORY_DB_PATH 所有组件都尊重的环境变量:
export AIMEMORY_DB_PATH=/path/to/my/memory_db
aimemory-setup openclaw # picks up the env var automatically所有组件(MCP服务器、实时查看器、OpenClaw扩展)将使用相同的绝对路径,确保数据一致性。
3.连接到OpenClaw
mcporter config add aimemory --command aimemory-mcp --scope home4.连接到克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"aimemory": {
"command": "aimemory-mcp"
}
}
}就是这样。克劳德现在对所有对话都有持久的记忆。
With live graph visualization
{
"mcpServers": {
"aimemory": {
"command": "aimemory-mcp",
"args": ["--with-live"]
}
}
}然后打开 http://127.0.0.1:8765 查看实时内存图。
Advanced: custom data path or uv project mode
{
"mcpServers": {
"aimemory": {
"command": "uv",
"args": ["run", "--project", "/path/to/long-term-memory", "aimemory-mcp", "--with-live"],
"env": {
"AIMEMORY_DB_PATH": "/path/to/memory_db"
}
}
}
}5.连接到克劳德代码
claude mcp add aimemory -- aimemory-mcp或者使用实时图表:
claude mcp add aimemory -- aimemory-mcp --with-live______________________________________________________________________
实时图形可视化
基于WebSocket的实时内存图,随着内存的保存、搜索或删除而更新。
# Option 1: auto-start with MCP server
aimemory-mcp --with-live
# Option 2: standalone server
aimemory-live --port 8765
# Option 3: standalone with custom DB path
aimemory-live --db-path /path/to/memory_db
# Option 4: via environment variable
AIMEMORY_LIVE=1 aimemory-mcp打开 http://127.0.0.1:8765 在浏览器中。需要 [live] 额外(pip install long-term-memory[live]).特征:
- 基于类别着色的强制导向图布局
- 新节点在保存时呈绿色,在搜索时呈蓝色
- 事件日志侧栏,悬停以突出显示(悬停日志条目以突出显示相关节点)
- 跨浏览器刷新的持久事件历史记录
- 跨进程事件——MCP服务器通过WebSocket将事件推送到实时图
______________________________________________________________________
MCP工具(13)
| 工具 | 说明 |
|---|---|
auto_search | 在转弯开始时自动检索相关记忆(多分辨率上下文) |
memory_save | 使用关键字、类别和关系保存新内存 |
memory_search | 语义相似度搜索 |
memory_update | 更新现有内存的内容或关键字 |
memory_delete | 删除内存(尊重不变性) |
memory_get_related | 相关内存的BFS图遍历 |
memory_pin / memory_unpin | 保护记忆不被遗忘 |
memory_stats | 总数和类别细分 |
memory_visualize | 生成交互式图形HTML |
sleep_cycle_run | 触发器维护(提取+合并+遗忘+检查点) |
policy_status | RL策略状态(epsilon、动作分布、更新) |
policy_decide | 通过推理向RL策略询问保存/跳过/检索决策 |
______________________________________________________________________
配置
通过环境变量进行的所有设置:
| 变量 | 默认值 | 描述 |
|---|---|---|
AIMEMORY_DB_PATH | ./memory_db | ChromaDB持久目录(使用绝对路径确保所有组件共享同一个DB) |
AIMEMORY_LANGUAGE | ko | 模式匹配语言(ko / en) |
AIMEMORY_EMBEDDING_MODEL | intfloat/multilingual-e5-small | 句子转换模型 |
AIMEMORY_LOG_LEVEL | INFO | 日志记录级别 |
AIMEMORY_ENHANCED_POLICY | 0 | 启用778d增强的RL策略(1 启用) |
AIMEMORY_GRAPH_RAG | 0 | 启用GraphRAG混合检索(1 启用) |
AIMEMORY_LIVE_HOST | 127.0.0.1 | 实时图形服务器主机(用于事件推送) |
AIMEMORY_LIVE_PORT | 8765 | 实时图形服务器端口(用于事件推送) |
______________________________________________________________________
建筑
┌─────────────────────────────────────────────────┐
│ MCP Client │
│ (Claude Desktop / Claude Code / OpenClaw) │
└────────────────────┬────────────────────────────┘
│ stdio (JSON-RPC)
┌────────────────────▼────────────────────────────┐
│ FastMCP Server (13 tools) │
├──────────────────────────────────────────────────┤
│ MemoryBridge (orchestrator) │
├──────────┬──────────┬──────────┬─────────────────┤
│ RL Policy│ Retrieval│ Storage │ Maintenance │
│ │ │ │ │
│ Rule- │ ChromaDB │ Graph │ Sleep Cycle │
│ Based + │ vector + │ Memory │ (extraction, │
│ MLP │ Knowledge│ Store │ consolidation, │
│ Bandit │ Graph │ │ forgetting, │
│ │ (GraphRAG)│ │ checkpoints) │
│ Re-ranker│ │ SQLite │ │
│ (11d MLP)│ │ Conv Log │ Extraction RL │
└──────────┴──────────┴──────────┴─────────────────┘
↕ WebSocket (cross-process)
┌──────────────────────────────────────────────────┐
│ Live Graph Server (aimemory-live) │
│ vis.js force-directed graph + event log │
└──────────────────────────────────────────────────┘______________________________________________________________________
发展
# Clone and install dev dependencies
git clone https://github.com/ihwooMil/long-term-memory.git
cd long-term-memory
uv sync --extra dev
# Run tests (611+ tests)
uv run pytest tests/ -q
# Lint & format
uv run ruff check src/ tests/
uv run ruff format src/ tests/______________________________________________________________________
从mcp内存服务器迁移
pip uninstall mcp-memory-server
pip install long-term-memory无需更改代码——Python导入名称(aimemory)和CLI命令(aimemory-mcp, aimemory-viz, aimemory-live)保持不变。
______________________________________________________________________
许可证
麻省理工学院——见 许可证 了解详情。
