What Is OMEM?
OMEM is an open-source AI agent memory layer built by ourmem, delivering shared persistent storage for AI agents via a Rust-based server and plugins. It eliminates session amnesia, agent silos, device lock-in, and keyword-only recall by implementing three-tier spaces (personal, team, organization) with provenance tracking. OMEM is one of the best AI Agent Memory tools for AI developers and agent builders, with 124 GitHub stars as of February 2026 and v0.3.1 released in early 2026 supporting per-tenant deduplication and schema evolution.
Quick Overview
| Attribute | Details |
|---|---|
| Type | AI Agent Memory |
| Best For | AI developers and agent builders |
| Language/Stack | Rust, Docker |
| License | MIT |
| GitHub Stars | 124 as of Feb 2026 |
| Pricing | Open-Source |
| Last Release | v0.3.1 — Jan 2026 |
Who Should Use OMEM?
- AI coding tool users: Developers using Claude or similar who need automatic recall of past sessions without manual context pasting.
- Agent workflow builders: Teams constructing multi-agent systems requiring cross-agent knowledge sharing via REST API.
- Self-hosting enthusiasts: Indie hackers deploying memory layers on personal servers with Docker for full data control.
- Prototype hackers: Solo builders testing persistent AI memory in MVPs without vendor lock-in.
Not ideal for:
- Production-scale enterprises needing SOC2 compliance or multi-region replication out-of-the-box.
- Non-AI developers unfamiliar with Rust compilation or Docker orchestration.
- Simple chatbots where stateless sessions suffice without semantic persistence.
Key Features of OMEM
- Three-Tier Spaces: Personal, team, and organization levels enable knowledge sharing with full provenance tracking via tenant IDs and access controls.
- Weibull Decay Model: Automates memory lifecycle by decaying peripheral items while pinning core memories, preventing unbounded growth without manual intervention.
- 11-Stage Hybrid Retrieval: Combines vector embeddings, BM25 keyword search, reciprocal rank fusion (RRF), cross-encoder reranking, and MMR diversity to deliver relevant results in under 200ms.
- 7-Decision Reconciliation: Handles memory updates via CREATE, MERGE, SUPERSEDE, SUPPORT, CONTEXTUALIZE rules, ensuring schema evolution and deduplication per tenant.
- Musl Static Linking: Produces portable binaries runnable on any Linux distro without Rust dependencies, ideal for edge deployments.
- Claude Plugin Integration: Hooks into Claude's marketplace for automatic session capture and recall, supporting skills like persistent agent state.
- REST API with 48+ Endpoints: Full CRUD for memories, spaces, and retrieval, with Docker Compose for prod-ready self-hosting.
OMEM vs Alternatives
| Tool | Best For | Key Differentiator | Pricing |
|---|---|---|---|
| OMEM | Cross-agent persistence | 11-stage hybrid retrieval + Weibull decay | Open-Source |
| Mem0 | Single-agent short-term memory | Simple vector store focus | Freemium |
| Letta | Long-term agent persona memory | Conversation threading | Open-Source |
| Zep | Real-time chat memory | Streaming ingestion | Open-Source |
Mem0 suits lightweight single-session agents but lacks multi-tenant sharing and advanced reranking—pick it for quick prototypes. Claude Context Mode excels in Claude-specific context windows but ties to one provider without self-hosting. Letta handles persona evolution well for role-playing agents yet misses team spaces. Zep prioritizes low-latency chat but skips semantic fusion for broader agent use. For OpenSwarm users, OMEM layers memory atop swarm coordination.
How OMEM Works
OMEM runs a Rust server exposing REST endpoints for memory operations, backed by a hybrid index combining vector databases and full-text search. Core abstractions include spaces (isolated namespaces with ACLs), memories (JSON payloads with embeddings), and retrievers (multi-stage pipelines). Data flows from agent plugins or API calls: ingest captures session facts, reconciliation merges duplicates, decay schedules evictions. Provenance logs every access and mutation via tenant-scoped UUIDs.
Retrieval starts with query embedding, parallel BM25 and vector KNN searches (top-50 each), RRF scoring, cross-encoder validation on top-10, and MMR for diversity. Server uses Tokio for async I/O, handling 1,000+ QPS on modest hardware. Schema evolution supports force-migrating payloads without downtime.
# Clone and run with Docker
git clone https://github.com/ourmem/omem.git
cd omem
docker-compose up -d
# Create personal space and ingest memory
curl -X POST http://localhost:8000/api/spaces \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"name": "personal", "type": "personal"}'
curl -X POST http://localhost:8000/api/memories \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"space_id": "space-uuid", "content": "Learned Next.js routing", "embedding": [0.1,0.2,...]}'
These commands spin up the server with persistent volumes, create a space, and store a memory. Expect API key generation on first boot; queries to /api/retrieve return ranked results with scores. Plugins auto-authenticate via env vars.
Pros and Cons of OMEM
Pros:
- Self-hosted Docker setup deploys in 60 seconds with zero vendor costs.
- Hybrid retrieval outperforms pure vector search by 25% in precision per internal evals.
- Per-tenant dedup and reconciliation cut storage by 40% on repeated sessions.
- Musl binaries run on ARM/x86 without libc deps, perfect for Raspberry Pi agents.
- 48+ API endpoints cover advanced ops like bulk export and decay tuning.
- Claude plugin enables drop-in persistence for coding workflows.
Cons:
- v0.3.1 lacks built-in auth beyond API keys—pair with Traefik for OAuth.
- Embedding generation offloaded to client; no on-server model hosting yet.
- Weibull decay params fixed; custom curves require code forks.
- 124 stars indicate early stage—expect API breaks pre-v1.0.
- No JS/TS client SDK; curl or custom wrappers needed for non-Rust apps.
Getting Started with OMEM
Start by cloning the repo and using Docker Compose for a full stack including server and data volumes.
# Prerequisites: Docker 20+, git
mkdir omem-project && cd omem-project
git clone https://github.com/ourmem/omem.git .
cp .env.example .env
# Edit .env: set API_KEY=your-secret-key
docker-compose up -d
# Verify: check logs and test endpoint
curl http://localhost:8000/health
curl -X POST http://localhost:8000/api/spaces \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"test-space","type":"personal"}'
Docker pulls Rust 1.94 image, builds statically linked binary, and mounts /data for persistence. Health check confirms readiness in 30-45 seconds. Generate embeddings client-side with OpenAI or Hugging Face before ingest; install Claude plugin via marketplace for auto-capture. Scale with docker-compose.prod.yml for multi-replica.
Verdict
OMEM stands as the strongest open-source option for AI developers needing cross-session, multi-agent memory when self-hosting trumps SaaS simplicity. Its hybrid retrieval and reconciliation deliver production-grade recall at zero cost. Use it unless you require managed scaling—deploy today for persistent agents.



