每天早晨,你的AI代理都像对待陌生人一样对待你。同样的上下文要重新解释。同样的偏好被遗忘。每次会话都从零开始。
大多数“记忆”工具只是将向量数据库附加到代理上,然后称之为完成——但这只是存储。它堆积着几乎重复的内容,直到检索被噪音淹没。一个容量更大的金鱼缸而已。
YourMemory不同:像大脑一样工作的记忆,而非数据库。
flowchart LR
A["🧠 你告诉你的<br/>AI某些事情"] --> B["提取持久的<br/>事实"]
B --> C["去重 + 嵌入<br/>+ 图链接"]
C --> D[("记忆<br/>存储")]
D -->|"相关事实堆积"| E["✨ 整合<br/>N → 1 摘要"]
D -->|"陈旧 + 未使用"| F["📉 衰减<br/>+ 修剪"]
D -->|"新会话"| G["♻️ 检索<br/>混合 + 图"]
E --> D
G --> H["🤖 你的代理<br/>从中断处<br/>继续"]
style D fill:#0a2540,stroke:#19cdff,color:#fff
style E fill:#0c2b3a,stroke:#5eead4,color:#fff
style H fill:#0c2b3a,stroke:#19cdff,color:#fff
| 特性 | 作用 | |
|---|---|---|
| 🧠 | 整合 | 当足够多的相关事实积累后,它们被压缩成一个清晰的摘要,原始内容被归档。记忆会随时间变得更精准,而不是膨胀。 |
| 📉 | 生物衰减 | 每条记忆都遵循艾宾浩斯遗忘曲线老化。陈旧、未使用的事实会消退;重要且被频繁回忆的则持续存在。 |
| 🔗 | 实体图 | 记忆通过共享的人、地点和概念相互链接——因此检索能发现你忘记询问的内容。 |
| ♻️ | 跨上下文重置生存 | 当上下文窗口压缩时,YourMemory能将工作上下文交还——无需重读文件来搞清楚你之前的位置。 |
| 🔒 | 防篡改审计追踪 | 每次读/写/删除都记录在哈希链账本中。更改一条记录,链条即断裂。 |
| 👥 | 团队记忆池 | 基于角色的共享记忆,使整个团队的代理都能利用同样的机构知识——同时私人记忆保持私有。 |
| 🛡️ | 内置数据权利 | 一键导出(访问权)和遗忘权(清除),以及符合 SOC 2 的控制措施。 |
| 🔌 | MCP原生 & 本地优先 | 兼容 Claude、Cursor、Cline、Windsurf 或任何 MCP 客户端。完全在本地运行——无需API密钥,数据不离开你的系统。 |
一条命令即可安装。默认使用 DuckDB(零配置),团队可使用 Postgres + pgvector。
三个外部数据集。每个数字均可独立复现——基准测试代码位于仓库中。完整方法见BENCHMARKS.md。
xychart-beta
title "Recall@5 · LoCoMo-10(越高越好)"
x-axis ["Mem0", "Zep Cloud", "Supermemory", "YourMemory"]
y-axis "Recall@5 百分比" 0 --> 70
bar [18, 28, 31, 59]
比 Zep Cloud 高出 2 倍的召回率,覆盖全部 10 个样本。*Supermemory 和 Mem0 在基准测试过程中免费层级配额耗尽;分数基于全部 1,534 对计算。
最难的长期记忆标准基准测试。每个问题被埋在约 53 个会话中。
| 指标 | 分数 |
|---|---|
| Recall@5(任意黄金会话在前5) | 89.4% |
| Recall-all@5(所有黄金会话在前5) | 84.8% |
| nDCG@5(排名质量) | 87.4% |
| 系统 | BOTH_FOUND@5 |
|---|---|
| YourMemory(向量 + BM25 + 实体图) | 71.5% |
| YourMemory(无实体边) | 59.5% |
实体图边增加了 +12 个百分点——它们能够从事实1遍历到事实2,即使事实2与查询的嵌入相似度很低。
Python 3.11–3.14。无需Docker,无需设置数据库。所有记忆本地存储在 ~/.yourmemory/ 中。
pip install yourmemory
yourmemory-register <your-token>
yourmemory-setup
获取令牌: 访问 yourmemoryai.xyz → 输入邮箱 → 用6位验证码验证 → 复制你的令牌。
yourmemory-setup 会自动检测并配置 Claude Code、Claude Desktop、Cursor、Windsurf 和 Cline,然后询问你使用哪个后端:
DATABASE_URL(需要 pgvector 扩展)可选——更智能的本地提取: YourMemory 开箱即可使用内置启发式算法。为获得更高质量、完全本地的事实提取,请安装 Ollama,
yourmemory-setup会自动拉取模型(qwen2.5:7b,约4.7 GB)。更喜欢云端?设置YOURMEMORY_EXTRACT_BACKEND=anthropic。
不想碰 pip?从最新发布获取你平台的独立二进制文件:
| 平台 | 文件 |
|---|---|
| macOS(Apple Silicon) | yourmemory-macos-arm64.tar.gz |
| macOS(Intel) | yourmemory-macos-x86_64.tar.gz |
| Linux(x86-64) | yourmemory-linux-x86_64.tar.gz |
| Windows(x86-64) | yourmemory-windows-x86_64.exe.zip |
# macOS / Linux — 下载、解压、运行
tar -xzf yourmemory-macos-arm64.tar.gz
./yourmemory-macos-arm64 register <your-token>
./yourmemory-macos-arm64 setup
./yourmemory-macos-arm64 # 启动服务器
一个可执行文件处理所有命令:register、setup、ask "<问题>"、path,以及(无参数时)启动服务器。
完全自包含且离线——二进制文件打包了 Python、每个依赖项,以及两个 ML 模型(嵌入模型 + spaCy)。首次运行时不会下载任何内容。代价是文件大小(约2 GB)。使用单条命令 ./build-binary.sh 自行构建,多平台发布二进制文件由构建工作流自动生成。
YourMemory 将记忆视为一个生命系统——它会生长、整合、遗忘并连接,就像大脑一样。
大多数记忆工具只是不断增长。YourMemory 监视相关事实的聚类,一旦积累足够多,就将其压缩成一个清晰的摘要——原始内容被归档(永不删除,因此不会有任何丢失)。
flowchart LR
subgraph before [相关事实堆积]
A1["Railway 使用 Nixpacks"]
A2["Railway 在 Pro 计划"]
A3["Railway 环境变量保存<br/>Postgres URL"]
A4["在 Railway 上部署<br/>使用 Postgres"]
end
before --> C{"聚类 +<br/>LLM 摘要"}
C --> S["✨ 摘要<br/>在 Railway(Pro,<br/>Nixpacks)上部署,使用 Postgres<br/>通过环境变量"]
C -.->|"已归档,可恢复"| ARC[("归档")]
style S fill:#0a2540,stroke:#5eead4,color:#fff
style C fill:#0c2b3a,stroke:#19cdff,color:#fff
一个生产存储的真实示例:444 条记忆 → 16 个摘要——同样的知识,噪音的极小部分。整合是事件驱动的(当相关记忆堆积时触发),而非盲目的夜间任务。
记忆强度呈指数衰减。重要性和回忆频率会减缓衰减:
effective_λ = base_λ × (1 − importance × 0.8)
strength = clamp(importance × e^(−effective_λ × active_days) × (1 + recall_count × 0.2), 0, 1)
active_days 仅计算你活跃的天数——假期不会导致记忆丢失。强度低于 0.05 的记忆会自动修剪。每个类别以不同的速率老化:
| 类别 | 半衰期 | 最适合 |
|---|---|---|
strategy | ~38 天 | 有效的模式、架构决策 |
fact | ~24 天 | 偏好、身份、稳定知识 |
assumption | ~19 天 | 推断的上下文、不确定的信念 |
failure | ~11 天 | 错误、错误的方法、特定于环境的故障 |
链感知修剪: 如果任何图邻居仍然强大,则已衰减的记忆会被保留——即使很少被直接查询,承载上下文的记忆也能幸存。
检索分两轮进行,以便同时呈现你询问的内容以及你忘记询问的内容:
flowchart LR
Q["查询"] --> R1["向量 + BM25<br/>混合搜索"]
R1 --> R2["图扩展<br/>(你忘记询问的内容)"]
R2 --> S["按相似度 × 强度<br/>排序"]
S --> OUT["🎯 排序后的记忆"]
style OUT fill:#0a2540,stroke:#19cdff,color:#fff
主语感知去重在每次存储前运行——它嵌入每个句子的主语,因此 "Sachit 使用 DuckDB" 和 "YourMemory 使用 DuckDB" 保持分离(不同实体),而 "YourMemory 使用 DuckDB" 和 "YourMemory 将数据存储在 DuckDB" 则合并(同一实体)。没有硬编码的词列表;适用于任何语言。
企业不会让不透明的黑盒存储他们的数据。因此,每次操作——读、写、更新、删除、整合——都会被追加到一个哈希链、防篡改的审计日志中。