如何在浏览器中同步 AI 助手(ChatGPT、Claude、Perplexity 等)的上下文
如今大多数人使用不止一个人工智能助手,例如 ChatGPT、Claude 和 Perplexity。但它们之间却无法共享上下文信息。
你最终会重复同样的内容,粘贴冗长的提示,甚至忘记之前讨论过什么。
今天,我们将了解现有AI工具的不足之处,以及OpenMemory Chrome扩展程序如何解决这个问题。我们将介绍其架构、核心流程、代码概览、实用功能、隐私模型和一些实际应用案例。
这将有助于你协调与多个 AI 助手协同工作的混乱局面。
涵盖哪些内容?
总而言之,我们将详细介绍这些主题。
- 现有AI助手存在的问题。
- OpenMemory Chrome 扩展程序是如何解决这个问题的?
- 仪表盘上的所有功能。
- 架构和代码概述。
- 隐私和数据安全。
- 实际应用案例及示例。
如果您有兴趣自行探索,请查看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 存储中)。
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来提取相关的摘要信息。
5) 检索到的记忆会以辅助说明的形式添加到您的聊天输入中,以便 AIknows理解上下文,然后(可选)自动向您发送提示。您可以在此弹出窗口中选择删除记忆(点击三个点后)。
POST /v1/memories6) 发送后,您的完整聊天消息历史记录会使用 ( )异步发布回 Mem0 infer=true,因此您最近的交流将成为未来的记忆。
7) 每次切换/添加/编辑/删除/注销操作都会触发一个轻量级事件(POST /v1/extension/),用于使用情况分析,从而帮助随着时间的推移改进扩展程序。
3. 所有实用功能。
以下是功能介绍及截图,帮助您理解。
- 侧边栏界面可帮助您管理回忆。每条回忆都会显示其文本和类别标签。此外,列表中还提供一键复制或查看控件。
- 您还可以从侧边栏实时查找相关回忆,并获取迄今为止的回忆总数。
- 您可以点击“打开控制面板”按钮,在新标签页中打开完整的 Mem0 Web 控制面板,以便更深入地管理内存。您也可以在此控制面板中编辑和删除内存。
- 最实用的功能是
One-Click Sync它可以帮助你将 ChatGPT 的回忆批量同步到 Mem0 中。这样,你所有现有的回忆都可以重复使用,从而提升你的使用体验。
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
⚡ 它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();
}
});
});
⚡ 每个受支持的 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 …
}
相同的流程在以下位置重复/调整: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());
});
⚡侧边栏仪表盘(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();
}
…
5. 隐私和数据安全。
对于LLM应用程序而言,隐私始终是一个重要考量因素。但Mem0的设计旨在让您对自己的个人数据拥有100%的控制权。
✅ Chrome Manifest V3 引入了更严格的安全模型(无远程代码、service-worker 后台、默认 CSP)。
✅ 所有敏感用户凭证(例如apiKey,用户名access_token、userId密码、用户名、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/memories,infer=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 查看 我的作品。 感谢阅读!🥰 |
|---|











