Thêm bộ nhớ liên tục vào mã Claude bằng claude-mem — Cộng với một giải pháp thay thế nhẹ tự làm
AI/ML·Dev.to·1 lượt xem

Thêm bộ nhớ liên tục vào mã Claude bằng claude-mem — Cộng với một giải pháp thay thế nhẹ tự làm

Adding Persistent Memory to Claude Code with claude-mem — Plus a DIY Lightweight Alternative

Vấn đề: Mã Claude quên mọi thứ Mỗi khi bạn bắt đầu một phiên Mã Claude mới, phương tiện chặn sẽ bị xóa sạch. Tùy chọn kiểu mã hóa của bạn, quyết định về kiến ​​trúc dự án, lỗi gỡ lỗi của ngày hôm qua...

Vấn đề: Mã Claude quên mọi thứ

Mỗi khi bạn bắt đầu phiên Mã Claude mới, phương tiện chặn sẽ bị xóa sạch. Tùy chọn kiểu mã hóa, quyết định về cấu trúc dự án, phiên gỡ lỗi ngày hôm qua — tất cả đều biến mất.

Cuối cùng, bạn lặp lại: "Chúng tôi sử dụng Supabase, không phải Firebase. Các hàm Edge nằm trong supabase/functions/. Không sử dụng dữ liệu giả."

claude-mem khắc phục sự cố này bằng cách thêm bộ nhớ liên tục qua các phiên. Nó đạt 46K sao GitHub trong vòng 48 giờ kể từ khi ra mắt. Tôi đã cài đặt nó, trước tiên đã xây dựng một giải pháp thay thế nhẹ tự làm và đây là những gì tôi tìm thấy.

Claude-mem là gì?

GitHub: https://github.com/thedotmack/claude-mem

Một plugin giúp Claude Code có trí nhớ dài hạn. Nó tự động ghi lại những gì bạn làm trong các phiên và đưa ngữ cảnh có liên quan vào các cuộc trò chuyện trong tương lai.

Kiến trúc

  • 5 Móc vòng đời: SessionStart / UserPromptSubmit / PostToolUse / Stop / SessionEnd
  • SQLite + Chroma: Tìm kiếm kết hợp (độ tương tự từ khóa + vectơ)
  • Bánh bao HTTP Worker: Dịch vụ nền trên localhost:37777
  • Công cụ MCP: Tiết lộ lũy tiến 3 lớp (tìm kiếm → dòng thời gian → get_observations)
  • Giao diện người dùng web: Trình duyệt bộ nhớ trực quan

Cài đặt

npx claude-mem cài đặt
npx claude-mem bắt đầu # Yêu cầu Bun

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Giải pháp thay thế DIY mà tôi xây dựng đầu tiên

Trước khi khám phá claude-mem, tôi đã xây dựng một hệ thống bộ nhớ tối thiểu chỉ bằng hai tập lệnh PowerShell và API hook gốc của Claude Code.

PostToolSử dụng Hook (tự động chụp.ps1)

Được kích hoạt sau mỗi lần sử dụng công cụ Bash hoặc Write. Ghi lại các cam kết git và các lần tạo tệp mới vào tệp đánh dấu hàng ngày:

bộ nhớ/tự động chụp/2026-04-13.md
- 09:15 [abc1234] feat: Thêm xác thực người dùng
- 09:32 [Viết] auth_middleware.dart
Sửa lỗi - 10:01 [def5678]: Logic làm mới mã thông báo

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

SessionStart Hook (session-resume.ps1)

Đọc 3 ngày chụp gần đây nhất và đưa chúng vào làm ngữ cảnh khi phiên mới bắt đầu. AI ngay lập tức biết bạn đang làm gì.

Đăng ký trong settings.json

{
  "móc": {
    "PostToolUse": [{
      "matcher": "Bash|Write",
      "móc": [{
        "loại": "lệnh",
        "lệnh": "powershell -File auto-capture.ps1"
      }]
    }],
    "Bắt đầu phiên": [{
      "móc": [{
        "loại": "command",
        "lệnh": "powershell -File session-resume.ps1"
      }]
    }]
  

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

So sánh trực tiếp

Tính năng claude-mem Móc tự làm
Thiết lập cài đặt npx (1 lệnh) 2 tập lệnh, hướng dẫn sử dụng
Tự động chụp Tất cả cách sử dụng công cụ git commit + Chỉ viết
Tìm kiếm Vectơ tương tự + từ khóa grep (tìm kiếm văn bản)
Web Giao diện người dùng localhost:37777 Không có
Phần phụ thuộc Bun + SQLite + (Chroma) Không có
Chi phí mã thông báo Nén LLM (Gemini = miễn phí) Không
Thân thiện với Git Tệp cơ sở dữ liệu (đã bỏ qua) Tệp đánh dấu (có thể chia sẻ)
Đa phiên bản Cách ly trong phạm vi phiên Chia sẻ tệp để phối hợp

Chạy cả hai cùng nhau

Tin vui: chúng cùng tồn tại một cách hoàn hảo. claude-mem đăng ký dưới dạng plugin, móc DIY đăng ký trực tiếp trong settings.json. Cả hai đều thực hiện cùng một sự kiện mà không có xung đột.

Khi Claude-mem tỏa sáng

  • Nén thông minh: Sử dụng LLM (Gemini/Claude) để tóm tắt kết quả đầu ra của công cụ thành các quan sát nhỏ gọn
  • Tìm kiếm ngữ nghĩa: "Tôi đã làm gì với tính năng xác thực hệ thống tuần trước?" thực sự hoạt động
  • Trang tổng quan web: Tổng quan trực quan về nội dung được ghi lại

Khi những chiếc móc DIY tỏa sáng

  • Không phụ thuộc: Không có máy chủ, không có cơ sở dữ liệu, không có thời gian chạy
  • Chia sẻ nhóm: Các tệp đánh dấu có thể được chuyển sang git và chia sẻ trên trường hợp
  • Toàn quyền kiểm soát: Bạn quyết định chính xác nội dung nào sẽ được chụp và cách thức
  • Thực sự miễn phí: Không có lệnh gọi API nào

Mẹo tối ưu hóa chi phí

claude-mem mặc định sử dụng API Claude để nén, việc này sẽ tiêu tốn mã thông báo của bạn. Chuyển sang Gemini (miễn phí) để loại bỏ điều này:

// ~/.claude-mem/settings.json
{
  "CLAUDE_MEM_PROVIDER": "song tử", "CLAUDE_MEM_GEMINI_API_KEY": "your-free-key-from-aistudio.google.com"

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bộ nhớ 3 lớp của chúng tôi Kiến trúc

Trong dự án của chúng tôi (Flutter Web + Supabase, 3 phiên bản Mã Claude song song), chúng tôi sử dụng phương pháp tiếp cận theo lớp:

Lớp Công cụ Mục đích
L1: Trong phiên claude-mem (SQLite) Tự động ghi lại tất cả việc sử dụng công cụ, tìm kiếm ngữ nghĩa
L2: Giữa phiên Móc tự làm (đánh dấu) Lịch sử cam kết Git, chia sẻ giữa các phiên bản
L3: Dự án chéo NotebookLM Master Brain Nghiên cứu sâu, kiến thức kiến trúc lâu dài

Phán quyết

claude-mem thực hiện lời hứa biến Claude Code từ "công cụ dùng một lần" thành "đối tác đang phát triển". Tìm kiếm vectơ và giao diện người dùng web là những tính năng thực sự hữu ích mà khó có thể sao chép bằng các tập lệnh đơn giản.

Tuy nhiên, đối với các nhóm không muốn có sự phụ thuộc, không có chi phí mã thông báo và chia sẻ bộ nhớ thân thiện với git thì cách tiếp cận DIY hook là một khởi đầu vững chắc điểm.

Đề xuất của tôi: Bắt đầu với móc tự làm để có bộ nhớ tối thiểu, sau đó xếp chồng lên claude-mem khi bạn cần tìm kiếm ngữ nghĩa và nén tự động.


Được xây dựng bằng Mã Claude | Dự án: https://my-web-app-b67f4.web.app/

ClaudeCode #AI #buildinpublic

Tác giả: kanta13jp1

#claudecode#ai#productivity#llm