
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