Skip to content

EverMind-AI/EverMemOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

560 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

banner-gif

Python Docker FastAPI MongoDB Elasticsearch Milvus Ask DeepWiki License

Share EverMemOS Repository

DocumentationAPI ReferenceDemo


Important

Memory Genesis Competition 2026

Join our AI Memory Competition! Build innovative applications, plugins, or infrastructure improvements powered by EverMemOS.

Tracks:

  • Agent + Memory - Build intelligent agents with long-term, evolving memories
  • Platform Plugins - Integrate EverMemOS with VSCode, Chrome, Slack, Notion, LangChain, and more
  • OS Infrastructure - Optimize core functionality and performance

Get Started with the Competition Starter Kit

Join our Discord to find teammates and brainstorm ideas!


divider divider

Welcome to EverMemOS

Welcome to EverMemOS! Join our community to help improve the project and collaborate with talented developers worldwide.

Community Purpose
Discord Members Join the EverMind Discord community to connect with other users
WeChat Join the EverMind WeChat group for discussion and updates

Exampels

example gif

Claw is putting the pieces of his memory together. Imagine a 24/7 agent with continuous learning memory that you can carry with you wherever you go next.



Quick Start

Prerequisites

  • Python 3.10+ • Docker 20.10+ • uv package manager • 4GB RAM

Verify Prerequisites:

# Verify you have the required versions
python --version  # Should be 3.10+
docker --version  # Should be 20.10+

Installation

# 1. Clone and navigate
git clone https://github.com/EverMind-AI/EverMemOS.git
cd EverMemOS

# 2. Start Docker services
docker compose up -d

# 3. Install uv and dependencies
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync

# 4. Configure API keys
cp env.template .env
# Edit .env and set:
#   - LLM_API_KEY (for memory extraction)
#   - VECTORIZE_API_KEY (for embedding/rerank)

# 5. Start server
uv run python src/run.py

# 6. Verify installation
curl http://localhost:1995/health
# Expected response: {"status": "healthy", ...}

✅ Server running at http://localhost:1995Full Setup Guide


Basic Usage

Store and retrieve memories with simple Python code:

import requests

API_BASE = "http://localhost:1995/api/v1"

# 1. Store a conversation memory
requests.post(f"{API_BASE}/memories", json={
    "message_id": "msg_001",
    "create_time": "2025-02-01T10:00:00+00:00",
    "sender": "user_001",
    "content": "I love playing soccer on weekends"
})

# 2. Search for relevant memories
response = requests.get(f"{API_BASE}/memories/search", json={
    "query": "What sports does the user like?",
    "user_id": "user_001",
    "memory_types": ["episodic_memory"],
    "retrieve_method": "hybrid"
})

result = response.json().get("result", {})
for memory_group in result.get("memories", []):
    print(f"Memory: {memory_group}")

📖 More Examples • 📚 API Reference • 🎯 Interactive Demos


Demo

Run the Demo

# Terminal 1: Start the API server
uv run python src/run.py

# Terminal 2: Run the simple demo
uv run python src/bootstrap.py demo/simple_demo.py

Try it now: Follow the Demo Guide for step-by-step instructions.

Full Demo Experience

# Extract memories from sample data
uv run python src/bootstrap.py demo/extract_memory.py

# Start interactive chat with memory
uv run python src/bootstrap.py demo/chat_with_memory.py

See the Demo Guide for details.


Advanced Techniques


Documentation

Guide Description
Quick Start Installation and configuration
Configuration Guide Environment variables and services
API Usage Guide Endpoints and data formats
Development Guide Architecture and best practices
Memory API Complete API reference
Demo Guide Interactive examples
Evaluation Guide Benchmark testing

Evaluation & Benchmarking

EverMemOS achieves 93% overall accuracy on the LoCoMo benchmark, outperforming comparable memory systems.

Benchmark Results

EverMemOS Benchmark Results

Supported Benchmarks

  • LoCoMo - Long-context memory benchmark with single/multi-hop reasoning
  • LongMemEval - Multi-session conversation evaluation
  • PersonaMem - Persona-based memory evaluation

Quick Start

# Install evaluation dependencies
uv sync --group evaluation

# Run smoke test (quick verification)
uv run python -m evaluation.cli --dataset locomo --system evermemos --smoke

# Run full evaluation
uv run python -m evaluation.cli --dataset locomo --system evermemos

# View results
cat evaluation/results/locomo-evermemos/report.txt

📊 Full Evaluation Guide • 📈 Complete Results


GitHub Codespaces

EverMemOS supports GitHub Codespaces for cloud-based development. This eliminates the need to set up Docker, manage local network configurations, or worry about environment compatibility issues.

Open in GitHub Codespaces

divider divider

Requirements

Machine Type Status Notes
2-core (Free tier) ❌ Not supported Insufficient resources for infrastructure services
4-core ✅ Minimum Works but may be slow under load
8-core ✅ Recommended Good performance with all services
16-core+ ✅ Optimal Best for heavy development workloads

Note: If your company provides GitHub Codespaces, hardware limitations typically won't be an issue since enterprise plans often include access to larger machine types.

Getting Started with Codespaces

  1. Click the "Open in GitHub Codespaces" button above
  2. Select a 4-core or larger machine when prompted
  3. Wait for the container to build and services to start
  4. Update API keys in .env (LLM_API_KEY, VECTORIZE_API_KEY, etc.)
  5. Run make run to start the server

All infrastructure services (MongoDB, Elasticsearch, Milvus, Redis) start automatically and are pre-configured to work together.


Questions

EverMemOS is available on these AI-powered Q&A platforms. They can help you find answers quickly and accurately in multiple languages, covering everything from basic setup to advanced implementation details.

Service Link
DeepWiki Ask DeepWiki


🌟 Star and stay tuned with us

star us gif


Contributing

We love open-source energy! Whether you’re squashing bugs, shipping features, sharpening docs, or just tossing in wild ideas, every PR moves EverMemOS forward. Browse Issues to find your perfect entry point—then show us what you’ve got. Let’s build the future of memory together.


Tip

Welcome all kinds of contributions 🎉

Join us in building EverMemOS better! Every contribution makes a difference, from code to documentation. Share your projects on social media to inspire others!

Connect with one of the EverMemOS maintainers @elliotchen200 on 𝕏 or @cyfyifanchen on GitHub for project updates, discussions, and collaboration opportunities.

divider divider

Code Contributors

EverMemOS

divider divider

Contribution Guidelines

Read our Contribution Guidelines for code standards and Git workflow.

divider divider

License & Citation & Acknowledgments

Apache 2.0CitationAcknowledgments