OmniMem
chính thứcMột máy chủ MCP tự lưu trữ giúp các tác nhân AI có bộ nhớ liên tục qua các phiên, dự án và máy tính.
Bạn có thể làm gì với OmniMem MCP?
Cung cấp cho tác tử AI của bạn bộ nhớ bền vững, tự lưu trữ qua các phiên làm việc, dự án và máy tính — hãy yêu cầu nó "kiểm tra nghĩa địa trước khi gợi ý một thư viện đã từng thất bại."
- Tóm tắt phiên làm việc — Yêu cầu một
briefingđể nhận bối cảnh dự án, số liệu kinh nghiệm, ký ức cũ, bài viết mới và gợi ý kỹ năng trong một lần gọi. - Tránh các ngõ cụt trước đây — Yêu cầu tác tử kiểm tra nghĩa địa trước khi gợi ý một thư viện hoặc mẫu thiết kế từng thất bại trước đó.
- Nhớ lại các quyết định trước — Sử dụng
recallđể hiển thị các quyết định, bản sửa lỗi và mẫu thiết kế từ các phiên trước trên nhiều dự án. - Ghi lại kinh nghiệm khó giành được — Ghi nhật ký một bản sửa lỗi bằng
record_experienceđể những bài học tốn nhiều công sức xuất hiện dễ dàng hơn vào lần sau. - Loại bỏ trùng lặp ký ức — Chạy
find_duplicatesđể đánh dấu và dọn dẹp hàng loạt các ký ức lưu trữ gần giống nhau. - Sao lưu bộ nhớ của bạn — Xuất mọi thứ ra một tệp JSON bạn sở hữu bằng
dump_to_file.
Tài liệu
Self-hosted semantic memory dành cho AI Agents. Phiên làm việc bền bỉ, chấm điểm kinh nghiệm, và một nghĩa địa cho những ngõ cụt, được hỗ trợ bởi kiến thức thu thập từ RSS bạn đọc và lưu trữ trong Valkey vector search, sau đó được phơi bày dưới dạng một MCP server. https://omnimem.org
<OmniMem>omnimem.org
Quá trình phát triển diễn ra trên Codeberg — vui lòng gửi issues và PR tại đó.
Đừng sống lại cùng một phiên làm việc hai lần.
Mỗi phiên Claude Code đều bắt đầu từ con số không. Không có ký ức về dự án của bạn. Không có ký ức về những gì đã thất bại tuần trước. Không có ký ức rằng bạn đã dành ba giờ đồng hồ vào thứ Ba tuần trước để tìm hiểu vì sao onnxruntime phát nổ trên Alpine trước khi tìm ra thứ thực sự hoạt động.
Vì vậy, bạn lại giải thích dự án một lần nữa. Claude lại đề xuất cùng một thư viện hỏng đó. Cùng một báo động. Cùng một bài hát. Bạn là Bill Murray và Claude là Punxsutawney.
OmniMem khắc phục điều đó. Đây là một MCP server tự lưu trữ, mang lại cho AI agent của bạn trí nhớ bền bỉ qua các phiên làm việc, dự án và máy móc. Nó chạy trên phần cứng của chính bạn và miễn phí mãi mãi.
claude> use onnxruntime for the embeddings
⚠ WARNING: previously abandoned approach
onnxruntime — SIGILL crash on Alpine musl libc (effort: 4/5)
→ switched to sentence-transformers instead
Cảnh báo đó đến từ trí nhớ, không phải may mắn. Sai lầm mà bạn đã trả giá không được phép tính phí bạn hai lần.
Bắt đầu nhanh
Mẹo
Một lệnh duy nhất khởi động toàn bộ hệ thống từ các image Docker Hub được dựng sẵn:
curl -fsSL https://codeberg.org/ric_harvey/omnimem/raw/branch/main/install.sh | bashSau đó trỏ agent của bạn vào đó — khởi động nhanh hướng dẫn phần còn lại, hoặc nhảy đến phần khởi động nhanh đầy đủ hơn bên dưới.
Những gì nó ghi nhớ
Năm loại trí nhớ, tất cả được tìm kiếm cùng nhau tại thời điểm truy hồi:
- Tình huống (Episodic) — những quyết định bạn đã đưa ra, những lỗi bạn đã sửa, những mẫu hình bạn đã khám phá. Những thứ đòi hỏi nỗ lực thực sự để học và không nên phải học lại mỗi sáng.
- Bối cảnh dự án — stack, mục tiêu và trạng thái hiện tại của bạn. Agent đến mỗi phiên làm việc đã được báo cáo đầy đủ thay vì bắt đầu từ con số không.
- Kiến thức — các nguồn RSS bạn cấu hình, được tải theo lịch trình, tóm tắt bởi Claude Haiku, nhúng và lưu trữ. Khi một bài viết liên quan xuất hiện tuần trước, nó sẽ nổi lên như một điểm khởi đầu đáng đọc.
- Sở thích — các quy tắc chỉ định về cách bạn muốn làm việc ("luôn cập nhật README sau khi một tính năng hoàn thành"), được trích xuất tự động từ các cuộc trò chuyện của bạn và hiển thị bất cứ khi nào chúng áp dụng.
- Kỹ năng — các tài liệu SKILL.md được biên dịch từ kinh nghiệm tích lũy của bạn trong một lĩnh vực, để agent làm việc theo cách của bạn ngay từ lời nhắc đầu tiên. Được suy ra từ các không gian tên khác, không bao giờ chỉnh sửa thủ công, và mọi thay đổi đều trải qua quá trình xem xét của bạn. Xem trình biên dịch kỹ năng. Kết quả truy hồi hàng đầu có thể là một quyết định từ sáu tháng trước về một dự án khác, một giải pháp từ hôm qua, hoặc một bài viết xuất hiện vào tối thứ Ba. Không quan trọng nó đến từ đâu, miễn là nó hữu ích.
Điều gì làm nên sự khác biệt
Không chỉ là một kho lưu trữ key-value với lớp bọc MCP. OmniMem mô hình hóa cách bộ nhớ thực sự hoạt động: mọi thứ phai nhạt theo thời gian, đôi khi chúng mâu thuẫn với nhau, và những thứ khó giành được sẽ có vị trí xứng đáng.
- The Graveyard — mọi ngõ cụt đều được ghi lại với những gì bạn đã thử, lý do thất bại, và thời gian bạn đã bỏ ra. Agent sẽ kiểm tra nó trước khi đề xuất một thư viện hoặc mẫu thiết kế.
- Experience scoring — một thứ phải mất bốn lần thử và một cách giải quyết kỳ lạ trên nền tảng mới giải quyết được là vàng. Càng khó khăn, nó càng dễ xuất hiện vào lần sau.
- Memory lifecycle —
ACTIVE → DEPRIORITISED → ARCHIVED → DELETED. "Quên X đi" thường có nghĩa là đừng nhắc lại nó, chứ không phải xóa nó khỏi sự tồn tại. Những ký ức bị giảm ưu tiên có thể giành lại vị trí của mình. - Contradiction detection — nếu một ký ức mới mâu thuẫn với thứ đã lưu, OmniMem sẽ phát hiện ra. Heuristic nhanh trên mỗi lần ghi, phân tích sâu hơn tùy chọn qua Claude Haiku.
- Semantic deduplication — các ký ức gần như giống hệt nhau sẽ được gắn cờ tại thời điểm ghi và dọn dẹp hàng loạt bằng
find_duplicates(). - One-call briefing — một lần gọi
briefing()duy nhất trả về ngữ cảnh dự án, thống kê kinh nghiệm, ký ức cũ, bài viết mới, cảnh báo mâu thuẫn và gợi ý kỹ năng. Không cần khởi động ba bước. - The skill compiler — chưng cất các bài học được củng cố và ngõ cụt thành các kỹ năng có thể tải, đằng sau một cánh cổng đề xuất-và-chấp nhận để bài học tồi không thể âm thầm trở thành chính sách.
- Auto-maintenance — các bản sao được lưu trữ, mâu thuẫn được gắn cờ, kiến thức hết hạn được dọn dẹp, tất cả đều chạy nền.
- Web UI — duyệt, tìm kiếm và quản lý mọi thứ từ một bảng điều khiển htmx, với telemetry và một endpoint
/metricsPrometheus.
Công thức xếp hạng đằng sau mỗi lần truy hồi:
score = similarity x surface_score x recency x experience_weight
Bốn yếu tố quyết định điều gì quay trở lại. Chỉ riêng sự tương đồng về ngữ nghĩa là chưa đủ — trạng thái vòng đời, độ tuổi và mức độ khó khăn khi học bài học đều đóng vai trò.
Hoạt động với mọi agent MCP
Một lớp bộ nhớ cho tất cả: claude.ai, Claude Code, Claude Desktop, Cursor, GitHub Copilot, GitLab Duo, AWS Kiro, OpenCode, OpenAI Codex CLI và Open Design.
Kiến trúc
Bốn container. Không có gì rời khỏi máy của bạn. Embedding cục bộ qua sentence-transformers, lưu trữ trong Valkey với tìm kiếm vector, và cả hai cửa trước đều dùng chung một engine bộ nhớ.
flowchart TB
agent["AI agent<br/>Claude Code · claude.ai · Cursor · Copilot · ..."]
browser["Browser"]
agent -- "MCP · Streamable HTTP / SSE · :8765" --> mcp
browser -- "HTTP · :8080" --> webui
subgraph stack["Docker Compose stack"]
mcp["MCP server<br/>Python · FastMCP<br/><i>remember · recall · briefing<br/>compile_skill · record_experience</i>"]
webui["Web UI<br/>Starlette · htmx · Jinja2<br/><i>dashboard · search · skills<br/>projects · backups · /metrics</i>"]
rss["RSS worker<br/>feedparser · APScheduler<br/>Claude Haiku summaries"]
valkey[("Valkey + valkey-search<br/>HNSW vector indexes<br/><i>idx:episodic · idx:project · idx:knowledge<br/>idx:preference · idx:skill</i>")]
mcp <--> valkey
webui <--> valkey
rss --> valkey
end
Bức tranh toàn cảnh — quy trình truy hồi, mô hình lưu trữ và các quyết định thiết kế — nằm trong docs/architecture.md.
Tự lưu trữ, mã nguồn mở, của bạn
Không SaaS. Không khóa nhà cung cấp. Không có ngữ cảnh nào được gửi đến máy chủ của người khác.
- Valkey là một nhánh mã nguồn mở của Redis. Toàn bộ dữ liệu của bạn nằm trong một volume Docker có tên trên chính máy của bạn.
- Hình ảnh Docker đa kiến trúc cho amd64 và arm64. Nó chạy trên Raspberry Pi, AWS Graviton hoặc Apple Silicon tốt như trên x86.
- sentence-transformers chạy embedding cục bộ mà không cần gọi API.
- Giấy phép MIT nghĩa là bạn có thể fork, mở rộng và chạy nó ở bất cứ đâu bạn muốn.
- Một lệnh sao lưu gọi
dump_to_file()và xuất mọi thứ ra một tệp JSON bạn sở hữu.
Mở cổng MCP qua reverse proxy của bạn và mọi máy bạn làm việc đều dùng chung một bộ nhớ. Một lần triển khai, dùng ở mọi nơi — xem docs/remote-access.md.
Bắt đầu nhanh
Trình cài đặt kiểm tra Docker đã được cài đặt, tạo mật khẩu an toàn, ghi một .env hợp lý và khởi động mọi thứ từ các hình ảnh Docker Hub đã dựng sẵn:
curl -fsSL https://codeberg.org/ric_harvey/omnimem/raw/branch/main/install.sh | bash
Hoặc dựng từ mã nguồn:
git clone https://codeberg.org/ric_harvey/omnimem.git && cd omnimem
cp .env.example .env
# Set VALKEY_PASSWORD and ANTHROPIC_API_KEY in .env
docker compose up -d
Sau đó trỏ agent của bạn vào nó — Claude Code (~/.claude.json):
{
"mcpServers": {
"omnimem": {
"type": "sse",
"url": "http://localhost:8765/sse"
}
}
}
Máy chủ tự động gửi hướng dẫn sử dụng đến bất kỳ agent kết nối nào qua trường instructions của MCP — không cần tệp cấu hình. Bảng điều khiển web nằm tại http://localhost:8080.
Hướng dẫn đầy đủ, bao gồm token xác thực, cài đặt quyền và các agent khác, nằm trong docs/quick-start.md.
Tài liệu
| Bắt đầu nhanh | Trình cài đặt, dựng từ mã nguồn, kết nối agent của bạn |
| Tính năng chuyên sâu | Vòng đời, graveyard, chấm điểm kinh nghiệm, khử trùng lặp, mâu thuẫn, briefing |
| Trình biên dịch kỹ năng | Biên dịch kinh nghiệm thành kỹ năng có thể tải |
| Tham chiếu công cụ MCP | Tất cả hơn 30 công cụ |
| Tham chiếu cấu hình | Mọi biến môi trường |
| RSS & kiến thức | Tiếp nhận kiến thức thụ động và thăng tiến |
| Nhiều máy | Reverse proxy, OAuth 2.1 cho claude.ai, xử lý sự cố |
| Web UI | Bảng điều khiển quản lý và số liệu Prometheus |
| Kiến trúc | Container, quy trình truy hồi, quyết định thiết kế |
| Đặc tả loại bộ nhớ | Mô hình lưu trữ, từng trường một |
| Hướng dẫn kết nối | Thiết lập theo từng agent |
| Hướng dẫn triển khai | macOS · Raspberry Pi · AWS · GCP · Linux + Tailscale Funnel |
Đặc tả lưu trữ theo từng không gian tên, nếu bạn muốn biết chính xác thứ gì được ghi vào Valkey và bởi ai: tổng quan · episodic · project · knowledge · preference · skill
Đóng góp
Các issue và PR đều được hoan nghênh. Quá trình phát triển diễn ra trên Codeberg — vui lòng gửi issue và PR tại đó. OmniMem được thiết kế để mở rộng và quy trình chấm điểm được cấu trúc sao cho có thể thêm các hệ số nhân mới mà không cần chạm vào phần lõi. Các công cụ MCP mới, loại không gian tên bổ sung và backend embedding thay thế đều là những hướng đi hợp lý.
Giấy phép
MIT. Tự do sử dụng, fork và sửa đổi. Không có gói doanh nghiệp, không có phiên bản lưu trữ, không ràng buộc.
Được xây dựng bởi Ric Harvey @ SquareCows Ltd, một công ty tư vấn AI và tự động hóa dành cho những người muốn sở hữu công cụ của chính mình.