SSD Nodes Learn Hosting plans →
Hướng dẫn Matt ConnorBởi Matt Connor

claude-mem tốn hay tiết kiệm giới hạn Claude của bạn?

claude-mem mặc định nén ghi nhớ bằng chính gói Claude Pro hoặc Max của bạn. Xem nó tiêu gì, cách tự đo bằng /usage, cách chuyển sang khóa API riêng và gỡ sạch.

Câu trả lời ngắn

claude-mem có tiêu vào giới hạn Claude của bạn nếu observer của nó chạy trên gói Claude. Theo trang cấu hình của claude-mem ngày 13/10/2026, giá trị mặc định là provider claude, kiểu xác thực subscription và model claude-haiku-4-5-20251001. Nghĩa là mỗi lần claude-mem nén một ghi chú, nó gọi Claude bằng chính lượt đăng nhập gói Pro hoặc Max của bạn. Các lượt gọi đó dùng chung giới hạn phiên và giới hạn tuần với công việc lập trình của bạn.

claude-mem cũng có thể giúp bạn tiết kiệm, vì Claude không phải đọc lại mã nguồn ở mỗi phiên mới. Nhà phát triển không công bố phép đo nào cho điều này, nên bài viết không đưa ra con số. Bạn sẽ học cách tự đo trên tài khoản của mình, cách chuyển observer sang một khóa API riêng, và cách gỡ plugin cho sạch.

Nếu bạn chưa rõ hai loại giới hạn này khác nhau thế nào, hãy đọc trước cách giới hạn phiên và giới hạn tuần của Claude hoạt động.

claude-mem làm gì trong một phiên Claude Code?

claude-mem là một plugin cho Claude Code. Nó gắn vào các hook (điểm móc sự kiện) của Claude Code, ví dụ lúc bạn gửi prompt hoặc lúc một công cụ chạy xong. Mỗi sự kiện được chuyển cho một tiến trình nền gọi là worker.

Worker giao nội dung đó cho observer. Observer là một model AI đọc những gì vừa xảy ra và nén lại thành một observation (bản ghi quan sát) ngắn. Bản ghi được lưu vào cơ sở dữ liệu SQLite trên máy bạn.

Khi bạn mở phiên mới, hook SessionStart lấy các observation gần đây của dự án và đưa chúng vào ngữ cảnh. Biến CLAUDE_MEM_CONTEXT_OBSERVATIONS quyết định số lượng, mặc định là 50. Trong phiên, Claude có thể tìm trong kho ghi nhớ và chỉ mở bản ghi đầy đủ khi cần.

Vậy có hai chỗ dùng token: observer nén ghi chú, và phần ngữ cảnh được chèn vào đầu mỗi phiên.

claude-mem tiêu gì trong giới hạn Claude của bạn?

Lượt chạy observer. Với provider claude và xác thực subscription, mỗi lần nén là một lượt gọi Claude tính vào gói của bạn. README của claude-mem xác nhận điều này từ hướng ngược lại: khi bản dùng thử observer có phí kết thúc, ghi nhớ "automatically falls back to your Anthropic plan", tức là quay về chạy trên gói Anthropic của bạn. Tài liệu không công bố mỗi lần nén tốn bao nhiêu, nên đừng tin một con số cố định nào.

Ngữ cảnh chèn vào đầu phiên. Tối đa 50 observation được đưa vào mỗi phiên mới. Phần này nằm trong ngữ cảnh của chính phiên Claude Code, nên nó được tính như mọi token đầu vào khác, và nó đi theo mọi yêu cầu sau đó trong phiên. Để hiểu vì sao ngữ cảnh lớn làm hao giới hạn nhanh hơn, xem token trong Claude Code được tính như thế nào.

Có một cơ chế bảo vệ. Trang cấu hình viết: "With subscription auth, the observer stops once a usage window reaches its threshold." Ngưỡng mặc định là 0.95 cho cửa sổ năm giờ và 0.93 cho cửa sổ tuần. Nói đơn giản, observer tự dừng khi bạn đã dùng 95% cửa sổ năm giờ hoặc 93% cửa sổ tuần. Nó không tự đẩy bạn vượt hạn mức. Nhưng phần dưới ngưỡng là phần dùng chung: mỗi lượt nén là một phần bạn không còn dùng được cho việc lập trình.

Còn phần tiết kiệm thì sao?

Lý lẽ của nhà phát triển là thế này. Claude không phải đọc lại cả codebase để nhớ hôm qua bạn đã làm gì. Nó đọc một danh sách ghi chú ngắn, rồi chỉ mở chi tiết khi cần.

README đưa ra các con số ước tính sau. Đây là tuyên bố của nhà phát triển, không phải phép đo độc lập:

  • Kết quả tìm kiếm dạng chỉ mục: khoảng 50-100 token mỗi kết quả.
  • Một observation đầy đủ: khoảng 500-1.000 token mỗi kết quả.

Trang hướng dẫn bắt đầu của chính claude-mem ghi con số khác: khoảng 50-200 token cho chỉ mục và 100-500 token cho mỗi observation. Hai trang không khớp nhau. Đó là lý do bạn nên tự đo.

README còn hứa observer có phí cho bạn "up to 100% more usage from your plan". Câu này nói về việc chạy observer ngoài gói, không nói về phần ngữ cảnh tiết kiệm được. README không kèm phép đo nào cho câu này.

claude-mem không phải thứ duy nhất tiêu vào hạn mức. Nếu thanh sử dụng tụt nhanh mà bạn không rõ lý do, bài những gì thực sự tiêu vào giới hạn Claude Pro liệt kê các nguyên nhân thường gặp.

Cách tự đo bằng /usage trên tài khoản của bạn

Lệnh /usage trong Claude Code hiển thị chi phí phiên, các thanh mức sử dụng của gói và thống kê hoạt động. /cost và /stats là tên khác của cùng lệnh này. Trên gói Pro, Max, Team hoặc Enterprise, nó còn có bảng phân tích những gì tính vào giới hạn.

Hãy chú ý một chi tiết trong tài liệu Claude Code. Bảng phân tích theo skill, subagent và plugin là số gần đúng, được tính từ lịch sử phiên trên máy này. Observer của claude-mem chạy trong tiến trình worker riêng, và tôi không tìm thấy tài liệu nào nói lượt chạy đó có hiện trong bảng phân tích hay không. Vì vậy hãy so sánh thanh mức sử dụng của gói, không so dòng phân bổ theo plugin.

Cách đo đơn giản nhất:

  1. Chọn hai việc giống nhau về quy mô, trên cùng một dự án. Ví dụ: sửa hai lỗi nhỏ tương tự nhau.
  2. Làm việc thứ nhất trước khi cài claude-mem. Mở /usage trước và sau khi làm, rồi ghi lại phần trăm của thanh cửa sổ phiên.
  3. Cài claude-mem và dùng nó vài ngày trên dự án đó, để nó có ghi nhớ mà dùng.
  4. Làm việc thứ hai theo cùng cách, trong một phiên mới. Ghi lại phần trăm trước và sau.
  5. Lặp lại vài lần trước khi kết luận. Một lần đo đơn lẻ dễ sai, vì độ dài hội thoại và cache cũng làm mức tiêu thay đổi.

Nếu phần trăm tăng nhiều hơn khi có claude-mem, observer đang tiêu nhiều hơn phần nó tiết kiệm cho bạn. Khi đó, phần tiếp theo chỉ cách đưa observer ra khỏi gói. Nếu bạn đã chạm giới hạn giữa chừng, xem nên làm gì khi chạm giới hạn Claude.

Bộ cài của claude-mem chọn gì cho bạn?

Giá trị mặc định trong tệp cấu hình là provider claude. Nhưng trình cài tương tác npx claude-mem install không bắt đầu từ đó. Theo trang cài đặt, nó chọn sẵn observer có phí CMEM Pro ("CMEM Pro is pre-selected") và yêu cầu bạn đăng nhập trong trình duyệt. Nếu bạn chỉ nhấn Enter qua các bước, observer của bạn sẽ là CMEM Pro, không phải gói Claude.

CMEM Pro chạy ngoài gói Claude của bạn. Trang giá cmem.ai ngày 13/10/2026 ghi: dùng thử 30 ngày, sau đó $30/tháng. Trang cũng liệt kê gói Heavy $70/tháng và CMEM Max $100/tháng. Có hai điều cần đọc kỹ:

  • Thời gian dùng thử có thể kết thúc trước 30 ngày. Trang giá viết rằng việc tính tiền có thể bắt đầu khi hết thời gian dùng thử hoặc khi hết lượng sử dụng đi kèm, tùy điều nào đến trước. Lượng sử dụng đi kèm không được công bố.
  • Lúc đăng nhập thì không cần thẻ. Nhưng khi bắt đầu tính tiền thì cần thẻ tín dụng hoặc thẻ ghi nợ, và thẻ trả trước không được chấp nhận.

Theo tỷ giá USD của Vietcombank ngày 13/10/2026 (25.720 đồng chuyển khoản, 26.100 đồng bán ra), $30 tương đương khoảng 771.600 đến 783.000 đồng. Đây chỉ là con số tham khảo. Ngân hàng phát hành thẻ của bạn dùng tỷ giá riêng và thường cộng thêm phí giao dịch ngoại tệ.

Nếu bạn không đăng ký khi hết dùng thử, ghi nhớ tự quay về chạy trên gói Anthropic của bạn. Tài liệu CMEM Pro nói việc chuyển này xảy ra theo sự kiện, khi một yêu cầu bị từ chối, chứ không theo một ngày cố định. Vì vậy bạn có thể không nhận ra lúc nó bắt đầu tiêu vào gói Claude.

Muốn tự chọn từ đầu thì truyền --provider. Theo trang cài đặt, --provider claude bỏ qua bước đăng nhập, và một lần chạy không tương tác mà không có --provider thì bản cài mới mặc định dùng gói Anthropic.

Cách giữ observer của claude-mem ngoài gói Claude

Mọi cài đặt nằm trong ~/.claude-mem/settings.json. Tệp dùng khóa phẳng, và tài liệu viết mọi giá trị dưới dạng chuỗi, kể cả số và true/false. Hãy thêm các khóa bên dưới vào tệp đang có, đừng ghi đè cả tệp. Sau khi sửa, khởi động lại worker:

npx claude-mem restart
npx claude-mem status

Trước khi chọn provider, hãy biết một quy tắc quan trọng. Khi provider bạn chọn bị từ chối hoặc hết hạn mức, claude-mem mặc định chuyển việc nén sang gói Anthropic của bạn. Khóa CLAUDE_MEM_QUOTA_FALLBACK_PROVIDER quyết định điều này, mặc định là claude. Đặt nó thành off thì việc nén sẽ chờ provider thay vì chuyển sang gói Claude. Nếu mục tiêu của bạn là gói Claude không bao giờ bị đụng tới, dòng này là bắt buộc.

OpenRouter

Trang OpenRouter của claude-mem nói việc trích xuất observation chạy ngoài gói Claude. Model mặc định là cohere/north-mini-code:free. Model miễn phí không cần thẻ tín dụng, nhưng có thể bị giới hạn tốc độ chặt hơn.

{
  "CLAUDE_MEM_PROVIDER": "openrouter",
  "CLAUDE_MEM_OPENROUTER_API_KEY": "<khóa OpenRouter của bạn>",
  "CLAUDE_MEM_QUOTA_FALLBACK_PROVIDER": "off"
}

Model miễn phí trên OpenRouter thường bị gỡ bỏ. Tài liệu nói claude-mem tự chuyển cài đặt đã lưu khỏi một model mặc định bị gỡ, nên ở đây không đặt CLAUDE_MEM_OPENROUTER_MODEL. Nếu bạn chọn model trả phí, tiền được trừ vào tín dụng OpenRouter của bạn.

Gemini

Với provider Gemini, ghi nhớ chạy trên khóa Gemini của bạn. Model mặc định là gemini-flash-latest, và lấy khóa không cần bật thanh toán.

{
  "CLAUDE_MEM_PROVIDER": "gemini",
  "CLAUDE_MEM_GEMINI_API_KEY": "<khóa Gemini của bạn>",
  "CLAUDE_MEM_QUOTA_FALLBACK_PROVIDER": "off"
}

claude-mem tự giãn nhịp gửi yêu cầu theo hạn mức miễn phí của Google, trừ khi bạn tắt CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED. Google thay đổi hạn mức thường xuyên, nên hãy xem hạn mức trong tài khoản của chính bạn.

Endpoint tương thích OpenAI

Provider openai-compatible dùng được với nhiều dịch vụ, kể cả một model chạy trên máy chủ của bạn. Các khóa cần đặt là CLAUDE_MEM_OPENAI_COMPAT_PRESET (ví dụ nvidia-nim, groq, ollama), CLAUDE_MEM_OPENAI_COMPAT_BASE_URL, CLAUDE_MEM_OPENAI_COMPAT_API_KEY và CLAUDE_MEM_OPENAI_COMPAT_MODEL. Nếu địa chỉ chưa có /chat/completions, claude-mem tự thêm vào. Các preset ollama, lmstudio và vllm không cần khóa. Theo trang này, provider này cũng giữ ghi nhớ ngoài gói Claude.

Endpoint tương thích Anthropic

Nếu bạn dùng một gateway nói giao thức Anthropic, giữ CLAUDE_MEM_PROVIDER là claude. Đặt địa chỉ gateway trong ~/.claude-mem/.env, không phải trong shell:

ANTHROPIC_BASE_URL=https://your-gateway.example.com/v1
ANTHROPIC_AUTH_TOKEN=<token của gateway>

Sau đó đặt CLAUDE_MEM_MODEL trong settings.json thành tên model mà gateway chấp nhận, rồi khởi động lại worker. Tài liệu nói không có chuyện âm thầm quay về endpoint công khai của Anthropic.

Nếu Claude Code của bạn đã chạy bằng API key

Đừng mặc định rằng observer đi theo cùng đường. Tài liệu claude-mem nói nó không đọc cấu hình Claude Code hiện có của bạn, nên bạn phải tự chép giá trị sang. ANTHROPIC_API_KEY còn nằm trong danh sách biến môi trường bị chặn, để một khóa lỡ để lộ trong shell không bị tính tiền. Hãy kiểm tra CLAUDE_MEM_CLAUDE_AUTH_METHOD (nhận subscription, api-key hoặc gateway) để biết observer đang gọi bằng tài khoản nào. Lưu ý thêm: cơ chế dừng ở ngưỡng chỉ áp dụng cho xác thực subscription. Trang cấu hình nói "API-key auth never stops", nên hãy đặt giới hạn chi tiêu ở phía tài khoản API.

Cài claude-mem và ghim một phiên bản

claude-mem cần Node.js 20.0.0 trở lên. Bun và uv được tự cài nếu máy chưa có.

node --version

Cách 1 là cài từ bên trong Claude Code, qua marketplace. Nếu bạn chưa quen marketplace, đọc plugin Claude Code là gì và marketplace hoạt động ra sao.

/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem

Cách 2 là trình cài qua npx. Phiên bản hiện tại ngày 13/10/2026 là v13.37.0, phát hành lúc 03:07 UTC cùng ngày. Lệnh dưới đây chọn sẵn gói Claude và bỏ qua bước đăng nhập CMEM Pro:

npx claude-mem@13.37.0 install --provider claude
npx claude-mem version
npx claude-mem doctor

version in ra phiên bản plugin đang cài. doctor kiểm tra Bun, uv và worker.

Vì sao phải quan tâm đến việc ghim phiên bản? Ghi chú phát hành của v13.37.0 cho biết bản cập nhật 13.36.1 qua marketplace bị hỏng. Tệp plugin còn sót dấu xung đột merge, nên worker, máy chủ tìm kiếm MCP (model context protocol) và runtime không khởi động được, và việc ghi nhớ dừng lại. Gói npm của 13.36.1 không bị ảnh hưởng. Người cài qua /plugin marketplace add lấy mã từ GitHub nên gặp lỗi này.

Cần nói thật về việc ghim:

  • Trang cài đặt chỉ ghi dạng npx claude-mem@latest install. Dạng @13.37.0 không được ghi trong tài liệu. Trình cài chép plugin từ chính gói npx đang chạy, nên nó chép tệp của 13.37.0.
  • Nhưng trình cài đăng ký marketplace GitHub với chế độ tự cập nhật và không gắn tag. Tôi chưa kiểm chứng plugin có ở lại 13.37.0 sau khi Claude Code tự cập nhật marketplace hay không.
  • Tài liệu Claude Code cho phép ghim marketplace theo tag bằng #ref, ví dụ /plugin marketplace add thedotmack/claude-mem#v13.37.0. Cách này được mô tả cho marketplace nói chung, chưa được thử riêng với claude-mem.

Sau mỗi lần cập nhật, hãy chạy lại npx claude-mem version và npx claude-mem status. Lưu ý thêm: npx claude-mem không kèm số phiên bản sẽ tải bản mới nhất từ npm để chạy lệnh.

Một cái bẫy thường gặp: npm install -g claude-mem chỉ cài SDK, tức là thư viện. Nó không đăng ký hook của plugin và không dựng worker, nên claude-mem sẽ không ghi nhớ gì cả.

Những gì ở lại máy và những gì rời khỏi máy

Mọi dữ liệu nằm dưới ~/.claude-mem, có thể đổi bằng CLAUDE_MEM_DATA_DIR. Cơ sở dữ liệu là ~/.claude-mem/claude-mem.db. Chroma là chỉ mục vector tùy chọn cho tìm kiếm theo ngữ nghĩa, không phải lúc nào cũng bật. Log, settings.json và worker.pid cũng nằm trong thư mục này.

Thứ rời khỏi máy đầu tiên là nội dung gửi cho observer để nén. Nó đi đến provider bạn chọn: Anthropic, OpenRouter, Google hoặc CMEM Pro. Tài liệu không mô tả chính xác từng trường trong nội dung gửi đi. Với CMEM Pro, cloud sync tải lên các đoạn tường thuật observation và toàn văn prompt của bạn vào tài khoản cmem.ai. Không có cờ bật riêng: cloud sync chạy khi token, user id và địa chỉ hub đều được đặt.

Thẻ private. Bọc nội dung trong <private> và </private> thì nội dung đó bị bỏ ở tầng hook, trước khi đến worker hay cơ sở dữ liệu. Claude vẫn thấy nội dung đó trong phiên hiện tại. Thẻ phải được đóng đúng, và tài liệu nói rõ đây không phải công cụ quản lý bí mật. Hãy thử với một chuỗi giả, ví dụ TEST-PRIVATE-4417, rồi tìm lại:

npx claude-mem search TEST-PRIVATE-4417

Không có kết quả nghĩa là thẻ hoạt động.

Tự động che dữ liệu nhạy cảm (auto-redaction) mặc định TẮT. Bật bằng "CLAUDE_MEM_REDACT_ENABLED": "true" trong settings.json. Có 11 mẫu dựng sẵn, gồm khóa AWS, token GitHub, khóa OpenAI và Anthropic, token Slack, JWT, khóa riêng PEM, Stripe và khóa API Google. Chuỗi khớp mẫu bị thay hẳn bằng một thẻ redacted. Đây là thay thế không hoàn tác được, không phải mã hóa. Thông tin xác thực của Azure, tệp JSON tài khoản dịch vụ GCP và token IBM Cloud không được che.

Cổng worker. Mặc định là 37700 cộng với (uid chia lấy dư cho 100), mỗi người dùng một cổng. Người dùng có uid 1000 sẽ có cổng 37700. Đổi bằng CLAUDE_MEM_WORKER_PORT. Tài liệu không nói worker lắng nghe trên địa chỉ nào. Trên VPS, hãy tự kiểm tra:

id -u
ss -ltnp | grep 377

Nếu cột địa chỉ là 127.0.0.1, chỉ máy đó gọi được worker. Nếu là 0.0.0.0 hoặc *, hãy chặn cổng đó trên tường lửa.

Telemetry ẩn danh bật sẵn. Tài liệu ghi "It is on by default (opt-out)." Dữ liệu gửi đi gồm một ID cài đặt ngẫu nhiên, phiên bản, hệ điều hành, thời gian chạy, số token và chi phí, số lượng bản ghi trong cơ sở dữ liệu, và lỗi đã được che. Tài liệu nói không gửi prompt, đường dẫn tệp, mã nguồn, tên dự án, truy vấn tìm kiếm hay địa chỉ IP. Để tắt và kiểm tra:

npx claude-mem telemetry disable
npx claude-mem telemetry status

Bạn cũng có thể đặt DO_NOT_TRACK=1 hoặc CLAUDE_MEM_TELEMETRY=0. Báo lỗi tắt riêng bằng CLAUDE_MEM_TELEMETRY_ERRORS=0. Muốn xem chính xác những gì sẽ được gửi, đặt CLAUDE_MEM_TELEMETRY_DEBUG=1: mỗi gói dữ liệu được in ra stderr và không gửi đi.

Cách gỡ claude-mem sạch sẽ

Ngày 13/10/2026, mục lục tài liệu của claude-mem không có trang gỡ cài đặt. Tuy vậy, CLI của v13.37.0 có lệnh uninstall, mô tả là "Remove plugin and configs". Theo mã nguồn, lệnh này dừng worker (chờ tối đa 10 giây), xóa thư mục marketplace và cache của plugin, xóa đăng ký plugin và mục enabledPlugins trong cài đặt Claude Code. Nó giữ lại thư mục dữ liệu, và gửi một sự kiện telemetry uninstall_completed trước khi kết thúc.

Thứ tự gỡ sạch:

npx claude-mem telemetry disable
npx claude-mem uninstall
cp ~/.claude-mem/claude-mem.db ~/claude-mem-backup.db
rm -rf ~/.claude-mem
claude plugin list

Lệnh đầu tiên tắt telemetry trước, vì lệnh gỡ gửi một sự kiện telemetry khi chạy xong. Lệnh cp là tùy chọn: chỉ chạy nếu bạn muốn giữ một bản sao ghi nhớ. rm -rf ~/.claude-mem xóa toàn bộ ghi nhớ, cài đặt và log, và không hoàn tác được.

claude plugin list không còn dòng claude-mem@thedotmack nghĩa là đã gỡ xong. Nếu dòng đó vẫn còn, gỡ bằng lệnh của chính Claude Code:

claude plugin uninstall claude-mem@thedotmack
claude plugin marketplace remove thedotmack

Theo tài liệu Claude Code, xóa một marketplace sẽ gỡ mọi plugin đã cài từ marketplace đó.

FAQ

claude-mem có làm hao giới hạn Claude Pro hoặc Max của tôi không?

Có, nếu observer chạy với provider claude và xác thực subscription, vốn là giá trị mặc định trong tệp cấu hình. Mỗi lần nén ghi chú là một lượt gọi Claude tính vào gói của bạn. Ngoài ra, tối đa 50 observation được chèn vào đầu mỗi phiên mới. Observer tự dừng ở 95% cửa sổ năm giờ hoặc 93% cửa sổ tuần, nên nó không đẩy bạn vượt hạn mức, nhưng phần dưới ngưỡng là phần dùng chung với bạn.

Làm sao để claude-mem không bao giờ tính vào gói Claude?

Chuyển CLAUDE_MEM_PROVIDER sang openrouter, gemini hoặc openai-compatible với khóa của riêng bạn, và đặt CLAUDE_MEM_QUOTA_FALLBACK_PROVIDER thành off trong ~/.claude-mem/settings.json. Dòng thứ hai rất quan trọng: mặc định, khi provider bạn chọn bị từ chối hoặc hết hạn mức, việc nén chuyển sang gói Anthropic của bạn. Khởi động lại worker bằng npx claude-mem restart sau khi sửa.

Hết thời gian dùng thử CMEM Pro thì chuyện gì xảy ra?

Nếu bạn không đăng ký, ghi nhớ tự quay về chạy trên gói Anthropic của bạn. Việc chuyển xảy ra khi một yêu cầu bị từ chối, không theo một ngày cố định. Thời gian dùng thử có thể kết thúc trước 30 ngày nếu bạn dùng hết lượng sử dụng đi kèm. Ngày 13/10/2026, giá sau dùng thử là $30/tháng, khoảng 771.600 đến 783.000 đồng theo tỷ giá Vietcombank cùng ngày.

Gỡ claude-mem có xóa ghi nhớ của tôi không?

Không. npx claude-mem uninstall gỡ plugin và cấu hình, nhưng giữ lại ~/.claude-mem, nơi chứa claude-mem.db. Muốn xóa hết, chạy rm -rf ~/.claude-mem sau khi gỡ. Lệnh gỡ gửi một sự kiện telemetry khi chạy xong, nên nếu không muốn gửi thêm gì, chạy npx claude-mem telemetry disable trước.