别再让你的书签吃灰了,SuperMemory 才是个人知识管理的最优解

别再让你的书签吃灰了,SuperMemory 才是个人知识管理的最优解

别再让你的书签吃灰了,SuperMemory 才是个人知识管理的最优解


在信息爆炸的时代,我们每天都会浏览大量的文章、文档、视频,但真正能被记住和有效利用的知识却少得可怜。你是否也有过这样的经历:明明之前收藏过一篇文章,现在想找却怎么也想不起来在哪里;读过的书、做过的笔记,时间一久就石沉大海,再也翻不出来。

今天要介绍的这个开源项目——SuperMemory,可能正是你在寻找的解决方案。它利用 AI 的力量,让你的个人知识库变得真正“活”起来,不仅能存储,更能理解、关联和检索。


为什么值得关注

SuperMemory 的核心理念是将你消费的所有信息——网页、推文、PDF、视频笔记——全部汇聚到一个统一的空间,然后通过 AI 的语义理解能力,让你能够用自然语言的方式随时检索这些内容。

想象一下,你不再需要记住“我之前在哪篇文章里看到过这个东西”,而是直接问:“我之前关于 AI 编程的所有笔记有哪些?”SuperMemory 会理解你的意图,从你的整个知识库中找出最相关的内容。

这个项目的开发者是 Tony Dinh,他本身是一位独立开发者,做过多个受欢迎的产品。SuperMemory 受到 Dan Silva 的 Memory 项目启发,专注于为个人用户提供一个轻量但强大的“第二大脑”解决方案。

值得关注的几个关键点:

开源且可自托管:所有的数据都存储在你自己的服务器上,完全掌控你的隐私和数据安全。你不需要依赖任何第三方云服务。

现代化的技术栈:项目采用了 Next.js、Tailwind CSS、PostgreSQL 等主流技术,对于想学习或贡献代码的开发者来说非常友好。

模块化设计:Supabase 负责认证、数据库和存储,DuckDB 用于处理分析查询,这种架构让系统既稳定又高效。

AI 驱动的搜索:不仅仅是关键词匹配,而是真正理解你的问题意图和内容的语义,实现精准的知识检索。


环境搭建

在开始之前,我们需要准备开发环境。SuperMemory 支持 Docker 部署和本地开发两种方式,这里先介绍本地开发环境的搭建。

系统要求

确保你的机器上已经安装了以下软件:

Node.js 18.17 或更高版本(推荐使用 18.x 或 20.x)
pnpm 包管理器(SuperMemory 使用 pnpm 作为首选包管理器)
Docker Desktop(用于运行 PostgreSQL 和其他容器化服务)
Git(用于克隆代码仓库)

克隆代码仓库

打开终端,执行以下命令克隆项目代码:

git clone https://github.com/supermemoryai/supermemory.git
cd supermemory

克隆完成后,你会看到项目的基本结构:

supermemory/
├── apps/
│   ├── web/           # 主前端应用   └── docs/          # 文档站点
├── packages/
│   ├── database/      # 数据库相关   ├── api/           # API 层   └── ...
├── docker-compose.yml # Docker 配置
└── ...

安装依赖

使用 pnpm 安装项目依赖:

pnpm install

这个过程可能需要几分钟,取决于你的网络速度。如果在国内遇到网络问题,可以考虑配置国内镜像源。

配置环境变量

SuperMemory 使用环境变量来配置各种服务。复制示例环境变量文件:

cp apps/web/.env.example apps/web/.env

然后编辑 .env 文件,填写必要的配置:

# Supabase 配置(用于认证、数据库和存储)
NEXT_PUBLIC_SUPABASE_URL=你的Supabase项目URL
NEXT_PUBLIC_SUPABASE_ANON_KEY=你的Supabase匿名密钥
SUPABASE_SERVICE_ROLE_KEY=你的Supabase服务角色密钥

# AI 服务配置
OPENAI_API_KEY=你的OpenAI API密钥
TAVILY_API_KEY=你的Tavily API密钥(用于网页抓取)

# 应用基础配置
NEXT_PUBLIC_APP_URL=http://localhost:3000

关于 Supabase 的配置,你需要:

  1. 访问 supabase.com 创建一个新项目
  2. 在项目设置中找到 API 相关配置
  3. 运行数据库迁移脚本(后面会详细说明)

数据库初始化

SuperMemory 使用 Drizzle ORM 来管理数据库 schema。首先需要运行数据库迁移:

cd apps/web
pnpm db:generate
pnpm db:push

db:generate 命令会根据 schema 定义生成迁移文件,db:push 则会将 schema 推送到你的数据库。

启动开发服务器

一切配置就绪后,启动开发服务器:

cd apps/web
pnpm dev

打开浏览器访问 http://localhost:3000,你应该能看到 SuperMemory 的界面了。

使用 Docker 部署

如果你更倾向于使用 Docker,项目也提供了完整的 Docker Compose 配置:

docker-compose up -d

这样可以一键启动所有必需的服务,包括 PostgreSQL 数据库、缓存服务等。


核心功能详解

SuperMemory 提供了几个核心功能模块,每个模块都经过精心设计,共同构成了一个完整的个人知识管理解决方案。

Spaces(空间)

Spaces 是组织知识的基本单位。你可以把它想象成不同主题的笔记本或文件夹。例如,你可以创建“AI 学习”、“工作项目”、“读书笔记”等不同的 Space。

每个 Space 都有独立的配置:

  • 记忆级别(Memory Level):控制 AI 总结和提取信息的详细程度
  • 背景信息:你可以为 Space 添加额外的上下文,帮助 AI 更好地理解该领域的内容
  • 嵌入模型:选择用于生成向量嵌入的 AI 模型

Spaces 的设计理念是让你能够针对不同领域定制不同的知识处理方式。比如在“技术文档”空间,你可能需要更详细的总结;而在“新闻资讯”空间,则可能只需要简短的摘要。

Crawl(抓取)

SuperMemory 提供了强大的网页抓取功能。你可以通过多种方式添加内容:

浏览器扩展:安装 Chrome 或 Firefox 扩展,一键保存当前页面
书签导入:导入浏览器书签批量抓取
URL 直接添加:粘贴任意网页 URL
Twitter/X 线程抓取:专门针对 Twitter 线程的优化抓取

抓取过程不仅仅是简单地下载 HTML。SuperMemory 会:

  1. 使用 Tavily API 获取页面的“干净”内容(去除广告、导航栏等噪音)
  2. 提取正文内容并结构化
  3. 生成 AI 摘要和关键信息
  4. 创建向量嵌入以便后续语义搜索

Memories(记忆)

每一条被抓取的内容都会生成对应的 Memory。Memory 是经过 AI 处理后的知识单元,它包含了:

  • 原始内容的链接和基本信息
  • AI 生成的摘要
  • 提取的关键信息点
  • 原始内容的完整文本
  • 自动分类的标签

SuperMemory 的一个亮点是它的自动关联能力。系统会自动分析新的 Memory 与现有知识库中其他内容的关联性,并展示“你之前看过的相关内容”。

Search(搜索)

搜索功能是 SuperMemory 的核心卖点。与传统的关键词搜索不同,它支持自然语言查询:

错误示例(传统搜索):

# "AI programming tools 2024"

正确示例(SuperMemory 语义搜索):

# "我之前看过的关于 AI 编程辅助工具的文章有哪些?"
# "和 cursor 类似的 AI 代码编辑器"
# "关于 prompt engineering 的实用技巧"

系统会理解你的问题意图,从你的整个知识库中找出最相关的内容,并按相关性排序展示。

Chat(对话)

每个 Space 都有一个内置的聊天功能。这个聊天机器人可以:

基于该 Space 内的所有内容回答问题
引用具体的 Memory 作为参考
根据你的知识库生成总结和建议

这是一个非常有用的功能,比如你可以问:“帮我总结一下我在 AI 编程方面看过的所有内容”,系统会综合分析你的知识库,给出全面的回答。


实战教程:构建你的个人知识管理系统

现在让我们通过一个完整的实战案例,学习如何使用 SuperMemory 构建你的个人知识管理系统。

场景设定

假设你是一个对 AI 感兴趣的开发者,你想用 SuperMemory 管理你学习 AI 相关的所有资料。我们会创建一个“AI 学习”空间,然后逐步添加内容、配置功能、进行搜索和对话。

第一步:创建和配置 Space

安装并登录后,首先创建一个新的 Space:

  1. 点击左侧边栏的“+”按钮
  2. 输入 Space 名称:“AI 学习”
  3. 添加描述:“关于人工智能、机器学习和 AI 工具的学习资料集合”
  4. 选择背景信息(Background Info)

背景信息是非常重要的配置。点击编辑,添加以下内容:

这是一个专注于 AI 学习的知识库。主人是一名有经验的软件开发者,
对 AI 编程工具、机器学习基础、大语言模型应用等领域感兴趣。
重点关注实用性强的内容,包括:AI 代码编辑器(如 Cursor、Copilot)、
提示工程技巧、AI 应用开发案例、机器学习实战项目等。

这个背景信息会帮助 AI 更好地理解和处理你的内容,使总结和回答更加贴合你的需求。

第二步:安装浏览器扩展

SuperMemory 提供了浏览器扩展,可以方便地保存网页内容。

  1. 访问 Chrome Web Store,搜索”SuperMemory”
  2. 点击安装扩展
  3. 登录你的 SuperMemory 账户
  4. 配置默认保存的 Space(设置为“AI 学习”)

安装完成后,当你浏览任何网页时,点击扩展图标即可一键保存到你的知识库。

第三步:批量导入书签

如果你之前积累了大量书签,SuperMemory 支持批量导入:

  1. 从浏览器导出书签(通常是 HTML 文件)
  2. 在 SuperMemory 中点击“导入书签”
  3. 选择导出的 HTML 文件
  4. 确认导入范围(可以过滤只导入特定文件夹的书签)

系统会自动开始抓取每个书签的内容。这个过程可能需要一些时间,取决于书签的数量。

第四步:手动添加特定内容

除了浏览器扩展和书签导入,你还可以直接添加特定的内容:

通过 URL 添加:

# 打开 SuperMemory,点击“添加内容”
# 选择“URL”选项
# 输入目标网页 URL,例如:https://docs.cursor.com
# 选择目标 Space(“AI 学习”)
# 点击“保存并抓取”

系统会自动获取页面内容,生成摘要和嵌入向量。

添加 Twitter 线程:

# 输入 Twitter 线程的 URL
# SuperMemory 会识别并抓取整个线程的内容
# 自动生成线程内容的摘要

第五步:使用语义搜索

内容积累到一定量后,试试语义搜索的威力:

打开搜索功能,输入自然语言查询:

# "关于用 AI 提高编程效率的方法"

你会发现,搜索结果不仅仅是包含这些关键词的页面,而是语义上相关的所有内容。系统会理解你的意图,返回真正有价值的结果。

尝试更复杂的查询:

# "我收藏的关于 prompt engineering 的文章里,有没有提到过 few-shot learning?"

SuperMemory 会跨多个 Memory 进行分析,汇总相关信息给你。

第六步:利用 Chat 功能

每个 Space 的 Chat 功能可以成为你的学习助手。以“AI 学习”空间为例:

打开 Space 的聊天面板,尝试以下对话:

用户提问:

# "帮我分析一下我在 AI 编程工具方面都看了些什么?"

AI 回答会基于你的知识库,分析你保存的相关内容,给出结构化的总结。

追问:

# "能给我推荐几个最值得深入学习的吗?"

AI 会根据你的收藏内容和使用情况,给出个性化的推荐。

综合应用:

# "基于我收藏的这些资料,帮我制定一个 AI 编程学习的周计划"

系统会综合分析你的知识库,结合资料内容,生成一个贴合实际的学习计划。

第七步:整理和回顾

SuperMemory 还提供了回顾功能,帮助你定期重温保存的内容:

  1. 在设置中开启“每日回顾”
  2. 系统每天会推送几条你保存过的内容
  3. 标记你已经熟悉的知识
  4. 系统会根据遗忘曲线智能安排复习时间

这是一个基于间隔重复原理的功能,借鉴了 Anki 等记忆工具的理念。


常见应用场景

SuperMemory 的用途非常广泛,以下是几个典型的应用场景:

技术学习资料管理

作为开发者,我们经常需要学习新技术、新框架。SuperMemory 可以帮助你:

  • 收集官方文档、教程、博客文章
  • 系统化管理不同技术栈的资料
  • 快速检索以前看过的某个概念的解释
  • 追踪某个技术的最新动态

比如你可以创建“React 生态”、“Python 数据科学”等多个 Space,每个 Space 专注于一个技术领域。

论文和学术研究

对于研究人员和学生:

  • 保存论文 PDF 的摘要和笔记
  • 追踪某个研究方向的最新进展
  • 建立文献之间的关联关系
  • 快速找到需要引用的资料

SuperMemory 的语义搜索特别适合学术场景,你可以通过概念而不是关键词来搜索论文。

产品经理的需求收集

产品经理每天要处理大量的信息:

  • 用户反馈和需求文档
  • 竞品分析报告
  • 行业研究报告
  • 会议记录和决策文档

使用 SuperMemory 可以快速建立产品知识库,在需要时迅速检索相关信息。

写作者的资料库

内容创作者可以利用 SuperMemory:

  • 收集素材和灵感
  • 管理参考资料
  • 建立写作主题的知识网络
  • 追踪热点话题的相关报道

语义搜索让你可以通过描述性的问题找到素材,比如:“找一下我之前收藏的关于环保科技创新的例子”。

个人成长和自我提升

任何人想要系统化个人成长:

  • 读书笔记和读后感
  • 课程学习笔记
  • 目标和计划文档
  • 反思和总结

SuperMemory 就像一个永远不会忘记的私人助理,记录你的每一步成长轨迹。


实战技巧与最佳实践

经过一段时间的使用,我总结了一些实用技巧,可以帮助你更好地发挥 SuperMemory 的威力。

关于背景信息的填写

背景信息是 SuperMemory 理解你的关键。写得好的背景信息可以显著提升 AI 的理解准确度。

好的背景信息示例:

我是一名有 5 年经验的全栈工程师,主要使用 React、Node.js 和 Python。
最近对 AI 应用开发特别感兴趣,想深入学习 LLM 的 Prompt Engineering、
RAG 架构和 AI Agent 开发。我偏好实践性强的内容,不太关注纯理论。
学习目标是在 3 个月内能够独立开发 AI 辅助的应用。

不好的背景信息示例:

对 AI 感兴趣,想学习新技术。

背景信息应该具体、明确,包含你的专业背景、兴趣方向、学习目标等信息。

关于内容添加的节奏

不要一次性添加太多内容。SuperMemory 的价值在于长期积累和持续回顾。建议:

  • 每天固定时间添加几条有价值的资料
  • 优先添加与你当前学习目标相关的内容
  • 添加时简要记录为什么保存这条内容
  • 定期回顾和整理保存的内容

关于搜索技巧

虽然 SuperMemory 支持自然语言搜索,但掌握一些技巧可以提高搜索效率:

  1. 使用具体的问题而不是模糊的关键词
  2. 好:“我之前收藏的关于 Next.js SSR 优化的文章”
  3. 一般:“Next.js SSR”

  4. 利用时间限定词

  5. “最近一个月收藏的”
  6. “关于 React 18 的”

  7. 组合多个概念

  8. “同时提到 TypeScript 和 GraphQL 的”
  9. “关于性能优化和用户体验的”

关于 Space 的组织

不要创建太多 Space,保持合理的分类:

  • 一个大主题一个 Space
  • 相关的子主题可以用标签区分
  • 定期合并或拆分 Space

比如“技术学习”作为一个大 Space,可能比按编程语言创建多个小 Space 更好,因为知识往往是跨领域的。

关于数据备份

SuperMemory 支持数据导出,定期备份是个好习惯:

  1. 在设置中导出你的所有 Memorie
  2. 保存到云存储或外部硬盘
  3. 重要内容可以导出为 Markdown 或 PDF 格式

虽然 SuperMemory 本身数据安全,但养成备份习惯总是好的。

关于浏览器扩展的高效使用

浏览器扩展可以设置快捷键来快速保存:

  • 在扩展设置中配置快捷键
  • 使用“Ctrl+Shift+S”(或自定义的快捷键)快速保存当前页面
  • 可以在保存时快速添加标签和备注

这样可以在浏览网页时无缝地将有价值的内容加入知识库。

关于 AI 总结的利用

SuperMemory 生成的 AI 摘要是一个宝贵的资源:

  • 定期浏览你保存内容的摘要
  • 检查摘要是否准确,必要时手动编辑
  • 利用摘要快速回忆内容要点
  • 在搜索时优先查看相关 Memory 的摘要

关于隐私和安全

SuperMemory 支持完整的自托管,如果你对数据隐私有较高要求:

  • 使用 Docker 在本地部署
  • 配置 HTTPS 和安全认证
  • 定期更新版本以获得安全补丁
  • 查看官方安全建议

高级配置与自定义

对于有一定技术能力的用户,SuperMemory 提供了一些高级配置选项。

更换 AI 模型

SuperMemory 默认使用 OpenAI 的模型,但你可以通过配置使用其他模型:

# 在 .env 文件中配置
AI_MODEL=claude-3-sonnet-20240229
AI_API_KEY=你的Claude API密钥

支持的模型包括 Claude 系列、Azure OpenAI 等。

自定义抓取规则

对于某些特殊网站,你可以配置自定义的抓取规则:

// packages/crawler/src/rules/custom.ts
export const customRules = [
  {
    match: /docs\.example\.com/,
    extract: {
      title: 'h1.article-title',
      content: 'article.main-content',
      author: '.author-name',
      date: '.publish-date'
    }
  }
];

这样可以提高特定网站的内容提取质量。

集成到工作流

SuperMemory 支持通过 API 与其他工具集成:

// 使用 Supabase 客户端
import { createClient } from '@supabase/supabase-js'

const supabase = createClient(
  process.env.NEXT_PUBLIC_SUPABASE_URL,
  process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY
)

// 编程方式添加 Memory
async function addMemory(url, spaceId) {
  const { data, error } = await supabase
    .from('memories')
    .insert({
      url: url,
      space_id: spaceId,
      status: 'pending'
    })

  return { data, error }
}

这让你可以将 SuperMemory 集成到自动化工作流中。


与相关项目的比较

在个人知识管理和 AI 辅助记忆领域,还有其他一些值得关注的项目:

Notion AI:Notion 自带的 AI 功能,优点是集成了文档管理,缺点是数据不在你自己的控制中。

Obsidian + Local REST API:Obsidian 是一个强大的本地笔记工具,配合插件可以实现类似功能。SuperMemory 的优势在于开箱即用的 AI 功能和更强大的语义搜索。

Logseq:另一个优秀的本地笔记工具,支持块引用的关系图谱。如果你更偏好本地存储,Logseq 是不错的选择。

Readwise/Reader:专门用于“阅读后回忆”的工具,与 SuperMemory 的定位有些相似,但更专注于阅读材料的回顾。

SuperMemory 的独特价值在于:开源可自托管 + AI 驱动的语义搜索 + 现代化的用户体验。它不是简单地存储内容,而是真正帮你建立知识之间的联系。


未来发展与社区

SuperMemory 是一个活跃的开源项目,持续有新的功能和优化更新。

贡献代码

如果你对项目感兴趣,想要贡献代码:

  1. 查看项目的 GitHub Issues,找到标有”good first issue”的入门任务
  2. 阅读项目的 CONTRIBUTING.md 了解开发规范
  3. Fork 项目,创建功能分支
  4. 提交 Pull Request

项目的代码结构清晰,技术栈主流,非常适合作为学习现代 Web 开发的参考。

参与社区

  • 加入 Discord 服务器,与其他用户和开发者交流
  • 关注 Twitter 获取最新动态
  • 在 GitHub 上 Star 项目表示支持

总结

SuperMemory 代表了一种新的个人知识管理思路:不只是存储,而是理解;不只是分类,而是关联;不只是搜索,而是对话。

在这个信息过载的时代,拥有一个真正智能的“第二大脑”变得越来越重要。SuperMemory 通过开源的方式,让每个人都能拥有这样的能力,而不需要依赖昂贵的商业服务。

它的优势总结:

开源可自托管,数据完全属于你自己
AI 驱动的语义搜索,让知识真正可以被“想起”
现代化的用户体验,上手即用
活跃的开源社区,持续迭代改进
灵活的配置选项,满足个性化需求

如果你正在寻找一个能够真正帮助管理知识、提升效率的工具,SuperMemory 绝对值得一试。从今天开始,开始构建你的个人 AI 知识库吧。


相关资源链接

GitHub 仓库:https://github.com/supermemoryai/supermemory
官方文档:https://docs.supermemory.ai
Discord 社区:加入社区与其他用户交流
SuperMemory 网页版:https://supermemory.ai

相关 AI 项目推荐:

LangChain:构建 LLM 应用的主流框架
LangFlow:LangChain 的可视化界面
Dify:开源的 LLM 应用开发平台
AnythingLLM:另一个 AI 知识库解决方案
Mem GPT:赋予 AI 长期记忆的系统

开始你的 AI 知识管理之旅,让每一份收藏都有价值。

如果内容对您有帮助,欢迎打赏

您的支持是我继续创作的动力

前往打赏页面

评论区

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注