发布于 2026-01-06 12 阅读
0

如何在浏览器中同步 AI 助手(ChatGPT、Claude、Perplexity 等)的上下文

如何在浏览器中同步 AI 助手(ChatGPT、Claude、Perplexity 等)的上下文

如今大多数人使用不止一个人工智能助手,例如 ChatGPT、Claude 和 Perplexity。但它们之间却无法共享上下文信息。

你最终会重复同样的内容,粘贴冗长的提示,甚至忘记之前讨论过什么。

今天,我们将了解现有AI工具的不足之处,以及OpenMemory Chrome扩展程序如何解决这个问题。我们将介绍其架构、核心流程、代码概览、实用功能、隐私模型和一些实际应用案例。

这将有助于你协调与多个 AI 助手协同工作的混乱局面。


涵盖哪些内容?

总而言之,我们将详细介绍这些主题。

  1. 现有AI助手存在的问题。
  2. OpenMemory Chrome 扩展程序是如何解决这个问题的?
  3. 仪表盘上的所有功能。
  4. 架构和代码概述。
  5. 隐私和数据安全。
  6. 实际应用案例及示例。

如果您有兴趣自行探索,请查看GitHub 上的代码库


1. 现有人工智能助手的问题。

如果你曾经在 ChatGPT、Claude、Perplexity、Grok 或其他任何 AI 助手之间切换过,你就会明白其中的痛点:每个助手都生活在自己的信息孤岛中,没有共享上下文,也没有记忆。

使用多个 AI 工具就像拥有一群才华横溢的同事,但他们却拒绝互相交流。

它效率低下,混乱不堪,支离破碎。

1. 上下文支离破碎

每次人工智能会话都从零开始。你的偏好设置、之前的聊天记录,甚至你上传的文件,都不会保留。

你可能早上跟 ChatGPT 讲了些什么,下午换成 Claude,然后就得从头再讲一遍。

在大多数情况下,复制粘贴都可以奏效,但当你的内容分散在五个标签页和多个对话中时,复制粘贴就没那么容易了。

 

2. 有限的上下文窗口

是的,有些助手会“记住”最近的几条消息。但令牌限制意味着过长的对话或文档会被截断。

重要细节全都丢失了。后续工作也全部失败。

 

3. 脆弱的提示链

如果试图让AI助手处理多步骤任务(例如通过调用外部API),你构建的提示链就会很薄弱。JSON数据块中一个字段出错,或者API规范中哪怕一个小小的改动,都可能导致整个系统崩溃。

你的助手非但没有执行任务,反而开始出现幻觉,调试也变成了猜测。

 

4. 供应商锁定

为 GPT-4 设计提示?很棒。但如果你以后切换到其他语音助手,比如 Claude 或 Perplexity,就需要从头开始重写功能描述、系统提示和预期输出。

这虽然不是什么大问题,但也没有万能的解决方案。这意味着需要不断地返工。


2. OpenMemory Chrome 扩展程序是如何解决这个问题的?

Mem0 最近推出了一款名为 OpenMemory 的 Chrome 扩展程序,它可以为你的 AI 助手添加一个通用的“内存层”,这样你就再也不用重复自己了。

无论你使用哪个 LLM 助手,它都能实时透明地捕获、检索和注入“上下文记忆”。

无论你使用 ChatGPT、Grok、DeepSeek、Claude、Replit、Gemini 还是 Perplexity 进行聊天,它都会在后台运行以解决我们在第一部分中讨论的问题。

您可以在 Chrome 网上应用商店完全免费安装这款Chrome 扩展程序。它是开源的,在 GitHub 上拥有 450 多个星标。

这是官方演示视频!

 

🔁 工作原理(基本流程)

以下是核心流程的实际应用:

1) 安装扩展程序 → 点击工具栏图标 → 通过 Google 登录(将您的 API 密钥/访问令牌存储在 Chrome 存储中)。

openmemory 扩展程序注册

2) 登录后,您可以点击图标(或使用快捷方式Ctrl + M),该图标会将一个可折叠的侧边栏插入到当前页面(在所有 URL 上),这样您就可以随时随地访问您的回忆。

回忆侧边栏

3) 侧边栏 UI 使用 ( GET /v1/memories) 获取您的记忆,允许您添加 ( POST /v1/memories) 并在客户端显示相关记忆。

4) 这就是将上下文信息注入聊天的工作原理。在支持的 AI 网站(ChatGPT、Claude、Perplexity、Grok、Deepseek、Replit、Gemini)上,内容脚本会监听您的输入Mem0 trigger,然后调用 Mem0 搜索 APIPOST /v1/memories/search来提取相关的摘要信息。

克劳德补充背景信息

克劳德补充背景信息

 

在 chatgpt 中向查询添加了相关记忆

在 chatgpt 中向查询添加了相关记忆

 

回忆侧边栏

5) 检索到的记忆会以辅助说明的形式添加到您的聊天输入中,以便 AIknows理解上下文,然后(可选)自动向您发送提示。您可以在此弹出窗口中选择删除记忆(点击三个点后)。

相关记忆

POST /v1/memories6) 发送后,您的完整聊天消息历史记录会使用 ( )异步发布回 Mem0 infer=true,因此您最近的交流将成为未来的记忆。

更新记忆

7) 每次切换/添加/编辑/删除/注销操作都会触发一个轻量级事件(POST /v1/extension/),用于使用情况分析,从而帮助随着时间的推移改进扩展程序。

8) 从侧边栏的点菜单中,您可以立即在新标签页中打开完整的 Mem0 Web 控制面板,以便进行更深入的内存管理。它将在app.mem0.ai/dashboard/user/chrome-extension-user上提供


3. 所有实用功能。

以下是功能介绍及截图,帮助您理解。

  • 侧边栏界面可帮助您管理回忆。每条回忆都会显示其文本和类别标签。此外,列表中还提供一键复制或查看控件。

openmemory 侧边栏

  • 您还可以从侧边栏实时查找相关回忆,并获取迄今为止的回忆总数。

相关记忆

  • 您可以点击“打开控制面板”按钮,在新标签页中打开完整的 Mem0 Web 控制面板,以便更深入地管理内存。您也可以在此控制面板中编辑和删除内存。

mem0 仪表板

  • 最实用的功能是One-Click Sync它可以帮助你将 ChatGPT 的回忆批量同步到 Mem0 中。这样,你所有现有的回忆都可以重复使用,从而提升你的使用体验。

一键同步来自 chatgpt

4. 架构和代码概述。

从总体上看,该扩展程序遵循 Chrome Manifest V3 模型。用户界面、后台逻辑和内容脚本之间的所有连接都在 manifest.json 文件中声明。

⚡ 顶层文件布局如下所示。

.  
├── background.js            # MV3 service worker for toolbar actions & init  
├── popup.html / popup.js    # sign‑in UI for Google login  
├── sidebar.js               # injected sidebar for memory dashboard  
├── chatgpt/                 # site specific integration scripts  
│   └── content.js  
├── claude/                  # … for Claude.ai  
│   └── content.js  
├── perplexity/              # … for Perplexity.ai  
│   └── content.js  
├── mem0/                    # … for the Mem0 dashboard app itself  
│   └── content.js  
├── grok/                    # … for Grok.ai  
│   └── content.js  
├── deepseek/                # … for Deepseek Chat  
│   └── content.js  
├── icons/                   # All extension icon assets  
├── manifest.json  
├── README.md  
└── privacy-policy.md
Enter fullscreen mode Exit fullscreen mode

⚡ 它background.js以 MV3 服务工作线程的形式运行。它监听工具栏点击事件,在安装时初始化默认设置,并在需要时打开仪表盘。

chrome.action.onClicked.addListener((tab) => {  
  chrome.storage.sync.get(["apiKey","access_token"], data => {  
    if (data.apiKey || data.access_token) {  
      chrome.tabs.sendMessage(tab.id, { action: "toggleSidebar" });  
    } else {  
      chrome.action.openPopup();  
    }  
  });  
});
Enter fullscreen mode Exit fullscreen mode

⚡ 每个受支持的 AI 聊天网站在其文件夹下都有一个特定于该网站的 content.js 文件。它们都遵循类似的模式:

  • Add related memories在网站的聊天界面中添加一个按钮。
  • Observe DOM changes聊天界面更新时重新注入按钮
  • Capture the current user message调用 Mem0 API 搜索相关内存,并inject those memories在发送前将其添加到聊天提示中
  • Asynchronously send新消息加上上下文返回到 Mem0 作为精简记忆

例如,ChatGPT 集成器(chatgpt/content.js)的开头如下:

let isProcessingMem0 = false;  
let observer;  

async function handleMem0Click(clickSendButton=false) {  
  const memoryEnabled = await getMemoryEnabledState();  
  if (!memoryEnabled) { /* just send the message */ return; }  
  const message = getInputValue();  
  // Call Mem0 search endpoint  
  const searchResponse = await fetch("https://api.mem0.ai/v1/memories/search/",{});  
  const responseData = await searchResponse.json();  
  // Inject UI into the chat input …  
  // Then send memory back to Mem0 service …  
}
Enter fullscreen mode Exit fullscreen mode

相同的流程在以下位置重复/调整:claude/content.js,,,,perplexity/content.jsmem0/content.jsgrok/content.jsdeepseek/content.js

⚡ Popup( popup.js) 处理“使用 Google 登录”身份验证流程。它会提示用户登录,存储其用户 ID,然后重定向到 Mem0 Web 应用程序。

// not the complete code  
googleSignInButton.addEventListener("click", function () {  
  chrome.storage.sync.set({ userId: "chrome-extension-user" });  
  const url = data.userLoggedIn  
    ? "https://app.mem0.ai/extension"  
    : "https://app.mem0.ai/login?source=chrome-extension";  
  chrome.tabs.create({ url }, () => window.close());  
});
Enter fullscreen mode Exit fullscreen mode

⚡侧边栏仪表盘(sidebar.js)提供了一个通用的侧边栏,该侧边栏会嵌入到所有页面中()。它提供了一个完整的内存仪表盘,任何人都可以:

  • 查看和搜索记忆
  • 切换相关记忆的开启/关闭
  • 打开完整的 Mem0 网络控制面板
  • 注销

以下是摘录的一小段内容sidebar.js

function initializeMem0Sidebar() {  
  chrome.runtime.onMessage.addListener((request,_,__) => {  
    if (request.action === "toggleSidebar") {  
      chrome.storage.sync.get(["apiKey","access_token"], data=>{  
        if (data.apiKey||data.access_token) toggleSidebar();  
        else chrome.runtime.sendMessage({action:"openPopup"});  
      });  
    }  
  });  
}  

function toggleSidebar() {  
  if (!document.getElementById("mem0-sidebar")) createSidebar();  
  sidebarVisible = !sidebarVisible;  
  fetchAndDisplayMemories();  
}  

Enter fullscreen mode Exit fullscreen mode

5. 隐私和数据安全。

对于LLM应用程序而言,隐私始终是一个重要考量因素。但Mem0的设计旨在让您对自己的个人数据拥有100%的控制权。

✅ Chrome Manifest V3 引入了更严格的安全模型(无远程代码、service-worker 后台、默认 CSP)。

✅ 所有敏感用户凭证(例如apiKey,用户名access_tokenuserId密码、用户名、user preferences密码)均使用加密存储chrome.storage.sync,静态数据加密(用户选择启用后,可在设备间同步)。凭证不会记录到控制台,也不会发送给任何第三方。

✅ 登录流程(popup.js)设置这些值,并且除了在调用 Mem0 的 API 时通过 HTTPS 之外,永远不会将它们发送到任何域(https://api.mem0.ai/*& https://app.mem0.ai/)。

✅ Mem0 仅在已知的 AI 助手域(以及侧边栏 UI 的所有页面)上注入逻辑。这确保了除非用户明确切换其 UI,否则它无法嗅探任意页面。

✅ 不会泄露任何页面内容。侧边栏的唯一用途是显示您自己的回忆(从[此处插入来源]获取api.mem0.ai)的仪表板。

✅ 每位助理的内容脚本(例如chatgpt/content.js):

  • 读取您最近的几条用户/助手消息。
  • 将这些消息(加上您当前的提示)发送到 Mem0 的搜索 API。
  • 将返回的“记忆”作为上下文注入到聊天输入中。
  • (可选)将对话数据发布到 Mem0 的记忆 API(以存储新记忆)。

此扩展程序不包含任何第三方分析或追踪器。得益于最佳实践,您的数据绝对安全。


6. 实际应用案例及示例。

熟悉 Chrome 扩展程序后,您会发现它可以用于任何需要人工智能进行remember交互的场景。以下是一些实际应用案例:

✅ 开发人员注释和代码片段捕获,以便将来重复使用

作为开发者,我们经常复制粘贴代码来理解、学习和寻找解决方案。但我们往往没有意识到,我们有时会一遍又一遍地重复同样的事情。

假设您将内容复制long code snippets到 ChatGPT 中进行解释。在后续的提示中,您希望这些片段自动重新出现(而不是保留在剪贴板中)。

技术流程可以是:

  • 在 ChatGPT 中,只需按下 Ctrl + M(或点击工具栏图标)。输入提示文本 → 粘贴代码片段 →chatgpt/content.js拦截提交 → 使用异步方式将数据回传到 Mem0 → POST /v1/memories

  • 输入您的问题 → 像往常一样按 Enter 键 → 扩展程序会将相关的过去片段作为前缀添加helper note(以便 ChatGPT 立即了解您的项目上下文)。

  • ChatGPT 回复后 → 它会自动调用POST /v1/memoriesinfer=true因此该对话将成为未来的记忆。

 

✅ 跨部门助理研究与头脑风暴

我们都认同,每个人工智能助手都有其特定的优势,例如:

  • ChatGPT用于通用推理

  • Perplexity用于研究(引用已验证的来源)

  • Claude便于从长远角度理解(非常适合起草文件)

  • Grok实时趋势洞察,特别是围绕 X(Twitter)内容的趋势洞察。

假设你要写一些技术方面的内容。

  • 首先,你需要研究 Perplexity,关键统计数据和片段会通过 Mem0 保存以供以后使用。

  • 现在切换到 Claude 进行草稿输入。开始输入后,Mem0 会自动将 Perplexity 的研究笔记插入到提示符中,使其具备完整的上下文。

  • 您可以使用 ChatGPT 来尝试优化语气/片段。再次提醒,no repetition→您的原始大纲和 Claude 的草稿会由 Mem0 添加到前面,以帮助 GPT 在先前工作的基础上进行构建。

  • 最后,如果你打算在 X 上创建一个话题(🧵),你可以向 Grok 询问任何热门新闻标题或 Twitter 角度,以便将所有内容联系起来。

当然,大多数人不会同时使用超过三个助手,但这个例子仍然展示了 OpenMemory Chrome 扩展程序如何让你的工作流程变得更好。


无需再复制粘贴聊天记录,也无需提醒你的人工智能你刚刚说过什么。

OpenMemory 在后台静默运行,让你的 AI 助手最终感觉像一个大脑。

如果您有任何问题或反馈意见,请告诉我。

祝你今天过得愉快!下次再见 :)

您可以在anmolbaranwal.com
查看 我的作品 感谢阅读!🥰
叽叽喳喳 GitHub 领英

结尾的GIF动画是挥手告别。

文章来源:https://dev.to/anmolbaranwal/how-to-sync-context-across-ai-assistants-chatgpt-claude-perplexity-in-your-browser-2k9l