LongMemory是什么?
LongMemory是一款自托管的记忆引擎,为AI智能体和LLM应用提供跨会话的持久、时间感知记忆,而不是模型、推理引擎或普通向量数据库。 据其自身文档,它旨在解决一个具体问题:大多数LLM系统在会话结束时会丢失全部上下文,即便是构建在向量数据库之上的RAG管线,通常也没有"某个事实何时为真"或"是否已被推翻"的概念。
- 产品类型:一款自托管的记忆后端/库——不是聊天应用、不是推理引擎、不是模型
- 开发者:CaviraOSS,发布并维护该项目的GitHub组织
- 命名:该项目目前名为LongMemory;此前由同一组织以OpenMemory名义发布,其包(
longmemory、longmemory-sdk)反映了更名后的版本——不要将其与其他组织推出的、名称相似但无关的"OpenMemory"项目混淆 - 许可:核心引擎为Apache 2.0,已通过GitHub仓库确认;据npm/n8n的包惯例,独立的n8n社区节点集成包为MIT许可
- 仓库规模:截至本评测时GitHub星标超过4,500,主分支约有390次提交
项目历史:从OpenMemory到LongMemory
LongMemory最初的几个版本以OpenMemory名义发布,随后由同一CaviraOSS团队更名为LongMemory,同时保留了同一仓库脉络。 下面的里程碑反映了该项目的更新日志和发布说明;日期均为项目自行发布的信息,如果你需要为合规或采购决策确认准确的发布时间,应在GitHub上重新核实。
- 1v1.0.0 / MCP支持——首个Model Context Protocol实现
Why it matters: 为项目的图结构底层增加了按标签和元数据过滤的查询,并通过MCP开放记忆能力——这后来成为将LongMemory连接到Claude Desktop等工具的集成路径。 - 2v1.1.0——早期存储层改进
Why it matters: 据项目更新日志,为自托管部署增加了存储层方面的改进。LongMemory的存储基于SQLite(其"Hydrograph"底层)——这并非可插拔的向量数据库,LongMemory不支持切换到PostgreSQL等其他向量存储后端。 - 3v1.1.1——记忆压缩引擎与VS Code扩展
Why it matters: 引入了带有多种算法的记忆压缩系统,并为自托管部署增加了VS Code扩展以及API身份验证/速率限制。 - 4v1.2.0——Web界面与混合性能层级
Why it matters: 增加了用于查看和管理已存储记忆的Web仪表盘,以及一种在准确性和速度之间取得平衡的"HYBRID"性能模式。 - 5v1.2.1–v1.2.3——SDK重构与时间过滤
Why it matters: 为独立使用重写了Python和JavaScript SDK,在记忆检索中加入了基于时间的("时间性")过滤,并修复了影响Claude Desktop集成的MCP服务器路径问题。 - 6Beta v1.3.0——零配置的Memory()类
Why it matters: 通过零配置的`Memory()`类和重写后的基准测试套件简化了API界面,据项目自身发布说明——这是本评测能从公开更新日志中确认的最新里程碑。
LongMemory实际能做什么?
LongMemory存储你的AI智能体或应用已学到的信息,跟踪每个事实何时为真,并在被请求时只返回相关、仍然有效的上下文——同时在模型层面本身保持无状态。
- 时间性推理 — 跟踪特定时间点的真实性、事件顺序和替代关系,使上个月为真但此后已变化的事实不会悄悄覆盖或破坏当前的答案
- 多种召回模式 — 据其文档:"strict"(严格)召回对当前事实应用时间性、矛盾和依据检查;"historical"(历史)召回检索特定过去时期曾为真的内容;"associative"(关联)召回遵循语义、词汇和图结构信号;"world-grounded"(世界依据)召回在将某条记忆作为事实返回前要求外部证据
- Hydrograph底层 — 一种基于图的存储模型,具备不可变节点、类型化边和时间跟踪,持久化于SQLite,因此检索到的记忆被描述为可审计且不会被后续检索所更改
- 可治理的记忆资产 — 该项目描述了结构化的记忆类型,包括项目记忆、聊天记忆、"技能"、"LLM-Wiki"和"CodeGraph",据其自身文档,每种都配有访问控制策略
- 并非推理引擎 — LongMemory自身文档明确说明"你的模型保持无状态",且LongMemory本身不执行推理;它会调用你所配置的嵌入提供方(OpenAI、Google Gemini、AWS Bedrock、Ollama或本地HTTP兼容模型),并将上下文交还给你的应用已在使用的LLM
- 多语言支持 — 据其文档,包含脚本检测和跨语言嵌入,而非仅限英语
- 会话迁移 — 可从Claude Code、Codex、GitHub Copilot和Gemini CLI等工具导入此前的对话历史,因此在采用LongMemory时不会丢失现有对话
- Model Context Protocol(MCP)服务器 — 将记忆操作作为MCP工具开放,这是Claude Desktop和其他兼容MCP的客户端所使用的集成路径
使用示例:使用LongMemory的三种方式
以下是根据LongMemory自身文档化功能构建的具体工作流,而非假设性用例。
为编程智能体提供持久的项目记忆
在本地运行LongMemory(通过Docker或CLI),并通过其MCP服务器将其连接到Claude Code、GitHub Copilot或Codex等编程智能体。此后,智能体可以将决策、约定和先前的上下文存储为"项目记忆",并在后续会话中调取,而不必让你在每次打开新对话时重新解释代码库的约定。
为客户支持或知识库智能体添加时间感知记忆
使用TypeScript库(npm install longmemory)或Python HTTP客户端(pip install longmemory-sdk),存储支持智能体随时间了解到的关于某位客户或某个产品的事实。当某个事实发生变化时——比如套餐升级、缺陷修复——"历史召回"仍可回答"上个月我们对该客户说了什么",而"严格召回"只返回当前有效的答案。
通过Docker将LongMemory作为独立服务器运行
使用docker run -p 7331:7331 ghcr.io/caviraoss/longmemory:latest启动记忆引擎,然后将LongMemory的任一客户端库、其REST API或MCP服务器指向该实例。这样可以让记忆数据完全保持自托管,而不必发送给第三方的记忆即服务提供商。
平台、价格与许可
平台
- LongMemory官方说明:
- 自托管;可通过Docker部署,也可直接作为Node.js/TypeScript库、Python HTTP客户端或CLI运行,据其自身文档。
费用
- LongMemory官方说明:
- 免费开源。自托管意味着你唯一的成本是自己的基础设施,加上所选嵌入/LLM提供方收取的费用。
许可
- LongMemory官方说明:
- 核心引擎为Apache 2.0;据其自身包信息,独立的n8n社区节点包为MIT。
数据本地性
- LongMemory官方说明:
- 定位为本地优先并自托管,通过其"Hydrograph"底层实现SQLite支撑的持久化——并非可插拔的向量数据库,不支持其他向量存储后端。
在依据本表作出法律或合规决策前,请直接在GitHub仓库核实当前的许可条文,因为许可文件可能在不同版本之间发生变化。
安装LongMemory
LongMemory可通过npm、pip或Docker免费安装,源代码托管在GitHub上。
Source | Link |
|---|---|
| GitHub仓库(源代码,Apache 2.0) | github.com/CaviraOSS/LongMemory |
| TypeScript/Node.js库 | npm install longmemory |
| CLI(全局安装) | npm install --global longmemory |
| Python HTTP客户端 | pip install longmemory-sdk |
| Docker镜像 | docker run -p 7331:7331 ghcr.io/caviraoss/longmemory:latest |
LongMemory需要自托管运行环境(Node.js、Python或Docker)——没有托管云版本或图形界面安装程序。在运行任何命令之前,请始终查阅GitHub README以获取当前推荐的安装方式,因为安装说明可能在不同版本之间发生变化。
LongMemory 对比 普通向量数据库
LongMemory与Qdrant、Chroma或Weaviate等普通向量数据库解决的是相关但不同的问题:向量数据库存储和搜索嵌入,而LongMemory在检索之上增加了时间性推理、治理和智能体专属的记忆类型。
方面 | LongMemory | 普通向量数据库 |
|---|---|---|
| 核心任务 | 面向智能体的可治理、时间感知记忆 | 存储和搜索向量嵌入 |
| 时间感知 | 跟踪事实何时为真、何时被替代 | 未内置;需由你的应用自行添加 |
| 记忆类型 | 项目、聊天、技能、wiki、代码图 | 通用向量/集合 |
| 是否运行自有模型 | 否——调用你配置的提供方 | 否——同样,嵌入在别处计算 |
| 智能体集成 | MCP、Claude Desktop、Copilot、Codex、n8n | 通常没有内置集成 |
如果你只需要存储和语义搜索嵌入,普通向量数据库运行起来更简单。如果智能体需要知道"何时什么是真的",并区分当前事实与已被替代的事实,LongMemory的时间模型正是为此而设计的,这一点普通向量数据库默认并不具备。
谁适合使用LongMemory?
LongMemory适合那些正在构建需要记忆跨会话持续保持并保持准确、而不仅是一次性检索索引的智能体或LLM应用的开发者。
以下情况适合使用LongMemory
- 正在构建需要跨会话记住事实的AI智能体或应用,而不仅是在单次对话中
- 需要区分"现在什么是真的"和"以前什么是真的",而不是把所有存储的记忆都当作同样最新
- 希望自托管智能体的记忆层,而不是将其发送到第三方的记忆即服务平台
- 已经在使用Claude Desktop、GitHub Copilot或Codex等兼容MCP的工具,并希望有一个能直接接入的记忆层
- 希望自带嵌入/LLM提供方(OpenAI、Gemini、Bedrock、Ollama或本地HTTP模型),而不被锁定在单一提供方
以下情况请考虑其他方案
- 只需要存储和语义搜索一个静态文档集合,不需要时间性推理——普通的RAG框架或向量数据库可能更易于运行
- 想要一个完全托管的记忆服务,而不是自行运行和维护的东西
- 需要推理引擎或模型服务器——LongMemory不运行模型;它围绕你已在使用的模型来存储和检索记忆
- 不习惯运行自托管的Node.js/Python/Docker服务及其存储后端
LongMemory不适合哪些场景
如果你想要的是完全托管的记忆服务、推理引擎,或没有时间性复杂度的简单即插即用向量搜索,LongMemory并不合适。
- 不是推理引擎或模型服务器——它本身不生成文本;它围绕你另行配置的模型或嵌入提供方来存储和调取记忆
- 不是托管云服务——它是自托管的,你需要负责运行和维护Node.js/Python/Docker运行环境及其存储后端
- 如果你只需要基本的文档检索、不需要跟踪事实随时间变化,它并非最简单的选项——更简洁的RAG框架可能带来更少的运维开销
- PromptQuorum未就其检索准确性或延迟进行独立基准测试——本评测基于LongMemory自身文档,而非实测
- 从OpenMemory更名而来——以OpenMemory名义发布的旧教程、博客文章或包引用可能描述的是同一代码库的早期版本;在依赖旧的第三方指南前,请与当前仓库进行核对
评估LongMemory时的常见误区
关于LongMemory的大多数误解,源于它从OpenMemory更名而来,或误以为它像推理引擎一样运行自有模型。
误区1:与一个无关的"OpenMemory"项目混淆
CaviraOSS自己的项目此前以OpenMemory名义发布,后更名为LongMemory。其他组织也有各自独立、无关的项目同样叫"OpenMemory"——请确认你查看的具体是github.com/CaviraOSS/LongMemory,而不是其他团队名称相似的项目。
误区2:期望LongMemory运行自己的AI模型
LongMemory是一个记忆底层,而非推理引擎。据其自身文档,它会调用你配置的嵌入或LLM提供方(OpenAI、Gemini、Bedrock、Ollama或本地HTTP模型),而不是自行运行模型。
误区3:把它当作向量数据库的即插即用替代品
LongMemory在检索之上增加了时间性推理、治理和智能体专属的记忆类型——如果你只需要存储和搜索不涉及时间感知的嵌入,更简洁的向量数据库可能以更低的运维复杂度满足你的用例。
误区4:假设它是一个托管、受管理的服务
LongMemory是自托管的。据其文档,并不存在托管云层级——你需要自行运行Node.js库、针对自己服务器的Python客户端、CLI或Docker容器。
竞品与替代方案
LongMemory最常与其他自托管的RAG及记忆框架工具做比较,因为它处于同一"嵌入与检索基础设施"细分领域。 可与LongMemory自身在Local LLM Software Directory中的条目搭配参考。
Tool | Best known for | Link |
|---|---|---|
| Cognee | 面向LLM应用和智能体的开源AI记忆与知识图谱引擎 | Cognee 评测 |
| txtai | 嵌入式一体化向量搜索与RAG框架 | txtai 评测 |
| LlamaIndex | 用于构建RAG和智能体应用的通用数据框架 | LlamaIndex 评测 |
| Haystack | deepset的开源RAG与搜索管线框架 | Haystack 评测 |
此列表反映的是与LongMemory处于同一嵌入/检索基础设施细分领域的工具,并非PromptQuorum的独立排名——在做选择前请核实每个工具当前的功能集,因为LongMemory对时间性记忆的专注并不等同于一般性的RAG框架或向量数据库。
常见问题
LongMemory是什么?
LongMemory(github.com/CaviraOSS/LongMemory)是一款免费、开源、自托管的记忆引擎,为AI智能体和LLM应用提供跨会话的持久、时间感知、可治理记忆。
LongMemory和OpenMemory是同一个项目吗?
是的。LongMemory此前由CaviraOSS以OpenMemory名义发布,后更名。它是同一项目、同一仓库脉络,而非两个独立工具——但请注意其他组织也有无关项目使用"OpenMemory"这一名称,因此请确认你查看的具体是CaviraOSS的仓库。
LongMemory是免费的吗?
是的。核心引擎采用Apache 2.0许可并自托管,因此LongMemory本身没有订阅费用。你唯一的成本是自己的托管基础设施,加上所选嵌入或LLM提供方收取的费用。
LongMemory是否运行自己的AI模型?
不是。LongMemory是一个记忆底层,而非推理引擎。它存储和检索记忆,并调用你配置的嵌入/LLM提供方——OpenAI、Google Gemini、AWS Bedrock、Ollama或本地HTTP兼容模型。
如何安装LongMemory?
可通过npm安装(库使用npm install longmemory,CLI使用npm install --global longmemory)、通过pip安装(Python HTTP客户端使用pip install longmemory-sdk),或通过Docker安装(docker run -p 7331:7331 ghcr.io/caviraoss/longmemory:latest)。
LongMemory与向量数据库有什么不同?
普通向量数据库存储和搜索嵌入,不具备时间概念。LongMemory在检索之上增加了时间性推理(跟踪某个事实何时为真、此后是否发生变化)、可治理的记忆类型和智能体专属的集成。
LongMemory能与哪些AI工具集成?
据其文档:Claude Desktop、GitHub Copilot、Codex、OpenCode、Gemini CLI、Cline和n8n,还可通过其MCP服务器与任何兼容Model Context Protocol(MCP)的客户端集成。
LongMemory使用什么许可?
核心引擎为Apache 2.0。据其在n8n社区注册表中的自身条目,独立的n8n社区节点集成包采用MIT许可。
LongMemory是否支持英语以外的语言?
是的。其文档将脚本检测和跨语言嵌入描述为多语言支持的一部分,而非仅限于英语记忆。
PromptQuorum是否独立测试过LongMemory的检索准确性?
没有。本评测基于LongMemory自身的GitHub仓库、README和文档,而非PromptQuorum的实测基准测试。在做出生产环境决策前,请依据项目自身文档核实具体的性能主张。