Supermemory 是一款专为大语言模型(LLM)设计的记忆与上下文层,它能够自动从对话中提取关键信息、构建用户画像、处理知识更新与冲突,并智能遗忘过期内容,从而让 AI 在多轮对话中持续保持对用户的深度理解。今天在 GitHub Trending 上看到这个项目,发现它已在 LongMemEval、LoCoMo、ConvoMem 三大权威 AI 记忆基准上均取得了第一名,且已支持 OpenClaw、Claude Code、Cursor 等主流 AI 客户端。

一、项目概述

1.1 什么是 Supermemory

Supermemory 是 AI 的"记忆与上下文层",它解决的核心痛点是:AI 在每次新对话中都会遗忘之前的所有信息。传统方案依赖 RAG(检索增强生成),但 RAG 检索的是文档块——无状态的、对所有人雷同的内容,无法捕捉用户个性化的偏好、正在进行的项目或历史讨论。

Supermemory 则从更深的层面构建记忆:

  • 提取对话中的事实并持续追踪
  • 理解知识的时序变化(例如"我刚搬到了旧金山"会覆盖"我住在纽约")
  • 自动遗忘过期信息(如"明天有考试"在日期过后自动失效)
  • 构建用户画像(长期稳定的事实 + 最近动态上下文)

1.2 核心特性一览

特性描述
🧠 记忆引擎从对话中自动提取事实,处理时序变化、矛盾和自动遗忘
👤 用户画像维护用户的稳定事实和动态上下文,一次调用约 50ms
🔍 混合搜索RAG + Memory 合二为一,知识库文档和个性化上下文同步检索
🔌 连接器支持 Google Drive、Gmail、Notion、OneDrive、GitHub,实时 Webhook 同步
📄 多模态处理PDF、图片(OCR)、视频(转录)、代码(AST 感知分块)自动处理

1.3 基准测试表现

Supermemory 在三个主流 AI 记忆基准上均达到 SOTA:

基准测试内容结果
LongMemEval跨会话长期记忆与知识更新81.6% — #1
LoCoMo扩展对话中的事实回忆(单跳、多跳、时序、对抗)#1
ConvoMem个性化与偏好学习#1

同时项目方还开源了 MemoryBench 框架,用于对不同记忆解决方案进行标准化、可复现的基准对比。

二、技术原理

2.1 整体架构

Supermemory 的架构分为五层:

应用层 / AI 工具
        ↓
   Supermemory
        │
        ├── Memory Engine    提取事实、追踪更新、解决冲突、自动遗忘
        ├── User Profiles    静态事实 + 动态上下文,始终最新
        ├── Hybrid Search    RAG + Memory 一体化查询
        ├── Connectors       Google Drive / Gmail / Notion / GitHub 等实时同步
        └── File Processing  PDF、图片、视频、代码 → 可检索块

2.2 Memory 与 RAG 的区别

Memory 不是 RAG。 RAG 检索的是文档块——无状态的、对所有人相同的结果。而 Supermemory 的 Memory 层追踪的是关于用户的事实,它理解"我刚搬到了旧金山"会覆盖"我住在纽约",能够区分哪些是长期有效信息,哪些是临时上下文。

Supermemory 默认同时运行两者(混合模式),用户既能从知识库文档中检索,也能获得个性化的上下文记忆。

2.3 自动遗忘机制

Supermemory 内置智能遗忘策略:

  • 时间过期:临时事实(如"明天有考试")在指定日期后自动失效
  • 矛盾解决:新信息自动覆盖旧信息(如搬家后更新地址)
  • 噪声过滤:无关对话内容不会被永久存储

2.4 技术栈

从 package.json 可以看出项目采用了现代化的技术选型:

  • 运行时:Node.js >= 20
  • 包管理器:Bun 1.3.6(Turborepo 单仓管理)
  • 核心依赖:
    • ai SDK(Vercel AI SDK 生态)
    • drizzle-orm + postgres(数据库层)
    • hono(轻量高性能 Web 框架)
    • @anthropic-ai/sdk / @ai-sdk/openai / @ai-sdk/google 等多模型支持
  • 认证:better-auth(现代化认证方案)
  • 监控:Sentry(错误追踪 + SourceMap 上传)

三、安装与快速开始

3.1 消费者用户:给你的 AI 加记忆(无需代码)

方式一:通过 MCP(推荐)

npx -y install-mcp@latest https://mcp.supermemory.ai/mcp --client claude --oauth=yes

将 claude 替换为你的客户端:cursor、windsurf、vscode 等。

方式二:手动配置 MCP

在 AI 客户端的 MCP 配置文件中添加:

{
  "mcpServers": {
    "supermemory": {
      "url": "https://mcp.supermemory.ai/mcp"
    }
  }
}

或使用 API Key:

{
  "mcpServers": {
    "supermemory": {
      "url": "https://mcp.supermemory.ai/mcp",
      "headers": {
        "Authorization": "Bearer sm_your_api_key_here"
      }
    }
  }
}

安装后,AI 自动获得以下工具能力:

工具功能
memory保存或遗忘信息,AI 在发现值得记忆的内容时自动调用
recall按查询搜索记忆,返回相关记忆 + 用户画像摘要
context在对话开始时注入完整用户画像(偏好、最近活动)

3.2 开发者用户:通过 API 构建

Node.js / Bun 环境

npm install supermemory    # 或: bun add supermemory
import Supermemory from "supermemory";

const client = new Supermemory();

// 存储对话内容
await client.add({
  content: "用户喜欢 TypeScript,偏爱函数式编程风格",
  containerTag: "user_123",
});

// 获取用户画像 + 相关记忆(一次调用)
const { profile, searchResults } = await client.profile({
  containerTag: "user_123",
  q: "用户偏好什么编程风格?",
});

// profile.static  → 长期事实:["喜欢 TypeScript", "偏爱函数式编程"]
// profile.dynamic → 最近动态:["正在做 API 集成"]
// searchResults   → 按相似度排序的相关记忆

Python 环境

pip install supermemory
from supermemory import Supermemory

client = Supermemory()

client.add(
    content="用户喜欢 TypeScript,偏爱函数式编程风格",
    container_tag="user_123"
)

result = client.profile(container_tag="user_123", q="编程风格")
print(result.profile.static)   # 长期事实
print(result.profile.dynamic)  # 最近动态

3.3 OpenClaw 用户专属插件

Supermemory 官方为 OpenClaw 开发了专属插件,可在 supermemoryai/openclaw-supermemory 获取源码,安装后 AI 助手自动拥有持久记忆能力。

四、使用方法与实战

4.1 混合搜索实战

Supermemory 的搜索默认是混合模式,同时检索 RAG 知识库和个人记忆:

// 混合搜索(默认)— RAG + Memory 一次完成
const results = await client.search.memories({
  q: "如何部署?",
  containerTag: "user_123",
  searchMode: "hybrid",
});
// 返回:部署相关文档(RAG)+ 用户个人部署偏好(Memory)

// 仅搜索记忆
const results = await client.search.memories({
  q: "用户偏好",
  containerTag: "user_123",
  searchMode: "memories",
});

4.2 框架集成

Supermemory 提供了主流 AI 框架的集成工具,开箱即用:

// Vercel AI SDK
import { withSupermemory } from "@supermemory/tools/ai-sdk";
const model = withSupermemory(openai("gpt-4o"), { 
  containerTag: "user_123", 
  customId: "conv-1" 
});

// Mastra
import { withSupermemory } from "@supermemory/tools/mastra";
const agent = new Agent(withSupermemory(config, "user-123", { mode: "full" }));

支持列表:Vercel AI SDK、LangChain、LangGraph、OpenAI Agents SDK、Mastra、Agno、Claude Memory Tool、n8n。

4.3 连接器配置

连接外部数据源,自动同步到知识库:

await client.connectors.add({
  provider: "github",       // google-drive | gmail | notion | onedrive | github
  webhookUrl: "https://your-webhook-handler.com/sync",
});

配置完成后,外部数据(如 GitHub Issue、Notion 文档、Gmail 邮件)会自动被处理、分块和索引,无需手动操作。

4.4 用户画像注入系统提示词

传统方案需要手动维护用户信息,Supermemory 只需一次调用即可获取完整画像:

const { profile } = await client.profile({ containerTag: "user_123" });

// profile.static  → ["某公司高级工程师", "偏好暗色模式", "使用 Vim"]
// profile.dynamic → ["正在做权限迁移", "调试限流问题"]

// 注入到系统提示词
const systemPrompt = `
当前用户:${profile.static.join(", ")}
最近动态:${profile.dynamic.join(", ")}
`;

五、常见问题

Q1: 支持哪些 AI 客户端?

官方支持:Claude Desktop、Cursor、Windsurf、VS Code、Claude Code、OpenCode、OpenClaw、Hermes。MCP 服务器已开源,也可接入其他支持 MCP 的客户端。

Q2: 是否需要配置向量数据库?

不需要。Supermemory 封装了完整的嵌入管道、分块策略和向量检索逻辑,开发者只需调用 API,无需关心底层基础设施。

Q3: 数据隐私如何保障?

Supermemory 提供自托管方案,企业可将服务部署在自己的基础设施上,数据完全自主控制。消费版数据存储在 Supermemory 云端,但支持 API Key 认证和数据隔离。

Q4: 与 Mem0、Zep 等同类方案相比有什么优势?

主要优势在于三点:

  1. 端到端 SOTA 基准表现:LongMemEval、LoCoMo、ConvoMem 三个基准全部第一
  2. Memory + RAG 一体化:不需要分别部署两套系统
  3. 零配置 API:无需管理向量数据库、嵌入管道、分块策略

Q5: 如何评估其他记忆方案与 Supermemory 的差距?

使用 MemoryBench 框架进行标准化对比:

bun run src/index.ts run -p supermemory -b longmemeval -j gpt-4o -r my-run

该命令自动完成评估流程并输出对比报告。

六、总结

Supermemory 为 AI 应用提供了一个完整的记忆与上下文层,其核心理念是将 AI 的"记忆"从无差别的文档检索提升为真正理解用户的个性化知识图谱。在三大权威基准上取得 SOTA 成绩,加上对主流 AI 客户端和框架的广泛支持,使其成为当前最具竞争力的 AI 记忆解决方案之一。无论是普通用户为 AI 助手添加持久记忆,还是开发者将记忆能力集成到自己的 AI 产品中,Supermemory 都提供了简洁高效的路径。