Công cụ AI - 24/06/2025 10:10:07
Hầu hết mọi người ngày nay sử dụng nhiều hơn một trợ lý AI như ChatGPT, Claude, Perplexity. Nhưng không có công cụ nào trong số chúng chia sẻ ngữ cảnh.
Bạn phải lặp lại những điều tương tự, dán các prompt dài hoặc mất dấu những gì bạn đã thảo luận trước đó.
Hôm nay, chúng ta sẽ tìm hiểu lý do tại sao các công cụ AI hiện có còn thiếu sót và cách tiện ích mở rộng OpenMemory Chrome giải quyết vấn đề này. Chúng ta sẽ xem xét kiến trúc, luồng hoạt động chính, tổng quan mã, các tính năng hữu ích, mô hình quyền riêng tư và một số trường hợp sử dụng thực tế.
Điều này sẽ giúp bạn đồng bộ hóa sự hỗn loạn khi làm việc với nhiều trợ lý AI.
Tóm lại, chúng ta sẽ đề cập chi tiết các chủ đề này.
Nếu bạn quan tâm đến việc tự khám phá, vui lòng kiểm tra kho lưu trữ trên GitHub.
Nếu bạn đã từng chuyển đổi giữa ChatGPT, Claude, Perplexity, Grok hoặc bất kỳ trợ lý AI nào khác, bạn sẽ biết được sự khó khăn thực sự: mỗi trợ lý sống trong silo riêng của nó. Không chia sẻ ngữ cảnh. Không có bộ nhớ.
Sử dụng nhiều công cụ AI giống như có một nhóm đồng nghiệp xuất sắc, nhưng họ chỉ đơn giản là từ chối nói chuyện với nhau.
Nó không hiệu quả. Nó lộn xộn. Nó bị phân mảnh.
1. Ngữ cảnh bị phân mảnh
Mỗi phiên AI bắt đầu từ con số không. Tùy chọn của bạn, các cuộc trò chuyện trước đó hoặc thậm chí các tệp bạn đã tải lên, không có dữ liệu nào được chuyển sang.
Bạn có thể nói với ChatGPT điều gì đó vào buổi sáng, chuyển sang Claude vào buổi chiều và phải giải thích lại mọi thứ từ đầu.
Sao chép-dán có thể hoạt động trong hầu hết các tình huống nhưng không dễ dàng khi ngữ cảnh của bạn trải rộng trên năm tab và nhiều cuộc trò chuyện.
2. Cửa sổ ngữ cảnh bị giới hạn
Đúng vậy, một số trợ lý "ghi nhớ" vài tin nhắn cuối cùng. Nhưng giới hạn token có nghĩa là các cuộc trò chuyện hoặc tài liệu dài bị cắt cụt.
Các chi tiết quan trọng biến mất. Các cuộc trò chuyện tiếp theo bị gián đoạn.
3. Chuỗi prompt mong manh
Cố gắng khiến các trợ lý AI xử lý các tác vụ đa bước bằng cách chẳng hạn gọi các API bên ngoài, bạn xây dựng một chuỗi prompt yếu. Một trường sai trong khối JSON hoặc thậm chí một chỉnh sửa nhỏ trong đặc tả API và toàn bộ hệ thống sụp đổ.
Thay vì thực hiện tác vụ, trợ lý của bạn bắt đầu sinh ảo giác và việc gỡ lỗi trở thành công việc đoán mò.
4. Khóa nhà cung cấp
Thiết kế prompt của bạn cho GPT‑4? Tuyệt vời. Nhưng bạn sẽ cần viết lại các mô tả chức năng, prompt hệ thống và đầu ra dự kiến từ đầu, nếu bạn chuyển sang các trợ lý khác như Claude hoặc Perplexity.
Đó không phải là vấn đề lớn nhưng không có giải pháp phổ quát nào như vậy. Và điều đó có nghĩa là công việc phải làm lại liên tục.
Mem0 gần đây đã ra mắt tiện ích mở rộng OpenMemory chrome bổ sung một "lớp bộ nhớ" phổ quát cho các trợ lý AI yêu thích của bạn, để bạn không bao giờ phải lặp lại bản thân.
Nó tự động thu thập, truy xuất và chèn "ký ức ngữ cảnh" theo thời gian thực, bất kể bạn đang sử dụng trợ lý LLM nào.
Cho dù bạn đang trò chuyện với ChatGPT, Grok, DeepSeek, Claude, Replit, Gemini hay Perplexity, nó hoạt động ở chế độ nền để giải quyết các vấn đề chúng ta đã thảo luận trong phần đầu tiên.
Bạn có thể cài đặt tiện ích mở rộng chrome hoàn toàn miễn phí trên cửa hàng web chrome. Nó là mã nguồn mở với hơn 450 sao trên GitHub.
Đây là video demo chính thức!
🔁 Cách hoạt động (luồng cơ bản)
Đây là luồng hoạt động cốt lõi:
infer=true, để các trao đổi mới nhất của bạn trở thành bộ nhớ trong tương lai.
Dưới đây là các tính năng với ảnh chụp màn hình để giúp bạn hiểu.
Ở cấp độ cao, tiện ích mở rộng tuân theo mô hình Chrome Manifest V3. Tất cả các kết nối giữa giao diện người dùng, logic nền và các tập lệnh nội dung được khai báo trong manifest.json.
⚡ Bố cục tệp cấp cao nhất trông như thế này.
.
├── 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 chạy dưới dạng service worker MV3. Nó lắng nghe thao tác nhấp vào thanh công cụ, khởi tạo các giá trị mặc định khi cài đặt và mở bảng điều khiển khi được yêu cầu.
JavaScript
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();
}
}); });
⚡ Đối với mỗi trang web trò chuyện AI được hỗ trợ, có một tệp content.js dành riêng cho trang web đó trong thư mục của nó. Tất cả đều tuân theo một mẫu tương tự:
Ví dụ, trình tích hợp ChatGPT (chatgpt/content.js) bắt đầu như thế này:
JavaScript
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 … }
Luồng tương tự được lặp lại/áp dụng trong: claude/content.js, perplexity/content.js, mem0/content.js, grok/content.js, deepseek/content.js.
⚡ Popup (popup.js) xử lý luồng "Đăng nhập bằng Google" để xác thực. Nó nhắc người dùng đăng nhập, lưu trữ userId của họ, sau đó chuyển hướng đến ứng dụng web Mem0.
JavaScript
// 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()); });
⚡ Bảng điều khiển thanh bên (sidebar.js) cung cấp một thanh bên chung được chèn vào tất cả các trang. Nó cung cấp một bảng điều khiển bộ nhớ đầy đủ nơi bất kỳ ai cũng có thể:
Dưới đây là một đoạn nhỏ từ sidebar.js:
JavaScript
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(); } …
Khi nói đến các ứng dụng LLM, quyền riêng tư luôn là một mối quan tâm. Nhưng Mem0 được thiết kế để bạn kiểm soát 100% dữ liệu cá nhân của mình.
✅ Chrome Manifest V3 mang đến một mô hình bảo mật chặt chẽ hơn (không có mã từ xa, nền service‐worker, CSP mặc định).
✅ Tất cả thông tin đăng nhập nhạy cảm của người dùng (apiKey, access_token, userId, tùy chọn người dùng) được lưu trữ bằng chrome.storage.sync, được mã hóa khi không sử dụng (và có thể đồng bộ hóa trên các thiết bị nếu người dùng chọn tham gia). Không có thông tin đăng nhập nào được ghi lại vào console, cũng như không được gửi đến bất kỳ bên thứ ba nào.
✅ Luồng đăng nhập (popup.js) đặt các giá trị này và không bao giờ gửi chúng đến bất kỳ miền nào trừ khi thông qua HTTPS khi gọi API của Mem0 (https://api.mem0.ai/* & https://app.mem0.ai/).
✅ Mem0 chỉ chèn logic vào các miền trợ lý AI đã biết (và trên tất cả các trang cho giao diện người dùng thanh bên). Điều này đảm bảo nó không thể "ngửi" các trang tùy ý trừ khi người dùng bật giao diện người dùng của nó một cách rõ ràng.
✅ Không có nội dung trang nào bị rò rỉ. Mục đích duy nhất của thanh bên là một bảng điều khiển hiển thị các bộ nhớ của riêng bạn (được lấy từ api.mem0.ai).
✅ Tập lệnh nội dung của mỗi trợ lý (chẳng hạn như chatgpt/content.js) chỉ:
Tiện ích mở rộng không nhúng bất kỳ phân tích hoặc trình theo dõi của bên thứ ba nào. Dữ liệu của bạn hoàn toàn an toàn nhờ các phương pháp hay nhất.
Khi bạn đã quen thuộc với tiện ích mở rộng Chrome, bạn có thể nhận ra rằng nó có thể được sử dụng ở bất cứ đâu bạn muốn một AI ghi nhớ điều gì đó giữa các tương tác. Dưới đây là một vài trường hợp sử dụng thực tế:
✅ Ghi chú của nhà phát triển và thu thập đoạn mã để tái sử dụng trong tương lai
Chúng ta là nhà phát triển luôn sao chép-dán mã để hiểu, học hỏi và tìm giải pháp. Điều chúng ta không nhận ra là đôi khi chúng ta lặp đi lặp lại cùng một thứ.
Giả sử bạn sao chép các đoạn mã dài vào ChatGPT để giải thích. Trong các prompt tiếp theo, bạn muốn các đoạn mã đó tự động xuất hiện lại (mà không cần giữ chúng trong bảng tạm của bạn).
Luồng kỹ thuật có thể là:
chatgpt/content.js chặn việc gửi → đăng không đồng bộ trở lại Mem0 bằng → POST /v1/memories.POST /v1/memories với infer=true, để cuộc trò chuyện này trở thành bộ nhớ trong tương lai.
✅ Nghiên cứu & động não giữa các Trợ lý
Chúng ta đều có thể đồng ý rằng mỗi trợ lý AI có những điểm mạnh cụ thể như:
Giả sử bạn đang viết về bất kỳ thứ gì kỹ thuật.
Tất nhiên, hầu hết mọi người sẽ không sử dụng nhiều hơn ba trợ lý cùng một lúc, nhưng ví dụ này cho thấy tiện ích mở rộng OpenMemory Chrome có thể làm cho quy trình làm việc của bạn tốt hơn rất nhiều.
#AI #OpenMemory #ĐồngBộNgữCảnh #TiệnÍchChrome #ChatGPT #Claude #Perplexity #Gemini #Grok #MãNguồnMở #NăngSuấtAI