Repository files navigation

MemoryOS

logo

Readme:中文Mem0 DiscordMem0 PyPI - DownloadsNpm packageDiscordLicense: Apache 2.0

🎉 If you like our project, please give us a star ⭐ on GitHub for the latest update.

MemoryOS is designed to provide a memory operating system for personalized AI agents, enabling more coherent, personalized, and context-aware interactions. Drawing inspiration from memory management principles in operating systems, it adopts a hierarchical storage architecture with four core modules: Storage, Updating, Retrieval, and Generation, to achieve comprehensive and efficient memory management. On the LoCoMo benchmark, the model achieved average improvements of 49.11% and 46.18% in F1 and BLEU-1 scores.

✨Key Features

  • 🏆 TOP Performance in Memory Management
    The SOTA results in long-term memory benchmarks, boosting F1 scores by 49.11% and BLEU-1 by 46.18% on the LoCoMo benchmark.

  • 🧠 Plug-and-Play Memory Management Architecture
    Enables seamless integration of pluggable memory modules—including storage engines, update strategies, and retrieval algorithms.

  • Agent Workflow Create with Ease (MemoryOS-MCP)
    Inject long-term memory capabilities into various AI applications by calling modular tools provided by the MCP Server.

  • 🌐 Universal LLM Support
    MemoryOS seamlessly integrates with a wide range of LLMs (e.g., OpenAI, Deepseek, Qwen ...)

🧠 Memory Family

Welcome to our Memory Family, a research line dedicated to exploring AI Memory.

Survey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends
TL;DR: Provides a unified theoretical framework for AI Memory, introducing a comprehensive taxonomy and systematically analyzing memory mechanisms, applications, and evaluation methods.
📄 Paper: http://github.com/BAI-LAB/Survey-on-AI-Memory/blob/main/Survey%20on%20AI%20Memory.pdf

LightSearcher: Efficient DeepSearch via Experiential Memory
TL;DR: Introduces experiential memory into deep search systems, enabling models to learn from successful reasoning trajectories and improve search efficiency.
📄 Paper: https://arxiv.org/abs/2512.06653

Memory OS of AI Agent
TL;DR: Proposes a memory operating system for AI agents that manages short-term, mid-term, and long-term personal memory through hierarchical storage, dynamic updating, retrieval, and generation, improving coherence and personalization in long conversations.
📄 Paper: https://arxiv.org/abs/2506.06326

📣 Latest News

  • [new] 🔥🔥🔥 [2026-01-15]: ✨ReleasedSurvey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends!
  • [new] 🔥🔥 [2025-09-11]: 🚀Open-sourced the Playground platform!
  • [new] 🔥🔥 [2025-08-21]: 🎉Accepted by EMNLP 2025 main conference!
  • [new] 🔥 [2025-07-15]: 🔌 Support for Vector Database Chromadb
  • [new] 🔥 [2025-07-15]: 🔌 IntegrateDocker into deployment
  • [new][2025-07-14]: ⚡ Acceleration of MCP parallelization
  • [new][2025-07-14]: 🔌 Support for BGE-M3 & Qwen3 embeddings on PyPI and MCP.
  • [new][2025-07-09]: 📊 Evaluation of the MemoryOS on LoCoMo Dataset: Publicly Available 👉Reproduce.
  • [new][2025-07-08]: 🏆 New Config Parameter
  • New parameter configuration: similarity_threshold. For configuration file, see 📖 Documentation page.
  • [new][2025-07-07]: 🚀5 Times Faster
  • The MemoryOS (PYPI) implementation has been upgraded: 5 times faster (reduction in latency) through parallelization optimizations.
  • [new][2025-07-07]: ✨R1 models Support Now
  • MemoryOS supports configuring and using inference models such as Deepseek-r1 and Qwen3..
  • [new][2025-07-07]: ✨MemoryOS Playground Launched
  • The Playground of MemoryOS Platform has been launched! 👉MemoryOS Platform. If you need an Invitation Code, please feel free to reach Contact US.
  • [new][2025-06-15]:🛠️ Open-sourced MemoryOS-MCP released! Now configurable on agent clients for seamless integration and customization. 👉 MemoryOS-MCP.
  • [2025-05-30]: 📄 Paper-Memory OS of AI Agent is available on arXiv: https://arxiv.org/abs/2506.06326.
  • [2025-05-30]: Initial version of MemoryOS launched! Featuring short-term, mid-term, and long-term persona Memory with automated user profile and knowledge updating.

🔥 MemoryOS Support List

TypeNameOpen SourceSupportConfigurationDescription
Agent ClientClaude Desktopclaude_desktop_config.jsonAnthropic official client
ClineVS Code settingsVS Code extension
CursorSettings panelAI code editor
Model ProviderOpenAIOPENAI_API_KEYGPT-4, GPT-3.5, etc.
AnthropicANTHROPIC_API_KEYClaude series
Deepseek-R1DEEPSEEK_API_KEYChinese large model
Qwen/Qwen3QWEN_API_KEYAlibaba Qwen
vLLMLocal deploymentLocal model inference
Llama_factoryLocal deploymentLocal fine-tuning deployment
All model calls use the OpenAI API interface; you need to supply the API key and base URL.

📑 Table of Contents

🏗️ System Architecture

image

🏗️ Project Structure

memoryos/
├── __init__.py # Initializes the MemoryOS package
├── __pycache__/ # Python cache directory (auto-generated)
├── long_term.py # Manages long-term persona memory (user profile, knowledge)
├── memoryos.py # Main class for MemoryOS, orchestrating all components
├── mid_term.py # Manages mid-term memory, consolidating short-term interactions
├── prompts.py # Contains prompts used for LLM interactions (e.g., summarization, analysis)
├── retriever.py # Retrieves relevant information from all memory layers
├── short_term.py # Manages short-term memory for recent interactions
├── updater.py # Processes memory updates, including promoting information between layers
└── utils.py # Utility functions used across the library

📖MemoryOS_PyPi Getting Started

Prerequisites

  • Python >= 3.10
  • conda create -n MemoryOS python=3.10
  • conda activate MemoryOS

Installation

Download from PyPi

pip install memoryos-pro -i https://pypi.org/simple

Download from GitHub (latest version)

git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS/memoryos-pypi
pip install -r requirements.txt

Basic Usage

importosfrommemoryosimportMemoryos# --- Basic Configuration ---USER_ID="demo_user"ASSISTANT_ID="demo_assistant"API_KEY="YOUR_OPENAI_API_KEY"# Replace with your keyBASE_URL=""# Optional: if using a custom OpenAI endpointDATA_STORAGE_PATH="./simple_demo_data"LLM_MODEL="gpt-4o-mini"defsimple_demo():
print("MemoryOS Simple Demo")
# 1. Initialize MemoryOSprint("Initializing MemoryOS...")
try:
memo=Memoryos(
user_id=USER_ID,
openai_api_key=API_KEY,
openai_base_url=BASE_URL,
data_storage_path=DATA_STORAGE_PATH,
llm_model=LLM_MODEL,
assistant_id=ASSISTANT_ID,
short_term_capacity=7, mid_term_heat_threshold=5, retrieval_queue_capacity=7,
long_term_knowledge_capacity=100,
#Support Qwen/Qwen3-Embedding-0.6B, BAAI/bge-m3, all-MiniLM-L6-v2embedding_model_name="BAAI/bge-m3"
)
print("MemoryOS initialized successfully!\n")
exceptExceptionase:
print(f"Error: {e}")
return# 2. Add some basic memoriesprint("Adding some memories...")
memo.add_memory(
user_input="Hi! I'm Tom, I work as a data scientist in San Francisco.",
agent_response="Hello Tom! Nice to meet you. Data science is such an exciting field. What kind of data do you work with?"
)
test_query="What do you remember about my job?"print(f"User: {test_query}")
response=memo.get_response(
query=test_query,
)
print(f"Assistant: {response}")
if__name__=="__main__":
simple_demo()

📖 MemoryOS-MCP Getting Started

🔧 Core Tools

1. add_memory

Saves the content of the conversation between the user and the AI assistant into the memory system, for the purpose of building a persistent dialogue history and contextual record.

2. retrieve_memory

Retrieves related historical dialogues, user preferences, and knowledge information from the memory system based on a query, helping the AI assistant understand the user’s needs and background.

3. get_user_profile

Obtains a user profile generated from the analysis of historical dialogues, including the user’s personality traits, interest preferences, and relevant knowledge background.

1. Install dependencies

cd memoryos-mcp
pip install -r requirements.txt

2. configuration

Edit config.json

{
"user_id": "user ID",
"openai_api_key": "OpenAI API key",
"openai_base_url": "https://api.openai.com/v1",
"data_storage_path": "./memoryos_data",
"assistant_id": "assistant_id",
"llm_model": "gpt-4o-mini""embedding_model_name":"BAAI/bge-m3"
}

3. Start the server

python server_new.py --config config.json

4. Test

python test_comprehensive.py

5. Configure it on Cline and other clients

Copy the mcp.json file over, and make sure the file path is correct.

command": "/root/miniconda3/envs/memos/bin/python"#This should be changed to the Python interpreter of your virtual environment

📖MemoryOS_Chromadb Getting Started

1. Install dependencies

cd memoryos-chromadb
pip install -r requirements.txt

2. Test

The edit information is in comprehensive_test.py
memoryos = Memoryos(
user_id='travel_user_test',
openai_api_key='',
openai_base_url='',
data_storage_path='./comprehensive_test_data',
assistant_id='travel_assistant',
embedding_model_name='BAAI/bge-m3',
mid_term_capacity=1000,
mid_term_heat_threshold=13.0,
mid_term_similarity_threshold=0.7,
short_term_capacity=2
)
python3 comprehensive_test.py
# Make sure to use a different data storage path when switching embedding models.

📖Docker Getting Started

You can run MemoryOS using Docker in two ways: by pulling the official image or by building your own image from the Dockerfile. Both methods are suitable for quick setup, testing, and production deployment.

Option 1: Pull the Official Image

# Pull the latest official image
docker pull ghcr.io/bai-lab/memoryos:latest
docker run -it --gpus=all ghcr.io/bai-lab/memoryos /bin/bash

Option 2: Build from Dockerfile

# Clone the repository
git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS
# Build the Docker image (make sure Dockerfile is present)
docker build -t memoryos .
docker run -it --gpus=all memoryos /bin/bash

📖Playground Getting Started

cd MemoryOS/memoryos-playground/memdemo/
python3 app.py

After launching the main interface, fill in the corresponding User ID, OpenAI API Key, Model, and API Base URL. image

After entering the system, you can use the Help button to view the functions of each button.

The user's memory is stored under MemoryOS-main/memoryos-playground/memdemo/data

image

🎯Reproduce

cdeval
Configure API keys and other settings in the code
python3 main_loco_parse.py
python3 evalution_loco.py

☑️ Todo List

MemoryOS is continuously evolving! Here's what's coming:

  • Ongoing🚀: Integrated Benchmarks: Standardized benchmark suite with a cross-model comparison for Mem0, Zep, and OpenAI
  • 🏗️ Enabling seamless Memory exchange and integration across diverse systems.

Have ideas or suggestions? Contributions are welcome! Please feel free to submit issues or pull requests! 🚀

📖 Documentation

A more detailed documentation is coming soon 🚀, and we will update in the Documentation page.

📣 Citation

If you find this project useful, please consider citing our paper:

@misc{kang2025memoryosaiagent,
title={Memory OS of AI Agent}, author={Jiazheng Kang and Mingming Ji and Zhe Zhao and Ting Bai},
year={2025},
eprint={2506.06326},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2506.06326}, }

🎯 Contact us

BaiJia AI is a research team guided by Associate Professor Bai Ting from Beijing University of Posts and Telecommunications, dedicated to creating emotionally rich and super-memory brains for AI agents.

🤝 Cooperation and Suggestions: baiting@bupt.edu.cn

📣Follow our WeChat official account, join the WeChat group or Discordhttps://discord.gg/SqVj7QvZ to get the latest updates.

百家Agent公众号微信群二维码

🌟 Star History

Star History Chart

Disclaimer

This project, MemoryOS (Memory Operation System), is developed by the BaiJia AI team and has no affiliation with memoryOS (https://memoryos.com). The use of the name "MemoryOS" herein is solely for academic discussion purposes.

About

[EMNLP 2025 Oral] MemoryOS is designed to provide a memory operating system for personalized AI agents.

Topics

Resources

Stars

1.6k stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

MemoryOS

logo

Readme:中文Mem0 DiscordMem0 PyPI - DownloadsNpm packageDiscordLicense: Apache 2.0

🎉 If you like our project, please give us a star ⭐ on GitHub for the latest update.

MemoryOS is designed to provide a memory operating system for personalized AI agents, enabling more coherent, personalized, and context-aware interactions. Drawing inspiration from memory management principles in operating systems, it adopts a hierarchical storage architecture with four core modules: Storage, Updating, Retrieval, and Generation, to achieve comprehensive and efficient memory management. On the LoCoMo benchmark, the model achieved average improvements of 49.11% and 46.18% in F1 and BLEU-1 scores.

✨Key Features

  • 🏆 TOP Performance in Memory Management
    The SOTA results in long-term memory benchmarks, boosting F1 scores by 49.11% and BLEU-1 by 46.18% on the LoCoMo benchmark.

  • 🧠 Plug-and-Play Memory Management Architecture
    Enables seamless integration of pluggable memory modules—including storage engines, update strategies, and retrieval algorithms.

  • Agent Workflow Create with Ease (MemoryOS-MCP)
    Inject long-term memory capabilities into various AI applications by calling modular tools provided by the MCP Server.

  • 🌐 Universal LLM Support
    MemoryOS seamlessly integrates with a wide range of LLMs (e.g., OpenAI, Deepseek, Qwen ...)

🧠 Memory Family

Welcome to our Memory Family, a research line dedicated to exploring AI Memory.

Survey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends
TL;DR: Provides a unified theoretical framework for AI Memory, introducing a comprehensive taxonomy and systematically analyzing memory mechanisms, applications, and evaluation methods.
📄 Paper: http://github.com/BAI-LAB/Survey-on-AI-Memory/blob/main/Survey%20on%20AI%20Memory.pdf

LightSearcher: Efficient DeepSearch via Experiential Memory
TL;DR: Introduces experiential memory into deep search systems, enabling models to learn from successful reasoning trajectories and improve search efficiency.
📄 Paper: https://arxiv.org/abs/2512.06653

Memory OS of AI Agent
TL;DR: Proposes a memory operating system for AI agents that manages short-term, mid-term, and long-term personal memory through hierarchical storage, dynamic updating, retrieval, and generation, improving coherence and personalization in long conversations.
📄 Paper: https://arxiv.org/abs/2506.06326

📣 Latest News

  • [new] 🔥🔥🔥 [2026-01-15]: ✨ReleasedSurvey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends!
  • [new] 🔥🔥 [2025-09-11]: 🚀Open-sourced the Playground platform!
  • [new] 🔥🔥 [2025-08-21]: 🎉Accepted by EMNLP 2025 main conference!
  • [new] 🔥 [2025-07-15]: 🔌 Support for Vector Database Chromadb
  • [new] 🔥 [2025-07-15]: 🔌 IntegrateDocker into deployment
  • [new][2025-07-14]: ⚡ Acceleration of MCP parallelization
  • [new][2025-07-14]: 🔌 Support for BGE-M3 & Qwen3 embeddings on PyPI and MCP.
  • [new][2025-07-09]: 📊 Evaluation of the MemoryOS on LoCoMo Dataset: Publicly Available 👉Reproduce.
  • [new][2025-07-08]: 🏆 New Config Parameter
  • New parameter configuration: similarity_threshold. For configuration file, see 📖 Documentation page.
  • [new][2025-07-07]: 🚀5 Times Faster
  • The MemoryOS (PYPI) implementation has been upgraded: 5 times faster (reduction in latency) through parallelization optimizations.
  • [new][2025-07-07]: ✨R1 models Support Now
  • MemoryOS supports configuring and using inference models such as Deepseek-r1 and Qwen3..
  • [new][2025-07-07]: ✨MemoryOS Playground Launched
  • The Playground of MemoryOS Platform has been launched! 👉MemoryOS Platform. If you need an Invitation Code, please feel free to reach Contact US.
  • [new][2025-06-15]:🛠️ Open-sourced MemoryOS-MCP released! Now configurable on agent clients for seamless integration and customization. 👉 MemoryOS-MCP.
  • [2025-05-30]: 📄 Paper-Memory OS of AI Agent is available on arXiv: https://arxiv.org/abs/2506.06326.
  • [2025-05-30]: Initial version of MemoryOS launched! Featuring short-term, mid-term, and long-term persona Memory with automated user profile and knowledge updating.

🔥 MemoryOS Support List

TypeNameOpen SourceSupportConfigurationDescription
Agent ClientClaude Desktopclaude_desktop_config.jsonAnthropic official client
ClineVS Code settingsVS Code extension
CursorSettings panelAI code editor
Model ProviderOpenAIOPENAI_API_KEYGPT-4, GPT-3.5, etc.
AnthropicANTHROPIC_API_KEYClaude series
Deepseek-R1DEEPSEEK_API_KEYChinese large model
Qwen/Qwen3QWEN_API_KEYAlibaba Qwen
vLLMLocal deploymentLocal model inference
Llama_factoryLocal deploymentLocal fine-tuning deployment
All model calls use the OpenAI API interface; you need to supply the API key and base URL.

📑 Table of Contents

🏗️ System Architecture

image

🏗️ Project Structure

memoryos/
├── __init__.py # Initializes the MemoryOS package
├── __pycache__/ # Python cache directory (auto-generated)
├── long_term.py # Manages long-term persona memory (user profile, knowledge)
├── memoryos.py # Main class for MemoryOS, orchestrating all components
├── mid_term.py # Manages mid-term memory, consolidating short-term interactions
├── prompts.py # Contains prompts used for LLM interactions (e.g., summarization, analysis)
├── retriever.py # Retrieves relevant information from all memory layers
├── short_term.py # Manages short-term memory for recent interactions
├── updater.py # Processes memory updates, including promoting information between layers
└── utils.py # Utility functions used across the library

📖MemoryOS_PyPi Getting Started

Prerequisites

  • Python >= 3.10
  • conda create -n MemoryOS python=3.10
  • conda activate MemoryOS

Installation

Download from PyPi

pip install memoryos-pro -i https://pypi.org/simple

Download from GitHub (latest version)

git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS/memoryos-pypi
pip install -r requirements.txt

Basic Usage

importosfrommemoryosimportMemoryos# --- Basic Configuration ---USER_ID="demo_user"ASSISTANT_ID="demo_assistant"API_KEY="YOUR_OPENAI_API_KEY"# Replace with your keyBASE_URL=""# Optional: if using a custom OpenAI endpointDATA_STORAGE_PATH="./simple_demo_data"LLM_MODEL="gpt-4o-mini"defsimple_demo():
print("MemoryOS Simple Demo")
# 1. Initialize MemoryOSprint("Initializing MemoryOS...")
try:
memo=Memoryos(
user_id=USER_ID,
openai_api_key=API_KEY,
openai_base_url=BASE_URL,
data_storage_path=DATA_STORAGE_PATH,
llm_model=LLM_MODEL,
assistant_id=ASSISTANT_ID,
short_term_capacity=7, mid_term_heat_threshold=5, retrieval_queue_capacity=7,
long_term_knowledge_capacity=100,
#Support Qwen/Qwen3-Embedding-0.6B, BAAI/bge-m3, all-MiniLM-L6-v2embedding_model_name="BAAI/bge-m3"
)
print("MemoryOS initialized successfully!\n")
exceptExceptionase:
print(f"Error: {e}")
return# 2. Add some basic memoriesprint("Adding some memories...")
memo.add_memory(
user_input="Hi! I'm Tom, I work as a data scientist in San Francisco.",
agent_response="Hello Tom! Nice to meet you. Data science is such an exciting field. What kind of data do you work with?"
)
test_query="What do you remember about my job?"print(f"User: {test_query}")
response=memo.get_response(
query=test_query,
)
print(f"Assistant: {response}")
if__name__=="__main__":
simple_demo()

📖 MemoryOS-MCP Getting Started

🔧 Core Tools

1. add_memory

Saves the content of the conversation between the user and the AI assistant into the memory system, for the purpose of building a persistent dialogue history and contextual record.

2. retrieve_memory

Retrieves related historical dialogues, user preferences, and knowledge information from the memory system based on a query, helping the AI assistant understand the user’s needs and background.

3. get_user_profile

Obtains a user profile generated from the analysis of historical dialogues, including the user’s personality traits, interest preferences, and relevant knowledge background.

1. Install dependencies

cd memoryos-mcp
pip install -r requirements.txt

2. configuration

Edit config.json

{
"user_id": "user ID",
"openai_api_key": "OpenAI API key",
"openai_base_url": "https://api.openai.com/v1",
"data_storage_path": "./memoryos_data",
"assistant_id": "assistant_id",
"llm_model": "gpt-4o-mini""embedding_model_name":"BAAI/bge-m3"
}

3. Start the server

python server_new.py --config config.json

4. Test

python test_comprehensive.py

5. Configure it on Cline and other clients

Copy the mcp.json file over, and make sure the file path is correct.

command": "/root/miniconda3/envs/memos/bin/python"#This should be changed to the Python interpreter of your virtual environment

📖MemoryOS_Chromadb Getting Started

1. Install dependencies

cd memoryos-chromadb
pip install -r requirements.txt

2. Test

The edit information is in comprehensive_test.py
memoryos = Memoryos(
user_id='travel_user_test',
openai_api_key='',
openai_base_url='',
data_storage_path='./comprehensive_test_data',
assistant_id='travel_assistant',
embedding_model_name='BAAI/bge-m3',
mid_term_capacity=1000,
mid_term_heat_threshold=13.0,
mid_term_similarity_threshold=0.7,
short_term_capacity=2
)
python3 comprehensive_test.py
# Make sure to use a different data storage path when switching embedding models.

📖Docker Getting Started

You can run MemoryOS using Docker in two ways: by pulling the official image or by building your own image from the Dockerfile. Both methods are suitable for quick setup, testing, and production deployment.

Option 1: Pull the Official Image

# Pull the latest official image
docker pull ghcr.io/bai-lab/memoryos:latest
docker run -it --gpus=all ghcr.io/bai-lab/memoryos /bin/bash

Option 2: Build from Dockerfile

# Clone the repository
git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS
# Build the Docker image (make sure Dockerfile is present)
docker build -t memoryos .
docker run -it --gpus=all memoryos /bin/bash

📖Playground Getting Started

cd MemoryOS/memoryos-playground/memdemo/
python3 app.py

After launching the main interface, fill in the corresponding User ID, OpenAI API Key, Model, and API Base URL. image

After entering the system, you can use the Help button to view the functions of each button.

The user's memory is stored under MemoryOS-main/memoryos-playground/memdemo/data

image

🎯Reproduce

cdeval
Configure API keys and other settings in the code
python3 main_loco_parse.py
python3 evalution_loco.py

☑️ Todo List

MemoryOS is continuously evolving! Here's what's coming:

  • Ongoing🚀: Integrated Benchmarks: Standardized benchmark suite with a cross-model comparison for Mem0, Zep, and OpenAI
  • 🏗️ Enabling seamless Memory exchange and integration across diverse systems.

Have ideas or suggestions? Contributions are welcome! Please feel free to submit issues or pull requests! 🚀

📖 Documentation

A more detailed documentation is coming soon 🚀, and we will update in the Documentation page.

📣 Citation

If you find this project useful, please consider citing our paper:

@misc{kang2025memoryosaiagent,
title={Memory OS of AI Agent}, author={Jiazheng Kang and Mingming Ji and Zhe Zhao and Ting Bai},
year={2025},
eprint={2506.06326},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2506.06326}, }

🎯 Contact us

BaiJia AI is a research team guided by Associate Professor Bai Ting from Beijing University of Posts and Telecommunications, dedicated to creating emotionally rich and super-memory brains for AI agents.

🤝 Cooperation and Suggestions: baiting@bupt.edu.cn

📣Follow our WeChat official account, join the WeChat group or Discordhttps://discord.gg/SqVj7QvZ to get the latest updates.

百家Agent公众号微信群二维码

🌟 Star History

Star History Chart

Disclaimer

This project, MemoryOS (Memory Operation System), is developed by the BaiJia AI team and has no affiliation with memoryOS (https://memoryos.com). The use of the name "MemoryOS" herein is solely for academic discussion purposes.

About

[EMNLP 2025 Oral] MemoryOS is designed to provide a memory operating system for personalized AI agents.

Topics

Resources

Stars

1.6k stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MemoryOS

logo

Readme:中文Mem0 DiscordMem0 PyPI - DownloadsNpm packageDiscordLicense: Apache 2.0

🎉 If you like our project, please give us a star ⭐ on GitHub for the latest update.

MemoryOS is designed to provide a memory operating system for personalized AI agents, enabling more coherent, personalized, and context-aware interactions. Drawing inspiration from memory management principles in operating systems, it adopts a hierarchical storage architecture with four core modules: Storage, Updating, Retrieval, and Generation, to achieve comprehensive and efficient memory management. On the LoCoMo benchmark, the model achieved average improvements of 49.11% and 46.18% in F1 and BLEU-1 scores.

✨Key Features

  • 🏆 TOP Performance in Memory Management
    The SOTA results in long-term memory benchmarks, boosting F1 scores by 49.11% and BLEU-1 by 46.18% on the LoCoMo benchmark.

  • 🧠 Plug-and-Play Memory Management Architecture
    Enables seamless integration of pluggable memory modules—including storage engines, update strategies, and retrieval algorithms.

  • Agent Workflow Create with Ease (MemoryOS-MCP)
    Inject long-term memory capabilities into various AI applications by calling modular tools provided by the MCP Server.

  • 🌐 Universal LLM Support
    MemoryOS seamlessly integrates with a wide range of LLMs (e.g., OpenAI, Deepseek, Qwen ...)

🧠 Memory Family

Welcome to our Memory Family, a research line dedicated to exploring AI Memory.

Survey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends
TL;DR: Provides a unified theoretical framework for AI Memory, introducing a comprehensive taxonomy and systematically analyzing memory mechanisms, applications, and evaluation methods.
📄 Paper: http://github.com/BAI-LAB/Survey-on-AI-Memory/blob/main/Survey%20on%20AI%20Memory.pdf

LightSearcher: Efficient DeepSearch via Experiential Memory
TL;DR: Introduces experiential memory into deep search systems, enabling models to learn from successful reasoning trajectories and improve search efficiency.
📄 Paper: https://arxiv.org/abs/2512.06653

Memory OS of AI Agent
TL;DR: Proposes a memory operating system for AI agents that manages short-term, mid-term, and long-term personal memory through hierarchical storage, dynamic updating, retrieval, and generation, improving coherence and personalization in long conversations.
📄 Paper: https://arxiv.org/abs/2506.06326

📣 Latest News

  • [new] 🔥🔥🔥 [2026-01-15]: ✨ReleasedSurvey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends!
  • [new] 🔥🔥 [2025-09-11]: 🚀Open-sourced the Playground platform!
  • [new] 🔥🔥 [2025-08-21]: 🎉Accepted by EMNLP 2025 main conference!
  • [new] 🔥 [2025-07-15]: 🔌 Support for Vector Database Chromadb
  • [new] 🔥 [2025-07-15]: 🔌 IntegrateDocker into deployment
  • [new][2025-07-14]: ⚡ Acceleration of MCP parallelization
  • [new][2025-07-14]: 🔌 Support for BGE-M3 & Qwen3 embeddings on PyPI and MCP.
  • [new][2025-07-09]: 📊 Evaluation of the MemoryOS on LoCoMo Dataset: Publicly Available 👉Reproduce.
  • [new][2025-07-08]: 🏆 New Config Parameter
  • New parameter configuration: similarity_threshold. For configuration file, see 📖 Documentation page.
  • [new][2025-07-07]: 🚀5 Times Faster
  • The MemoryOS (PYPI) implementation has been upgraded: 5 times faster (reduction in latency) through parallelization optimizations.
  • [new][2025-07-07]: ✨R1 models Support Now
  • MemoryOS supports configuring and using inference models such as Deepseek-r1 and Qwen3..
  • [new][2025-07-07]: ✨MemoryOS Playground Launched
  • The Playground of MemoryOS Platform has been launched! 👉MemoryOS Platform. If you need an Invitation Code, please feel free to reach Contact US.
  • [new][2025-06-15]:🛠️ Open-sourced MemoryOS-MCP released! Now configurable on agent clients for seamless integration and customization. 👉 MemoryOS-MCP.
  • [2025-05-30]: 📄 Paper-Memory OS of AI Agent is available on arXiv: https://arxiv.org/abs/2506.06326.
  • [2025-05-30]: Initial version of MemoryOS launched! Featuring short-term, mid-term, and long-term persona Memory with automated user profile and knowledge updating.

🔥 MemoryOS Support List

TypeNameOpen SourceSupportConfigurationDescription
Agent ClientClaude Desktopclaude_desktop_config.jsonAnthropic official client
ClineVS Code settingsVS Code extension
CursorSettings panelAI code editor
Model ProviderOpenAIOPENAI_API_KEYGPT-4, GPT-3.5, etc.
AnthropicANTHROPIC_API_KEYClaude series
Deepseek-R1DEEPSEEK_API_KEYChinese large model
Qwen/Qwen3QWEN_API_KEYAlibaba Qwen
vLLMLocal deploymentLocal model inference
Llama_factoryLocal deploymentLocal fine-tuning deployment
All model calls use the OpenAI API interface; you need to supply the API key and base URL.

📑 Table of Contents

🏗️ System Architecture

image

🏗️ Project Structure

memoryos/
├── __init__.py # Initializes the MemoryOS package
├── __pycache__/ # Python cache directory (auto-generated)
├── long_term.py # Manages long-term persona memory (user profile, knowledge)
├── memoryos.py # Main class for MemoryOS, orchestrating all components
├── mid_term.py # Manages mid-term memory, consolidating short-term interactions
├── prompts.py # Contains prompts used for LLM interactions (e.g., summarization, analysis)
├── retriever.py # Retrieves relevant information from all memory layers
├── short_term.py # Manages short-term memory for recent interactions
├── updater.py # Processes memory updates, including promoting information between layers
└── utils.py # Utility functions used across the library

📖MemoryOS_PyPi Getting Started

Prerequisites

  • Python >= 3.10
  • conda create -n MemoryOS python=3.10
  • conda activate MemoryOS

Installation

Download from PyPi

pip install memoryos-pro -i https://pypi.org/simple

Download from GitHub (latest version)

git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS/memoryos-pypi
pip install -r requirements.txt

Basic Usage

importosfrommemoryosimportMemoryos# --- Basic Configuration ---USER_ID="demo_user"ASSISTANT_ID="demo_assistant"API_KEY="YOUR_OPENAI_API_KEY"# Replace with your keyBASE_URL=""# Optional: if using a custom OpenAI endpointDATA_STORAGE_PATH="./simple_demo_data"LLM_MODEL="gpt-4o-mini"defsimple_demo():
print("MemoryOS Simple Demo")
# 1. Initialize MemoryOSprint("Initializing MemoryOS...")
try:
memo=Memoryos(
user_id=USER_ID,
openai_api_key=API_KEY,
openai_base_url=BASE_URL,
data_storage_path=DATA_STORAGE_PATH,
llm_model=LLM_MODEL,
assistant_id=ASSISTANT_ID,
short_term_capacity=7, mid_term_heat_threshold=5, retrieval_queue_capacity=7,
long_term_knowledge_capacity=100,
#Support Qwen/Qwen3-Embedding-0.6B, BAAI/bge-m3, all-MiniLM-L6-v2embedding_model_name="BAAI/bge-m3"
)
print("MemoryOS initialized successfully!\n")
exceptExceptionase:
print(f"Error: {e}")
return# 2. Add some basic memoriesprint("Adding some memories...")
memo.add_memory(
user_input="Hi! I'm Tom, I work as a data scientist in San Francisco.",
agent_response="Hello Tom! Nice to meet you. Data science is such an exciting field. What kind of data do you work with?"
)
test_query="What do you remember about my job?"print(f"User: {test_query}")
response=memo.get_response(
query=test_query,
)
print(f"Assistant: {response}")
if__name__=="__main__":
simple_demo()

📖 MemoryOS-MCP Getting Started

🔧 Core Tools

1. add_memory

Saves the content of the conversation between the user and the AI assistant into the memory system, for the purpose of building a persistent dialogue history and contextual record.

2. retrieve_memory

Retrieves related historical dialogues, user preferences, and knowledge information from the memory system based on a query, helping the AI assistant understand the user’s needs and background.

3. get_user_profile

Obtains a user profile generated from the analysis of historical dialogues, including the user’s personality traits, interest preferences, and relevant knowledge background.

1. Install dependencies

cd memoryos-mcp
pip install -r requirements.txt

2. configuration

Edit config.json

{
"user_id": "user ID",
"openai_api_key": "OpenAI API key",
"openai_base_url": "https://api.openai.com/v1",
"data_storage_path": "./memoryos_data",
"assistant_id": "assistant_id",
"llm_model": "gpt-4o-mini""embedding_model_name":"BAAI/bge-m3"
}

3. Start the server

python server_new.py --config config.json

4. Test

python test_comprehensive.py

5. Configure it on Cline and other clients

Copy the mcp.json file over, and make sure the file path is correct.

command": "/root/miniconda3/envs/memos/bin/python"#This should be changed to the Python interpreter of your virtual environment

📖MemoryOS_Chromadb Getting Started

1. Install dependencies

cd memoryos-chromadb
pip install -r requirements.txt

2. Test

The edit information is in comprehensive_test.py
memoryos = Memoryos(
user_id='travel_user_test',
openai_api_key='',
openai_base_url='',
data_storage_path='./comprehensive_test_data',
assistant_id='travel_assistant',
embedding_model_name='BAAI/bge-m3',
mid_term_capacity=1000,
mid_term_heat_threshold=13.0,
mid_term_similarity_threshold=0.7,
short_term_capacity=2
)
python3 comprehensive_test.py
# Make sure to use a different data storage path when switching embedding models.

📖Docker Getting Started

You can run MemoryOS using Docker in two ways: by pulling the official image or by building your own image from the Dockerfile. Both methods are suitable for quick setup, testing, and production deployment.

Option 1: Pull the Official Image

# Pull the latest official image
docker pull ghcr.io/bai-lab/memoryos:latest
docker run -it --gpus=all ghcr.io/bai-lab/memoryos /bin/bash

Option 2: Build from Dockerfile

# Clone the repository
git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS
# Build the Docker image (make sure Dockerfile is present)
docker build -t memoryos .
docker run -it --gpus=all memoryos /bin/bash

📖Playground Getting Started

cd MemoryOS/memoryos-playground/memdemo/
python3 app.py

After launching the main interface, fill in the corresponding User ID, OpenAI API Key, Model, and API Base URL. image

After entering the system, you can use the Help button to view the functions of each button.

The user's memory is stored under MemoryOS-main/memoryos-playground/memdemo/data

image

🎯Reproduce

cdeval
Configure API keys and other settings in the code
python3 main_loco_parse.py
python3 evalution_loco.py

☑️ Todo List

MemoryOS is continuously evolving! Here's what's coming:

  • Ongoing🚀: Integrated Benchmarks: Standardized benchmark suite with a cross-model comparison for Mem0, Zep, and OpenAI
  • 🏗️ Enabling seamless Memory exchange and integration across diverse systems.

Have ideas or suggestions? Contributions are welcome! Please feel free to submit issues or pull requests! 🚀

📖 Documentation

A more detailed documentation is coming soon 🚀, and we will update in the Documentation page.

📣 Citation

If you find this project useful, please consider citing our paper:

@misc{kang2025memoryosaiagent,
title={Memory OS of AI Agent}, author={Jiazheng Kang and Mingming Ji and Zhe Zhao and Ting Bai},
year={2025},
eprint={2506.06326},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2506.06326}, }

🎯 Contact us

BaiJia AI is a research team guided by Associate Professor Bai Ting from Beijing University of Posts and Telecommunications, dedicated to creating emotionally rich and super-memory brains for AI agents.

🤝 Cooperation and Suggestions: baiting@bupt.edu.cn

📣Follow our WeChat official account, join the WeChat group or Discordhttps://discord.gg/SqVj7QvZ to get the latest updates.

百家Agent公众号微信群二维码

🌟 Star History

Star History Chart

Disclaimer

This project, MemoryOS (Memory Operation System), is developed by the BaiJia AI team and has no affiliation with memoryOS (https://memoryos.com). The use of the name "MemoryOS" herein is solely for academic discussion purposes.

About

[EMNLP 2025 Oral] MemoryOS is designed to provide a memory operating system for personalized AI agents.

Topics

Resources

Stars

1.6k stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MemoryOS

logo

Readme:中文Mem0 DiscordMem0 PyPI - DownloadsNpm packageDiscordLicense: Apache 2.0

🎉 If you like our project, please give us a star ⭐ on GitHub for the latest update.

MemoryOS is designed to provide a memory operating system for personalized AI agents, enabling more coherent, personalized, and context-aware interactions. Drawing inspiration from memory management principles in operating systems, it adopts a hierarchical storage architecture with four core modules: Storage, Updating, Retrieval, and Generation, to achieve comprehensive and efficient memory management. On the LoCoMo benchmark, the model achieved average improvements of 49.11% and 46.18% in F1 and BLEU-1 scores.

✨Key Features

  • 🏆 TOP Performance in Memory Management
    The SOTA results in long-term memory benchmarks, boosting F1 scores by 49.11% and BLEU-1 by 46.18% on the LoCoMo benchmark.

  • 🧠 Plug-and-Play Memory Management Architecture
    Enables seamless integration of pluggable memory modules—including storage engines, update strategies, and retrieval algorithms.

  • Agent Workflow Create with Ease (MemoryOS-MCP)
    Inject long-term memory capabilities into various AI applications by calling modular tools provided by the MCP Server.

  • 🌐 Universal LLM Support
    MemoryOS seamlessly integrates with a wide range of LLMs (e.g., OpenAI, Deepseek, Qwen ...)

🧠 Memory Family

Welcome to our Memory Family, a research line dedicated to exploring AI Memory.

Survey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends
TL;DR: Provides a unified theoretical framework for AI Memory, introducing a comprehensive taxonomy and systematically analyzing memory mechanisms, applications, and evaluation methods.
📄 Paper: http://github.com/BAI-LAB/Survey-on-AI-Memory/blob/main/Survey%20on%20AI%20Memory.pdf

LightSearcher: Efficient DeepSearch via Experiential Memory
TL;DR: Introduces experiential memory into deep search systems, enabling models to learn from successful reasoning trajectories and improve search efficiency.
📄 Paper: https://arxiv.org/abs/2512.06653

Memory OS of AI Agent
TL;DR: Proposes a memory operating system for AI agents that manages short-term, mid-term, and long-term personal memory through hierarchical storage, dynamic updating, retrieval, and generation, improving coherence and personalization in long conversations.
📄 Paper: https://arxiv.org/abs/2506.06326

📣 Latest News

  • [new] 🔥🔥🔥 [2026-01-15]: ✨ReleasedSurvey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends!
  • [new] 🔥🔥 [2025-09-11]: 🚀Open-sourced the Playground platform!
  • [new] 🔥🔥 [2025-08-21]: 🎉Accepted by EMNLP 2025 main conference!
  • [new] 🔥 [2025-07-15]: 🔌 Support for Vector Database Chromadb
  • [new] 🔥 [2025-07-15]: 🔌 IntegrateDocker into deployment
  • [new][2025-07-14]: ⚡ Acceleration of MCP parallelization
  • [new][2025-07-14]: 🔌 Support for BGE-M3 & Qwen3 embeddings on PyPI and MCP.
  • [new][2025-07-09]: 📊 Evaluation of the MemoryOS on LoCoMo Dataset: Publicly Available 👉Reproduce.
  • [new][2025-07-08]: 🏆 New Config Parameter
  • New parameter configuration: similarity_threshold. For configuration file, see 📖 Documentation page.
  • [new][2025-07-07]: 🚀5 Times Faster
  • The MemoryOS (PYPI) implementation has been upgraded: 5 times faster (reduction in latency) through parallelization optimizations.
  • [new][2025-07-07]: ✨R1 models Support Now
  • MemoryOS supports configuring and using inference models such as Deepseek-r1 and Qwen3..
  • [new][2025-07-07]: ✨MemoryOS Playground Launched
  • The Playground of MemoryOS Platform has been launched! 👉MemoryOS Platform. If you need an Invitation Code, please feel free to reach Contact US.
  • [new][2025-06-15]:🛠️ Open-sourced MemoryOS-MCP released! Now configurable on agent clients for seamless integration and customization. 👉 MemoryOS-MCP.
  • [2025-05-30]: 📄 Paper-Memory OS of AI Agent is available on arXiv: https://arxiv.org/abs/2506.06326.
  • [2025-05-30]: Initial version of MemoryOS launched! Featuring short-term, mid-term, and long-term persona Memory with automated user profile and knowledge updating.

🔥 MemoryOS Support List

TypeNameOpen SourceSupportConfigurationDescription
Agent ClientClaude Desktopclaude_desktop_config.jsonAnthropic official client
ClineVS Code settingsVS Code extension
CursorSettings panelAI code editor
Model ProviderOpenAIOPENAI_API_KEYGPT-4, GPT-3.5, etc.
AnthropicANTHROPIC_API_KEYClaude series
Deepseek-R1DEEPSEEK_API_KEYChinese large model
Qwen/Qwen3QWEN_API_KEYAlibaba Qwen
vLLMLocal deploymentLocal model inference
Llama_factoryLocal deploymentLocal fine-tuning deployment
All model calls use the OpenAI API interface; you need to supply the API key and base URL.

📑 Table of Contents

🏗️ System Architecture

image

🏗️ Project Structure

memoryos/
├── __init__.py # Initializes the MemoryOS package
├── __pycache__/ # Python cache directory (auto-generated)
├── long_term.py # Manages long-term persona memory (user profile, knowledge)
├── memoryos.py # Main class for MemoryOS, orchestrating all components
├── mid_term.py # Manages mid-term memory, consolidating short-term interactions
├── prompts.py # Contains prompts used for LLM interactions (e.g., summarization, analysis)
├── retriever.py # Retrieves relevant information from all memory layers
├── short_term.py # Manages short-term memory for recent interactions
├── updater.py # Processes memory updates, including promoting information between layers
└── utils.py # Utility functions used across the library

📖MemoryOS_PyPi Getting Started

Prerequisites

  • Python >= 3.10
  • conda create -n MemoryOS python=3.10
  • conda activate MemoryOS

Installation

Download from PyPi

pip install memoryos-pro -i https://pypi.org/simple

Download from GitHub (latest version)

git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS/memoryos-pypi
pip install -r requirements.txt

Basic Usage

importosfrommemoryosimportMemoryos# --- Basic Configuration ---USER_ID="demo_user"ASSISTANT_ID="demo_assistant"API_KEY="YOUR_OPENAI_API_KEY"# Replace with your keyBASE_URL=""# Optional: if using a custom OpenAI endpointDATA_STORAGE_PATH="./simple_demo_data"LLM_MODEL="gpt-4o-mini"defsimple_demo():
print("MemoryOS Simple Demo")
# 1. Initialize MemoryOSprint("Initializing MemoryOS...")
try:
memo=Memoryos(
user_id=USER_ID,
openai_api_key=API_KEY,
openai_base_url=BASE_URL,
data_storage_path=DATA_STORAGE_PATH,
llm_model=LLM_MODEL,
assistant_id=ASSISTANT_ID,
short_term_capacity=7, mid_term_heat_threshold=5, retrieval_queue_capacity=7,
long_term_knowledge_capacity=100,
#Support Qwen/Qwen3-Embedding-0.6B, BAAI/bge-m3, all-MiniLM-L6-v2embedding_model_name="BAAI/bge-m3"
)
print("MemoryOS initialized successfully!\n")
exceptExceptionase:
print(f"Error: {e}")
return# 2. Add some basic memoriesprint("Adding some memories...")
memo.add_memory(
user_input="Hi! I'm Tom, I work as a data scientist in San Francisco.",
agent_response="Hello Tom! Nice to meet you. Data science is such an exciting field. What kind of data do you work with?"
)
test_query="What do you remember about my job?"print(f"User: {test_query}")
response=memo.get_response(
query=test_query,
)
print(f"Assistant: {response}")
if__name__=="__main__":
simple_demo()

📖 MemoryOS-MCP Getting Started

🔧 Core Tools

1. add_memory

Saves the content of the conversation between the user and the AI assistant into the memory system, for the purpose of building a persistent dialogue history and contextual record.

2. retrieve_memory

Retrieves related historical dialogues, user preferences, and knowledge information from the memory system based on a query, helping the AI assistant understand the user’s needs and background.

3. get_user_profile

Obtains a user profile generated from the analysis of historical dialogues, including the user’s personality traits, interest preferences, and relevant knowledge background.

1. Install dependencies

cd memoryos-mcp
pip install -r requirements.txt

2. configuration

Edit config.json

{
"user_id": "user ID",
"openai_api_key": "OpenAI API key",
"openai_base_url": "https://api.openai.com/v1",
"data_storage_path": "./memoryos_data",
"assistant_id": "assistant_id",
"llm_model": "gpt-4o-mini""embedding_model_name":"BAAI/bge-m3"
}

3. Start the server

python server_new.py --config config.json

4. Test

python test_comprehensive.py

5. Configure it on Cline and other clients

Copy the mcp.json file over, and make sure the file path is correct.

command": "/root/miniconda3/envs/memos/bin/python"#This should be changed to the Python interpreter of your virtual environment

📖MemoryOS_Chromadb Getting Started

1. Install dependencies

cd memoryos-chromadb
pip install -r requirements.txt

2. Test

The edit information is in comprehensive_test.py
memoryos = Memoryos(
user_id='travel_user_test',
openai_api_key='',
openai_base_url='',
data_storage_path='./comprehensive_test_data',
assistant_id='travel_assistant',
embedding_model_name='BAAI/bge-m3',
mid_term_capacity=1000,
mid_term_heat_threshold=13.0,
mid_term_similarity_threshold=0.7,
short_term_capacity=2
)
python3 comprehensive_test.py
# Make sure to use a different data storage path when switching embedding models.

📖Docker Getting Started

You can run MemoryOS using Docker in two ways: by pulling the official image or by building your own image from the Dockerfile. Both methods are suitable for quick setup, testing, and production deployment.

Option 1: Pull the Official Image

# Pull the latest official image
docker pull ghcr.io/bai-lab/memoryos:latest
docker run -it --gpus=all ghcr.io/bai-lab/memoryos /bin/bash

Option 2: Build from Dockerfile

# Clone the repository
git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS
# Build the Docker image (make sure Dockerfile is present)
docker build -t memoryos .
docker run -it --gpus=all memoryos /bin/bash

📖Playground Getting Started

cd MemoryOS/memoryos-playground/memdemo/
python3 app.py

After launching the main interface, fill in the corresponding User ID, OpenAI API Key, Model, and API Base URL. image

After entering the system, you can use the Help button to view the functions of each button.

The user's memory is stored under MemoryOS-main/memoryos-playground/memdemo/data

image

🎯Reproduce

cdeval
Configure API keys and other settings in the code
python3 main_loco_parse.py
python3 evalution_loco.py

☑️ Todo List

MemoryOS is continuously evolving! Here's what's coming:

  • Ongoing🚀: Integrated Benchmarks: Standardized benchmark suite with a cross-model comparison for Mem0, Zep, and OpenAI
  • 🏗️ Enabling seamless Memory exchange and integration across diverse systems.

Have ideas or suggestions? Contributions are welcome! Please feel free to submit issues or pull requests! 🚀

📖 Documentation

A more detailed documentation is coming soon 🚀, and we will update in the Documentation page.

📣 Citation

If you find this project useful, please consider citing our paper:

@misc{kang2025memoryosaiagent,
title={Memory OS of AI Agent}, author={Jiazheng Kang and Mingming Ji and Zhe Zhao and Ting Bai},
year={2025},
eprint={2506.06326},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2506.06326}, }

🎯 Contact us

BaiJia AI is a research team guided by Associate Professor Bai Ting from Beijing University of Posts and Telecommunications, dedicated to creating emotionally rich and super-memory brains for AI agents.

🤝 Cooperation and Suggestions: baiting@bupt.edu.cn

📣Follow our WeChat official account, join the WeChat group or Discordhttps://discord.gg/SqVj7QvZ to get the latest updates.

百家Agent公众号微信群二维码

🌟 Star History

Star History Chart

Disclaimer

This project, MemoryOS (Memory Operation System), is developed by the BaiJia AI team and has no affiliation with memoryOS (https://memoryos.com). The use of the name "MemoryOS" herein is solely for academic discussion purposes.

About

[EMNLP 2025 Oral] MemoryOS is designed to provide a memory operating system for personalized AI agents.

Topics

Resources

Stars

1.6k stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

MemoryOS

logo

Readme:中文Mem0 DiscordMem0 PyPI - DownloadsNpm packageDiscordLicense: Apache 2.0

🎉 If you like our project, please give us a star ⭐ on GitHub for the latest update.

MemoryOS is designed to provide a memory operating system for personalized AI agents, enabling more coherent, personalized, and context-aware interactions. Drawing inspiration from memory management principles in operating systems, it adopts a hierarchical storage architecture with four core modules: Storage, Updating, Retrieval, and Generation, to achieve comprehensive and efficient memory management. On the LoCoMo benchmark, the model achieved average improvements of 49.11% and 46.18% in F1 and BLEU-1 scores.

✨Key Features

  • 🏆 TOP Performance in Memory Management
    The SOTA results in long-term memory benchmarks, boosting F1 scores by 49.11% and BLEU-1 by 46.18% on the LoCoMo benchmark.

  • 🧠 Plug-and-Play Memory Management Architecture
    Enables seamless integration of pluggable memory modules—including storage engines, update strategies, and retrieval algorithms.

  • Agent Workflow Create with Ease (MemoryOS-MCP)
    Inject long-term memory capabilities into various AI applications by calling modular tools provided by the MCP Server.

  • 🌐 Universal LLM Support
    MemoryOS seamlessly integrates with a wide range of LLMs (e.g., OpenAI, Deepseek, Qwen ...)

🧠 Memory Family

Welcome to our Memory Family, a research line dedicated to exploring AI Memory.

Survey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends
TL;DR: Provides a unified theoretical framework for AI Memory, introducing a comprehensive taxonomy and systematically analyzing memory mechanisms, applications, and evaluation methods.
📄 Paper: http://github.com/BAI-LAB/Survey-on-AI-Memory/blob/main/Survey%20on%20AI%20Memory.pdf

LightSearcher: Efficient DeepSearch via Experiential Memory
TL;DR: Introduces experiential memory into deep search systems, enabling models to learn from successful reasoning trajectories and improve search efficiency.
📄 Paper: https://arxiv.org/abs/2512.06653

Memory OS of AI Agent
TL;DR: Proposes a memory operating system for AI agents that manages short-term, mid-term, and long-term personal memory through hierarchical storage, dynamic updating, retrieval, and generation, improving coherence and personalization in long conversations.
📄 Paper: https://arxiv.org/abs/2506.06326

📣 Latest News

  • [new] 🔥🔥🔥 [2026-01-15]: ✨ReleasedSurvey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends!
  • [new] 🔥🔥 [2025-09-11]: 🚀Open-sourced the Playground platform!
  • [new] 🔥🔥 [2025-08-21]: 🎉Accepted by EMNLP 2025 main conference!
  • [new] 🔥 [2025-07-15]: 🔌 Support for Vector Database Chromadb
  • [new] 🔥 [2025-07-15]: 🔌 IntegrateDocker into deployment
  • [new][2025-07-14]: ⚡ Acceleration of MCP parallelization
  • [new][2025-07-14]: 🔌 Support for BGE-M3 & Qwen3 embeddings on PyPI and MCP.
  • [new][2025-07-09]: 📊 Evaluation of the MemoryOS on LoCoMo Dataset: Publicly Available 👉Reproduce.
  • [new][2025-07-08]: 🏆 New Config Parameter
  • New parameter configuration: similarity_threshold. For configuration file, see 📖 Documentation page.
  • [new][2025-07-07]: 🚀5 Times Faster
  • The MemoryOS (PYPI) implementation has been upgraded: 5 times faster (reduction in latency) through parallelization optimizations.
  • [new][2025-07-07]: ✨R1 models Support Now
  • MemoryOS supports configuring and using inference models such as Deepseek-r1 and Qwen3..
  • [new][2025-07-07]: ✨MemoryOS Playground Launched
  • The Playground of MemoryOS Platform has been launched! 👉MemoryOS Platform. If you need an Invitation Code, please feel free to reach Contact US.
  • [new][2025-06-15]:🛠️ Open-sourced MemoryOS-MCP released! Now configurable on agent clients for seamless integration and customization. 👉 MemoryOS-MCP.
  • [2025-05-30]: 📄 Paper-Memory OS of AI Agent is available on arXiv: https://arxiv.org/abs/2506.06326.
  • [2025-05-30]: Initial version of MemoryOS launched! Featuring short-term, mid-term, and long-term persona Memory with automated user profile and knowledge updating.

🔥 MemoryOS Support List

TypeNameOpen SourceSupportConfigurationDescription
Agent ClientClaude Desktopclaude_desktop_config.jsonAnthropic official client
ClineVS Code settingsVS Code extension
CursorSettings panelAI code editor
Model ProviderOpenAIOPENAI_API_KEYGPT-4, GPT-3.5, etc.
AnthropicANTHROPIC_API_KEYClaude series
Deepseek-R1DEEPSEEK_API_KEYChinese large model
Qwen/Qwen3QWEN_API_KEYAlibaba Qwen
vLLMLocal deploymentLocal model inference
Llama_factoryLocal deploymentLocal fine-tuning deployment
All model calls use the OpenAI API interface; you need to supply the API key and base URL.

📑 Table of Contents

🏗️ System Architecture

image

🏗️ Project Structure

memoryos/
├── __init__.py # Initializes the MemoryOS package
├── __pycache__/ # Python cache directory (auto-generated)
├── long_term.py # Manages long-term persona memory (user profile, knowledge)
├── memoryos.py # Main class for MemoryOS, orchestrating all components
├── mid_term.py # Manages mid-term memory, consolidating short-term interactions
├── prompts.py # Contains prompts used for LLM interactions (e.g., summarization, analysis)
├── retriever.py # Retrieves relevant information from all memory layers
├── short_term.py # Manages short-term memory for recent interactions
├── updater.py # Processes memory updates, including promoting information between layers
└── utils.py # Utility functions used across the library

📖MemoryOS_PyPi Getting Started

Prerequisites

  • Python >= 3.10
  • conda create -n MemoryOS python=3.10
  • conda activate MemoryOS

Installation

Download from PyPi

pip install memoryos-pro -i https://pypi.org/simple

Download from GitHub (latest version)

git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS/memoryos-pypi
pip install -r requirements.txt

Basic Usage

importosfrommemoryosimportMemoryos# --- Basic Configuration ---USER_ID="demo_user"ASSISTANT_ID="demo_assistant"API_KEY="YOUR_OPENAI_API_KEY"# Replace with your keyBASE_URL=""# Optional: if using a custom OpenAI endpointDATA_STORAGE_PATH="./simple_demo_data"LLM_MODEL="gpt-4o-mini"defsimple_demo():
print("MemoryOS Simple Demo")
# 1. Initialize MemoryOSprint("Initializing MemoryOS...")
try:
memo=Memoryos(
user_id=USER_ID,
openai_api_key=API_KEY,
openai_base_url=BASE_URL,
data_storage_path=DATA_STORAGE_PATH,
llm_model=LLM_MODEL,
assistant_id=ASSISTANT_ID,
short_term_capacity=7, mid_term_heat_threshold=5, retrieval_queue_capacity=7,
long_term_knowledge_capacity=100,
#Support Qwen/Qwen3-Embedding-0.6B, BAAI/bge-m3, all-MiniLM-L6-v2embedding_model_name="BAAI/bge-m3"
)
print("MemoryOS initialized successfully!\n")
exceptExceptionase:
print(f"Error: {e}")
return# 2. Add some basic memoriesprint("Adding some memories...")
memo.add_memory(
user_input="Hi! I'm Tom, I work as a data scientist in San Francisco.",
agent_response="Hello Tom! Nice to meet you. Data science is such an exciting field. What kind of data do you work with?"
)
test_query="What do you remember about my job?"print(f"User: {test_query}")
response=memo.get_response(
query=test_query,
)
print(f"Assistant: {response}")
if__name__=="__main__":
simple_demo()

📖 MemoryOS-MCP Getting Started

🔧 Core Tools

1. add_memory

Saves the content of the conversation between the user and the AI assistant into the memory system, for the purpose of building a persistent dialogue history and contextual record.

2. retrieve_memory

Retrieves related historical dialogues, user preferences, and knowledge information from the memory system based on a query, helping the AI assistant understand the user’s needs and background.

3. get_user_profile

Obtains a user profile generated from the analysis of historical dialogues, including the user’s personality traits, interest preferences, and relevant knowledge background.

1. Install dependencies

cd memoryos-mcp
pip install -r requirements.txt

2. configuration

Edit config.json

{
"user_id": "user ID",
"openai_api_key": "OpenAI API key",
"openai_base_url": "https://api.openai.com/v1",
"data_storage_path": "./memoryos_data",
"assistant_id": "assistant_id",
"llm_model": "gpt-4o-mini""embedding_model_name":"BAAI/bge-m3"
}

3. Start the server

python server_new.py --config config.json

4. Test

python test_comprehensive.py

5. Configure it on Cline and other clients

Copy the mcp.json file over, and make sure the file path is correct.

command": "/root/miniconda3/envs/memos/bin/python"#This should be changed to the Python interpreter of your virtual environment

📖MemoryOS_Chromadb Getting Started

1. Install dependencies

cd memoryos-chromadb
pip install -r requirements.txt

2. Test

The edit information is in comprehensive_test.py
memoryos = Memoryos(
user_id='travel_user_test',
openai_api_key='',
openai_base_url='',
data_storage_path='./comprehensive_test_data',
assistant_id='travel_assistant',
embedding_model_name='BAAI/bge-m3',
mid_term_capacity=1000,
mid_term_heat_threshold=13.0,
mid_term_similarity_threshold=0.7,
short_term_capacity=2
)
python3 comprehensive_test.py
# Make sure to use a different data storage path when switching embedding models.

📖Docker Getting Started

You can run MemoryOS using Docker in two ways: by pulling the official image or by building your own image from the Dockerfile. Both methods are suitable for quick setup, testing, and production deployment.

Option 1: Pull the Official Image

# Pull the latest official image
docker pull ghcr.io/bai-lab/memoryos:latest
docker run -it --gpus=all ghcr.io/bai-lab/memoryos /bin/bash

Option 2: Build from Dockerfile

# Clone the repository
git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS
# Build the Docker image (make sure Dockerfile is present)
docker build -t memoryos .
docker run -it --gpus=all memoryos /bin/bash

📖Playground Getting Started

cd MemoryOS/memoryos-playground/memdemo/
python3 app.py

After launching the main interface, fill in the corresponding User ID, OpenAI API Key, Model, and API Base URL. image

After entering the system, you can use the Help button to view the functions of each button.

The user's memory is stored under MemoryOS-main/memoryos-playground/memdemo/data

image

🎯Reproduce

cdeval
Configure API keys and other settings in the code
python3 main_loco_parse.py
python3 evalution_loco.py

☑️ Todo List

MemoryOS is continuously evolving! Here's what's coming:

  • Ongoing🚀: Integrated Benchmarks: Standardized benchmark suite with a cross-model comparison for Mem0, Zep, and OpenAI
  • 🏗️ Enabling seamless Memory exchange and integration across diverse systems.

Have ideas or suggestions? Contributions are welcome! Please feel free to submit issues or pull requests! 🚀

📖 Documentation

A more detailed documentation is coming soon 🚀, and we will update in the Documentation page.

📣 Citation

If you find this project useful, please consider citing our paper:

@misc{kang2025memoryosaiagent,
title={Memory OS of AI Agent}, author={Jiazheng Kang and Mingming Ji and Zhe Zhao and Ting Bai},
year={2025},
eprint={2506.06326},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2506.06326}, }

🎯 Contact us

BaiJia AI is a research team guided by Associate Professor Bai Ting from Beijing University of Posts and Telecommunications, dedicated to creating emotionally rich and super-memory brains for AI agents.

🤝 Cooperation and Suggestions: baiting@bupt.edu.cn

📣Follow our WeChat official account, join the WeChat group or Discordhttps://discord.gg/SqVj7QvZ to get the latest updates.

百家Agent公众号微信群二维码

🌟 Star History

Star History Chart

Disclaimer

This project, MemoryOS (Memory Operation System), is developed by the BaiJia AI team and has no affiliation with memoryOS (https://memoryos.com). The use of the name "MemoryOS" herein is solely for academic discussion purposes.

About

[EMNLP 2025 Oral] MemoryOS is designed to provide a memory operating system for personalized AI agents.

Topics

Resources

Stars

1.6k stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MemoryOS

logo

Readme:中文Mem0 DiscordMem0 PyPI - DownloadsNpm packageDiscordLicense: Apache 2.0

🎉 If you like our project, please give us a star ⭐ on GitHub for the latest update.

MemoryOS is designed to provide a memory operating system for personalized AI agents, enabling more coherent, personalized, and context-aware interactions. Drawing inspiration from memory management principles in operating systems, it adopts a hierarchical storage architecture with four core modules: Storage, Updating, Retrieval, and Generation, to achieve comprehensive and efficient memory management. On the LoCoMo benchmark, the model achieved average improvements of 49.11% and 46.18% in F1 and BLEU-1 scores.

✨Key Features

  • 🏆 TOP Performance in Memory Management
    The SOTA results in long-term memory benchmarks, boosting F1 scores by 49.11% and BLEU-1 by 46.18% on the LoCoMo benchmark.

  • 🧠 Plug-and-Play Memory Management Architecture
    Enables seamless integration of pluggable memory modules—including storage engines, update strategies, and retrieval algorithms.

  • Agent Workflow Create with Ease (MemoryOS-MCP)
    Inject long-term memory capabilities into various AI applications by calling modular tools provided by the MCP Server.

  • 🌐 Universal LLM Support
    MemoryOS seamlessly integrates with a wide range of LLMs (e.g., OpenAI, Deepseek, Qwen ...)

🧠 Memory Family

Welcome to our Memory Family, a research line dedicated to exploring AI Memory.

Survey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends
TL;DR: Provides a unified theoretical framework for AI Memory, introducing a comprehensive taxonomy and systematically analyzing memory mechanisms, applications, and evaluation methods.
📄 Paper: http://github.com/BAI-LAB/Survey-on-AI-Memory/blob/main/Survey%20on%20AI%20Memory.pdf

LightSearcher: Efficient DeepSearch via Experiential Memory
TL;DR: Introduces experiential memory into deep search systems, enabling models to learn from successful reasoning trajectories and improve search efficiency.
📄 Paper: https://arxiv.org/abs/2512.06653

Memory OS of AI Agent
TL;DR: Proposes a memory operating system for AI agents that manages short-term, mid-term, and long-term personal memory through hierarchical storage, dynamic updating, retrieval, and generation, improving coherence and personalization in long conversations.
📄 Paper: https://arxiv.org/abs/2506.06326

📣 Latest News

  • [new] 🔥🔥🔥 [2026-01-15]: ✨ReleasedSurvey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends!
  • [new] 🔥🔥 [2025-09-11]: 🚀Open-sourced the Playground platform!
  • [new] 🔥🔥 [2025-08-21]: 🎉Accepted by EMNLP 2025 main conference!
  • [new] 🔥 [2025-07-15]: 🔌 Support for Vector Database Chromadb
  • [new] 🔥 [2025-07-15]: 🔌 IntegrateDocker into deployment
  • [new][2025-07-14]: ⚡ Acceleration of MCP parallelization
  • [new][2025-07-14]: 🔌 Support for BGE-M3 & Qwen3 embeddings on PyPI and MCP.
  • [new][2025-07-09]: 📊 Evaluation of the MemoryOS on LoCoMo Dataset: Publicly Available 👉Reproduce.
  • [new][2025-07-08]: 🏆 New Config Parameter
  • New parameter configuration: similarity_threshold. For configuration file, see 📖 Documentation page.
  • [new][2025-07-07]: 🚀5 Times Faster
  • The MemoryOS (PYPI) implementation has been upgraded: 5 times faster (reduction in latency) through parallelization optimizations.
  • [new][2025-07-07]: ✨R1 models Support Now
  • MemoryOS supports configuring and using inference models such as Deepseek-r1 and Qwen3..
  • [new][2025-07-07]: ✨MemoryOS Playground Launched
  • The Playground of MemoryOS Platform has been launched! 👉MemoryOS Platform. If you need an Invitation Code, please feel free to reach Contact US.
  • [new][2025-06-15]:🛠️ Open-sourced MemoryOS-MCP released! Now configurable on agent clients for seamless integration and customization. 👉 MemoryOS-MCP.
  • [2025-05-30]: 📄 Paper-Memory OS of AI Agent is available on arXiv: https://arxiv.org/abs/2506.06326.
  • [2025-05-30]: Initial version of MemoryOS launched! Featuring short-term, mid-term, and long-term persona Memory with automated user profile and knowledge updating.

🔥 MemoryOS Support List

TypeNameOpen SourceSupportConfigurationDescription
Agent ClientClaude Desktopclaude_desktop_config.jsonAnthropic official client
ClineVS Code settingsVS Code extension
CursorSettings panelAI code editor
Model ProviderOpenAIOPENAI_API_KEYGPT-4, GPT-3.5, etc.
AnthropicANTHROPIC_API_KEYClaude series
Deepseek-R1DEEPSEEK_API_KEYChinese large model
Qwen/Qwen3QWEN_API_KEYAlibaba Qwen
vLLMLocal deploymentLocal model inference
Llama_factoryLocal deploymentLocal fine-tuning deployment
All model calls use the OpenAI API interface; you need to supply the API key and base URL.

📑 Table of Contents

🏗️ System Architecture

image

🏗️ Project Structure

memoryos/
├── __init__.py # Initializes the MemoryOS package
├── __pycache__/ # Python cache directory (auto-generated)
├── long_term.py # Manages long-term persona memory (user profile, knowledge)
├── memoryos.py # Main class for MemoryOS, orchestrating all components
├── mid_term.py # Manages mid-term memory, consolidating short-term interactions
├── prompts.py # Contains prompts used for LLM interactions (e.g., summarization, analysis)
├── retriever.py # Retrieves relevant information from all memory layers
├── short_term.py # Manages short-term memory for recent interactions
├── updater.py # Processes memory updates, including promoting information between layers
└── utils.py # Utility functions used across the library

📖MemoryOS_PyPi Getting Started

Prerequisites

  • Python >= 3.10
  • conda create -n MemoryOS python=3.10
  • conda activate MemoryOS

Installation

Download from PyPi

pip install memoryos-pro -i https://pypi.org/simple

Download from GitHub (latest version)

git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS/memoryos-pypi
pip install -r requirements.txt

Basic Usage

importosfrommemoryosimportMemoryos# --- Basic Configuration ---USER_ID="demo_user"ASSISTANT_ID="demo_assistant"API_KEY="YOUR_OPENAI_API_KEY"# Replace with your keyBASE_URL=""# Optional: if using a custom OpenAI endpointDATA_STORAGE_PATH="./simple_demo_data"LLM_MODEL="gpt-4o-mini"defsimple_demo():
print("MemoryOS Simple Demo")
# 1. Initialize MemoryOSprint("Initializing MemoryOS...")
try:
memo=Memoryos(
user_id=USER_ID,
openai_api_key=API_KEY,
openai_base_url=BASE_URL,
data_storage_path=DATA_STORAGE_PATH,
llm_model=LLM_MODEL,
assistant_id=ASSISTANT_ID,
short_term_capacity=7, mid_term_heat_threshold=5, retrieval_queue_capacity=7,
long_term_knowledge_capacity=100,
#Support Qwen/Qwen3-Embedding-0.6B, BAAI/bge-m3, all-MiniLM-L6-v2embedding_model_name="BAAI/bge-m3"
)
print("MemoryOS initialized successfully!\n")
exceptExceptionase:
print(f"Error: {e}")
return# 2. Add some basic memoriesprint("Adding some memories...")
memo.add_memory(
user_input="Hi! I'm Tom, I work as a data scientist in San Francisco.",
agent_response="Hello Tom! Nice to meet you. Data science is such an exciting field. What kind of data do you work with?"
)
test_query="What do you remember about my job?"print(f"User: {test_query}")
response=memo.get_response(
query=test_query,
)
print(f"Assistant: {response}")
if__name__=="__main__":
simple_demo()

📖 MemoryOS-MCP Getting Started

🔧 Core Tools

1. add_memory

Saves the content of the conversation between the user and the AI assistant into the memory system, for the purpose of building a persistent dialogue history and contextual record.

2. retrieve_memory

Retrieves related historical dialogues, user preferences, and knowledge information from the memory system based on a query, helping the AI assistant understand the user’s needs and background.

3. get_user_profile

Obtains a user profile generated from the analysis of historical dialogues, including the user’s personality traits, interest preferences, and relevant knowledge background.

1. Install dependencies

cd memoryos-mcp
pip install -r requirements.txt

2. configuration

Edit config.json

{
"user_id": "user ID",
"openai_api_key": "OpenAI API key",
"openai_base_url": "https://api.openai.com/v1",
"data_storage_path": "./memoryos_data",
"assistant_id": "assistant_id",
"llm_model": "gpt-4o-mini""embedding_model_name":"BAAI/bge-m3"
}

3. Start the server

python server_new.py --config config.json

4. Test

python test_comprehensive.py

5. Configure it on Cline and other clients

Copy the mcp.json file over, and make sure the file path is correct.

command": "/root/miniconda3/envs/memos/bin/python"#This should be changed to the Python interpreter of your virtual environment

📖MemoryOS_Chromadb Getting Started

1. Install dependencies

cd memoryos-chromadb
pip install -r requirements.txt

2. Test

The edit information is in comprehensive_test.py
memoryos = Memoryos(
user_id='travel_user_test',
openai_api_key='',
openai_base_url='',
data_storage_path='./comprehensive_test_data',
assistant_id='travel_assistant',
embedding_model_name='BAAI/bge-m3',
mid_term_capacity=1000,
mid_term_heat_threshold=13.0,
mid_term_similarity_threshold=0.7,
short_term_capacity=2
)
python3 comprehensive_test.py
# Make sure to use a different data storage path when switching embedding models.

📖Docker Getting Started

You can run MemoryOS using Docker in two ways: by pulling the official image or by building your own image from the Dockerfile. Both methods are suitable for quick setup, testing, and production deployment.

Option 1: Pull the Official Image

# Pull the latest official image
docker pull ghcr.io/bai-lab/memoryos:latest
docker run -it --gpus=all ghcr.io/bai-lab/memoryos /bin/bash

Option 2: Build from Dockerfile

# Clone the repository
git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS
# Build the Docker image (make sure Dockerfile is present)
docker build -t memoryos .
docker run -it --gpus=all memoryos /bin/bash

📖Playground Getting Started

cd MemoryOS/memoryos-playground/memdemo/
python3 app.py

After launching the main interface, fill in the corresponding User ID, OpenAI API Key, Model, and API Base URL. image

After entering the system, you can use the Help button to view the functions of each button.

The user's memory is stored under MemoryOS-main/memoryos-playground/memdemo/data

image

🎯Reproduce

cdeval
Configure API keys and other settings in the code
python3 main_loco_parse.py
python3 evalution_loco.py

☑️ Todo List

MemoryOS is continuously evolving! Here's what's coming:

  • Ongoing🚀: Integrated Benchmarks: Standardized benchmark suite with a cross-model comparison for Mem0, Zep, and OpenAI
  • 🏗️ Enabling seamless Memory exchange and integration across diverse systems.

Have ideas or suggestions? Contributions are welcome! Please feel free to submit issues or pull requests! 🚀

📖 Documentation

A more detailed documentation is coming soon 🚀, and we will update in the Documentation page.

📣 Citation

If you find this project useful, please consider citing our paper:

@misc{kang2025memoryosaiagent,
title={Memory OS of AI Agent}, author={Jiazheng Kang and Mingming Ji and Zhe Zhao and Ting Bai},
year={2025},
eprint={2506.06326},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2506.06326}, }

🎯 Contact us

BaiJia AI is a research team guided by Associate Professor Bai Ting from Beijing University of Posts and Telecommunications, dedicated to creating emotionally rich and super-memory brains for AI agents.

🤝 Cooperation and Suggestions: baiting@bupt.edu.cn

📣Follow our WeChat official account, join the WeChat group or Discordhttps://discord.gg/SqVj7QvZ to get the latest updates.

百家Agent公众号微信群二维码

🌟 Star History

Star History Chart

Disclaimer

This project, MemoryOS (Memory Operation System), is developed by the BaiJia AI team and has no affiliation with memoryOS (https://memoryos.com). The use of the name "MemoryOS" herein is solely for academic discussion purposes.

About

[EMNLP 2025 Oral] MemoryOS is designed to provide a memory operating system for personalized AI agents.

Topics

Resources

Stars

1.6k stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MemoryOS

logo

Readme:中文Mem0 DiscordMem0 PyPI - DownloadsNpm packageDiscordLicense: Apache 2.0

🎉 If you like our project, please give us a star ⭐ on GitHub for the latest update.

MemoryOS is designed to provide a memory operating system for personalized AI agents, enabling more coherent, personalized, and context-aware interactions. Drawing inspiration from memory management principles in operating systems, it adopts a hierarchical storage architecture with four core modules: Storage, Updating, Retrieval, and Generation, to achieve comprehensive and efficient memory management. On the LoCoMo benchmark, the model achieved average improvements of 49.11% and 46.18% in F1 and BLEU-1 scores.

✨Key Features

  • 🏆 TOP Performance in Memory Management
    The SOTA results in long-term memory benchmarks, boosting F1 scores by 49.11% and BLEU-1 by 46.18% on the LoCoMo benchmark.

  • 🧠 Plug-and-Play Memory Management Architecture
    Enables seamless integration of pluggable memory modules—including storage engines, update strategies, and retrieval algorithms.

  • Agent Workflow Create with Ease (MemoryOS-MCP)
    Inject long-term memory capabilities into various AI applications by calling modular tools provided by the MCP Server.

  • 🌐 Universal LLM Support
    MemoryOS seamlessly integrates with a wide range of LLMs (e.g., OpenAI, Deepseek, Qwen ...)

🧠 Memory Family

Welcome to our Memory Family, a research line dedicated to exploring AI Memory.

Survey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends
TL;DR: Provides a unified theoretical framework for AI Memory, introducing a comprehensive taxonomy and systematically analyzing memory mechanisms, applications, and evaluation methods.
📄 Paper: http://github.com/BAI-LAB/Survey-on-AI-Memory/blob/main/Survey%20on%20AI%20Memory.pdf

LightSearcher: Efficient DeepSearch via Experiential Memory
TL;DR: Introduces experiential memory into deep search systems, enabling models to learn from successful reasoning trajectories and improve search efficiency.
📄 Paper: https://arxiv.org/abs/2512.06653

Memory OS of AI Agent
TL;DR: Proposes a memory operating system for AI agents that manages short-term, mid-term, and long-term personal memory through hierarchical storage, dynamic updating, retrieval, and generation, improving coherence and personalization in long conversations.
📄 Paper: https://arxiv.org/abs/2506.06326

📣 Latest News

  • [new] 🔥🔥🔥 [2026-01-15]: ✨ReleasedSurvey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends!
  • [new] 🔥🔥 [2025-09-11]: 🚀Open-sourced the Playground platform!
  • [new] 🔥🔥 [2025-08-21]: 🎉Accepted by EMNLP 2025 main conference!
  • [new] 🔥 [2025-07-15]: 🔌 Support for Vector Database Chromadb
  • [new] 🔥 [2025-07-15]: 🔌 IntegrateDocker into deployment
  • [new][2025-07-14]: ⚡ Acceleration of MCP parallelization
  • [new][2025-07-14]: 🔌 Support for BGE-M3 & Qwen3 embeddings on PyPI and MCP.
  • [new][2025-07-09]: 📊 Evaluation of the MemoryOS on LoCoMo Dataset: Publicly Available 👉Reproduce.
  • [new][2025-07-08]: 🏆 New Config Parameter
  • New parameter configuration: similarity_threshold. For configuration file, see 📖 Documentation page.
  • [new][2025-07-07]: 🚀5 Times Faster
  • The MemoryOS (PYPI) implementation has been upgraded: 5 times faster (reduction in latency) through parallelization optimizations.
  • [new][2025-07-07]: ✨R1 models Support Now
  • MemoryOS supports configuring and using inference models such as Deepseek-r1 and Qwen3..
  • [new][2025-07-07]: ✨MemoryOS Playground Launched
  • The Playground of MemoryOS Platform has been launched! 👉MemoryOS Platform. If you need an Invitation Code, please feel free to reach Contact US.
  • [new][2025-06-15]:🛠️ Open-sourced MemoryOS-MCP released! Now configurable on agent clients for seamless integration and customization. 👉 MemoryOS-MCP.
  • [2025-05-30]: 📄 Paper-Memory OS of AI Agent is available on arXiv: https://arxiv.org/abs/2506.06326.
  • [2025-05-30]: Initial version of MemoryOS launched! Featuring short-term, mid-term, and long-term persona Memory with automated user profile and knowledge updating.

🔥 MemoryOS Support List

TypeNameOpen SourceSupportConfigurationDescription
Agent ClientClaude Desktopclaude_desktop_config.jsonAnthropic official client
ClineVS Code settingsVS Code extension
CursorSettings panelAI code editor
Model ProviderOpenAIOPENAI_API_KEYGPT-4, GPT-3.5, etc.
AnthropicANTHROPIC_API_KEYClaude series
Deepseek-R1DEEPSEEK_API_KEYChinese large model
Qwen/Qwen3QWEN_API_KEYAlibaba Qwen
vLLMLocal deploymentLocal model inference
Llama_factoryLocal deploymentLocal fine-tuning deployment
All model calls use the OpenAI API interface; you need to supply the API key and base URL.

📑 Table of Contents

🏗️ System Architecture

image

🏗️ Project Structure

memoryos/
├── __init__.py # Initializes the MemoryOS package
├── __pycache__/ # Python cache directory (auto-generated)
├── long_term.py # Manages long-term persona memory (user profile, knowledge)
├── memoryos.py # Main class for MemoryOS, orchestrating all components
├── mid_term.py # Manages mid-term memory, consolidating short-term interactions
├── prompts.py # Contains prompts used for LLM interactions (e.g., summarization, analysis)
├── retriever.py # Retrieves relevant information from all memory layers
├── short_term.py # Manages short-term memory for recent interactions
├── updater.py # Processes memory updates, including promoting information between layers
└── utils.py # Utility functions used across the library

📖MemoryOS_PyPi Getting Started

Prerequisites

  • Python >= 3.10
  • conda create -n MemoryOS python=3.10
  • conda activate MemoryOS

Installation

Download from PyPi

pip install memoryos-pro -i https://pypi.org/simple

Download from GitHub (latest version)

git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS/memoryos-pypi
pip install -r requirements.txt

Basic Usage

importosfrommemoryosimportMemoryos# --- Basic Configuration ---USER_ID="demo_user"ASSISTANT_ID="demo_assistant"API_KEY="YOUR_OPENAI_API_KEY"# Replace with your keyBASE_URL=""# Optional: if using a custom OpenAI endpointDATA_STORAGE_PATH="./simple_demo_data"LLM_MODEL="gpt-4o-mini"defsimple_demo():
print("MemoryOS Simple Demo")
# 1. Initialize MemoryOSprint("Initializing MemoryOS...")
try:
memo=Memoryos(
user_id=USER_ID,
openai_api_key=API_KEY,
openai_base_url=BASE_URL,
data_storage_path=DATA_STORAGE_PATH,
llm_model=LLM_MODEL,
assistant_id=ASSISTANT_ID,
short_term_capacity=7, mid_term_heat_threshold=5, retrieval_queue_capacity=7,
long_term_knowledge_capacity=100,
#Support Qwen/Qwen3-Embedding-0.6B, BAAI/bge-m3, all-MiniLM-L6-v2embedding_model_name="BAAI/bge-m3"
)
print("MemoryOS initialized successfully!\n")
exceptExceptionase:
print(f"Error: {e}")
return# 2. Add some basic memoriesprint("Adding some memories...")
memo.add_memory(
user_input="Hi! I'm Tom, I work as a data scientist in San Francisco.",
agent_response="Hello Tom! Nice to meet you. Data science is such an exciting field. What kind of data do you work with?"
)
test_query="What do you remember about my job?"print(f"User: {test_query}")
response=memo.get_response(
query=test_query,
)
print(f"Assistant: {response}")
if__name__=="__main__":
simple_demo()

📖 MemoryOS-MCP Getting Started

🔧 Core Tools

1. add_memory

Saves the content of the conversation between the user and the AI assistant into the memory system, for the purpose of building a persistent dialogue history and contextual record.

2. retrieve_memory

Retrieves related historical dialogues, user preferences, and knowledge information from the memory system based on a query, helping the AI assistant understand the user’s needs and background.

3. get_user_profile

Obtains a user profile generated from the analysis of historical dialogues, including the user’s personality traits, interest preferences, and relevant knowledge background.

1. Install dependencies

cd memoryos-mcp
pip install -r requirements.txt

2. configuration

Edit config.json

{
"user_id": "user ID",
"openai_api_key": "OpenAI API key",
"openai_base_url": "https://api.openai.com/v1",
"data_storage_path": "./memoryos_data",
"assistant_id": "assistant_id",
"llm_model": "gpt-4o-mini""embedding_model_name":"BAAI/bge-m3"
}

3. Start the server

python server_new.py --config config.json

4. Test

python test_comprehensive.py

5. Configure it on Cline and other clients

Copy the mcp.json file over, and make sure the file path is correct.

command": "/root/miniconda3/envs/memos/bin/python"#This should be changed to the Python interpreter of your virtual environment

📖MemoryOS_Chromadb Getting Started

1. Install dependencies

cd memoryos-chromadb
pip install -r requirements.txt

2. Test

The edit information is in comprehensive_test.py
memoryos = Memoryos(
user_id='travel_user_test',
openai_api_key='',
openai_base_url='',
data_storage_path='./comprehensive_test_data',
assistant_id='travel_assistant',
embedding_model_name='BAAI/bge-m3',
mid_term_capacity=1000,
mid_term_heat_threshold=13.0,
mid_term_similarity_threshold=0.7,
short_term_capacity=2
)
python3 comprehensive_test.py
# Make sure to use a different data storage path when switching embedding models.

📖Docker Getting Started

You can run MemoryOS using Docker in two ways: by pulling the official image or by building your own image from the Dockerfile. Both methods are suitable for quick setup, testing, and production deployment.

Option 1: Pull the Official Image

# Pull the latest official image
docker pull ghcr.io/bai-lab/memoryos:latest
docker run -it --gpus=all ghcr.io/bai-lab/memoryos /bin/bash

Option 2: Build from Dockerfile

# Clone the repository
git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS
# Build the Docker image (make sure Dockerfile is present)
docker build -t memoryos .
docker run -it --gpus=all memoryos /bin/bash

📖Playground Getting Started

cd MemoryOS/memoryos-playground/memdemo/
python3 app.py

After launching the main interface, fill in the corresponding User ID, OpenAI API Key, Model, and API Base URL. image

After entering the system, you can use the Help button to view the functions of each button.

The user's memory is stored under MemoryOS-main/memoryos-playground/memdemo/data

image

🎯Reproduce

cdeval
Configure API keys and other settings in the code
python3 main_loco_parse.py
python3 evalution_loco.py

☑️ Todo List

MemoryOS is continuously evolving! Here's what's coming:

  • Ongoing🚀: Integrated Benchmarks: Standardized benchmark suite with a cross-model comparison for Mem0, Zep, and OpenAI
  • 🏗️ Enabling seamless Memory exchange and integration across diverse systems.

Have ideas or suggestions? Contributions are welcome! Please feel free to submit issues or pull requests! 🚀

📖 Documentation

A more detailed documentation is coming soon 🚀, and we will update in the Documentation page.

📣 Citation

If you find this project useful, please consider citing our paper:

@misc{kang2025memoryosaiagent,
title={Memory OS of AI Agent}, author={Jiazheng Kang and Mingming Ji and Zhe Zhao and Ting Bai},
year={2025},
eprint={2506.06326},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2506.06326}, }

🎯 Contact us

BaiJia AI is a research team guided by Associate Professor Bai Ting from Beijing University of Posts and Telecommunications, dedicated to creating emotionally rich and super-memory brains for AI agents.

🤝 Cooperation and Suggestions: baiting@bupt.edu.cn

📣Follow our WeChat official account, join the WeChat group or Discordhttps://discord.gg/SqVj7QvZ to get the latest updates.

百家Agent公众号微信群二维码

🌟 Star History

Star History Chart

Disclaimer

This project, MemoryOS (Memory Operation System), is developed by the BaiJia AI team and has no affiliation with memoryOS (https://memoryos.com). The use of the name "MemoryOS" herein is solely for academic discussion purposes.

About

[EMNLP 2025 Oral] MemoryOS is designed to provide a memory operating system for personalized AI agents.

Topics

Resources

Stars

1.6k stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

MemoryOS

logo

Readme:中文Mem0 DiscordMem0 PyPI - DownloadsNpm packageDiscordLicense: Apache 2.0

🎉 If you like our project, please give us a star ⭐ on GitHub for the latest update.

MemoryOS is designed to provide a memory operating system for personalized AI agents, enabling more coherent, personalized, and context-aware interactions. Drawing inspiration from memory management principles in operating systems, it adopts a hierarchical storage architecture with four core modules: Storage, Updating, Retrieval, and Generation, to achieve comprehensive and efficient memory management. On the LoCoMo benchmark, the model achieved average improvements of 49.11% and 46.18% in F1 and BLEU-1 scores.

✨Key Features

  • 🏆 TOP Performance in Memory Management
    The SOTA results in long-term memory benchmarks, boosting F1 scores by 49.11% and BLEU-1 by 46.18% on the LoCoMo benchmark.

  • 🧠 Plug-and-Play Memory Management Architecture
    Enables seamless integration of pluggable memory modules—including storage engines, update strategies, and retrieval algorithms.

  • Agent Workflow Create with Ease (MemoryOS-MCP)
    Inject long-term memory capabilities into various AI applications by calling modular tools provided by the MCP Server.

  • 🌐 Universal LLM Support
    MemoryOS seamlessly integrates with a wide range of LLMs (e.g., OpenAI, Deepseek, Qwen ...)

🧠 Memory Family

Welcome to our Memory Family, a research line dedicated to exploring AI Memory.

Survey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends
TL;DR: Provides a unified theoretical framework for AI Memory, introducing a comprehensive taxonomy and systematically analyzing memory mechanisms, applications, and evaluation methods.
📄 Paper: http://github.com/BAI-LAB/Survey-on-AI-Memory/blob/main/Survey%20on%20AI%20Memory.pdf

LightSearcher: Efficient DeepSearch via Experiential Memory
TL;DR: Introduces experiential memory into deep search systems, enabling models to learn from successful reasoning trajectories and improve search efficiency.
📄 Paper: https://arxiv.org/abs/2512.06653

Memory OS of AI Agent
TL;DR: Proposes a memory operating system for AI agents that manages short-term, mid-term, and long-term personal memory through hierarchical storage, dynamic updating, retrieval, and generation, improving coherence and personalization in long conversations.
📄 Paper: https://arxiv.org/abs/2506.06326

📣 Latest News

  • [new] 🔥🔥🔥 [2026-01-15]: ✨ReleasedSurvey on AI Memory: Theories, Taxonomies, Evaluations, and Emerging Trends!
  • [new] 🔥🔥 [2025-09-11]: 🚀Open-sourced the Playground platform!
  • [new] 🔥🔥 [2025-08-21]: 🎉Accepted by EMNLP 2025 main conference!
  • [new] 🔥 [2025-07-15]: 🔌 Support for Vector Database Chromadb
  • [new] 🔥 [2025-07-15]: 🔌 IntegrateDocker into deployment
  • [new][2025-07-14]: ⚡ Acceleration of MCP parallelization
  • [new][2025-07-14]: 🔌 Support for BGE-M3 & Qwen3 embeddings on PyPI and MCP.
  • [new][2025-07-09]: 📊 Evaluation of the MemoryOS on LoCoMo Dataset: Publicly Available 👉Reproduce.
  • [new][2025-07-08]: 🏆 New Config Parameter
  • New parameter configuration: similarity_threshold. For configuration file, see 📖 Documentation page.
  • [new][2025-07-07]: 🚀5 Times Faster
  • The MemoryOS (PYPI) implementation has been upgraded: 5 times faster (reduction in latency) through parallelization optimizations.
  • [new][2025-07-07]: ✨R1 models Support Now
  • MemoryOS supports configuring and using inference models such as Deepseek-r1 and Qwen3..
  • [new][2025-07-07]: ✨MemoryOS Playground Launched
  • The Playground of MemoryOS Platform has been launched! 👉MemoryOS Platform. If you need an Invitation Code, please feel free to reach Contact US.
  • [new][2025-06-15]:🛠️ Open-sourced MemoryOS-MCP released! Now configurable on agent clients for seamless integration and customization. 👉 MemoryOS-MCP.
  • [2025-05-30]: 📄 Paper-Memory OS of AI Agent is available on arXiv: https://arxiv.org/abs/2506.06326.
  • [2025-05-30]: Initial version of MemoryOS launched! Featuring short-term, mid-term, and long-term persona Memory with automated user profile and knowledge updating.

🔥 MemoryOS Support List

TypeNameOpen SourceSupportConfigurationDescription
Agent ClientClaude Desktopclaude_desktop_config.jsonAnthropic official client
ClineVS Code settingsVS Code extension
CursorSettings panelAI code editor
Model ProviderOpenAIOPENAI_API_KEYGPT-4, GPT-3.5, etc.
AnthropicANTHROPIC_API_KEYClaude series
Deepseek-R1DEEPSEEK_API_KEYChinese large model
Qwen/Qwen3QWEN_API_KEYAlibaba Qwen
vLLMLocal deploymentLocal model inference
Llama_factoryLocal deploymentLocal fine-tuning deployment
All model calls use the OpenAI API interface; you need to supply the API key and base URL.

📑 Table of Contents

🏗️ System Architecture

image

🏗️ Project Structure

memoryos/
├── __init__.py # Initializes the MemoryOS package
├── __pycache__/ # Python cache directory (auto-generated)
├── long_term.py # Manages long-term persona memory (user profile, knowledge)
├── memoryos.py # Main class for MemoryOS, orchestrating all components
├── mid_term.py # Manages mid-term memory, consolidating short-term interactions
├── prompts.py # Contains prompts used for LLM interactions (e.g., summarization, analysis)
├── retriever.py # Retrieves relevant information from all memory layers
├── short_term.py # Manages short-term memory for recent interactions
├── updater.py # Processes memory updates, including promoting information between layers
└── utils.py # Utility functions used across the library

📖MemoryOS_PyPi Getting Started

Prerequisites

  • Python >= 3.10
  • conda create -n MemoryOS python=3.10
  • conda activate MemoryOS

Installation

Download from PyPi

pip install memoryos-pro -i https://pypi.org/simple

Download from GitHub (latest version)

git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS/memoryos-pypi
pip install -r requirements.txt

Basic Usage

importosfrommemoryosimportMemoryos# --- Basic Configuration ---USER_ID="demo_user"ASSISTANT_ID="demo_assistant"API_KEY="YOUR_OPENAI_API_KEY"# Replace with your keyBASE_URL=""# Optional: if using a custom OpenAI endpointDATA_STORAGE_PATH="./simple_demo_data"LLM_MODEL="gpt-4o-mini"defsimple_demo():
print("MemoryOS Simple Demo")
# 1. Initialize MemoryOSprint("Initializing MemoryOS...")
try:
memo=Memoryos(
user_id=USER_ID,
openai_api_key=API_KEY,
openai_base_url=BASE_URL,
data_storage_path=DATA_STORAGE_PATH,
llm_model=LLM_MODEL,
assistant_id=ASSISTANT_ID,
short_term_capacity=7, mid_term_heat_threshold=5, retrieval_queue_capacity=7,
long_term_knowledge_capacity=100,
#Support Qwen/Qwen3-Embedding-0.6B, BAAI/bge-m3, all-MiniLM-L6-v2embedding_model_name="BAAI/bge-m3"
)
print("MemoryOS initialized successfully!\n")
exceptExceptionase:
print(f"Error: {e}")
return# 2. Add some basic memoriesprint("Adding some memories...")
memo.add_memory(
user_input="Hi! I'm Tom, I work as a data scientist in San Francisco.",
agent_response="Hello Tom! Nice to meet you. Data science is such an exciting field. What kind of data do you work with?"
)
test_query="What do you remember about my job?"print(f"User: {test_query}")
response=memo.get_response(
query=test_query,
)
print(f"Assistant: {response}")
if__name__=="__main__":
simple_demo()

📖 MemoryOS-MCP Getting Started

🔧 Core Tools

1. add_memory

Saves the content of the conversation between the user and the AI assistant into the memory system, for the purpose of building a persistent dialogue history and contextual record.

2. retrieve_memory

Retrieves related historical dialogues, user preferences, and knowledge information from the memory system based on a query, helping the AI assistant understand the user’s needs and background.

3. get_user_profile

Obtains a user profile generated from the analysis of historical dialogues, including the user’s personality traits, interest preferences, and relevant knowledge background.

1. Install dependencies

cd memoryos-mcp
pip install -r requirements.txt

2. configuration

Edit config.json

{
"user_id": "user ID",
"openai_api_key": "OpenAI API key",
"openai_base_url": "https://api.openai.com/v1",
"data_storage_path": "./memoryos_data",
"assistant_id": "assistant_id",
"llm_model": "gpt-4o-mini""embedding_model_name":"BAAI/bge-m3"
}

3. Start the server

python server_new.py --config config.json

4. Test

python test_comprehensive.py

5. Configure it on Cline and other clients

Copy the mcp.json file over, and make sure the file path is correct.

command": "/root/miniconda3/envs/memos/bin/python"#This should be changed to the Python interpreter of your virtual environment

📖MemoryOS_Chromadb Getting Started

1. Install dependencies

cd memoryos-chromadb
pip install -r requirements.txt

2. Test

The edit information is in comprehensive_test.py
memoryos = Memoryos(
user_id='travel_user_test',
openai_api_key='',
openai_base_url='',
data_storage_path='./comprehensive_test_data',
assistant_id='travel_assistant',
embedding_model_name='BAAI/bge-m3',
mid_term_capacity=1000,
mid_term_heat_threshold=13.0,
mid_term_similarity_threshold=0.7,
short_term_capacity=2
)
python3 comprehensive_test.py
# Make sure to use a different data storage path when switching embedding models.

📖Docker Getting Started

You can run MemoryOS using Docker in two ways: by pulling the official image or by building your own image from the Dockerfile. Both methods are suitable for quick setup, testing, and production deployment.

Option 1: Pull the Official Image

# Pull the latest official image
docker pull ghcr.io/bai-lab/memoryos:latest
docker run -it --gpus=all ghcr.io/bai-lab/memoryos /bin/bash

Option 2: Build from Dockerfile

# Clone the repository
git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS
# Build the Docker image (make sure Dockerfile is present)
docker build -t memoryos .
docker run -it --gpus=all memoryos /bin/bash

📖Playground Getting Started

cd MemoryOS/memoryos-playground/memdemo/
python3 app.py

After launching the main interface, fill in the corresponding User ID, OpenAI API Key, Model, and API Base URL. image

After entering the system, you can use the Help button to view the functions of each button.

The user's memory is stored under MemoryOS-main/memoryos-playground/memdemo/data

image

🎯Reproduce

cdeval
Configure API keys and other settings in the code
python3 main_loco_parse.py
python3 evalution_loco.py

☑️ Todo List

MemoryOS is continuously evolving! Here's what's coming:

  • Ongoing🚀: Integrated Benchmarks: Standardized benchmark suite with a cross-model comparison for Mem0, Zep, and OpenAI
  • 🏗️ Enabling seamless Memory exchange and integration across diverse systems.

Have ideas or suggestions? Contributions are welcome! Please feel free to submit issues or pull requests! 🚀

📖 Documentation

A more detailed documentation is coming soon 🚀, and we will update in the Documentation page.

📣 Citation

If you find this project useful, please consider citing our paper:

@misc{kang2025memoryosaiagent,
title={Memory OS of AI Agent}, author={Jiazheng Kang and Mingming Ji and Zhe Zhao and Ting Bai},
year={2025},
eprint={2506.06326},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2506.06326}, }

🎯 Contact us

BaiJia AI is a research team guided by Associate Professor Bai Ting from Beijing University of Posts and Telecommunications, dedicated to creating emotionally rich and super-memory brains for AI agents.

🤝 Cooperation and Suggestions: baiting@bupt.edu.cn

📣Follow our WeChat official account, join the WeChat group or Discordhttps://discord.gg/SqVj7QvZ to get the latest updates.

百家Agent公众号微信群二维码

🌟 Star History

Star History Chart

Disclaimer

This project, MemoryOS (Memory Operation System), is developed by the BaiJia AI team and has no affiliation with memoryOS (https://memoryos.com). The use of the name "MemoryOS" herein is solely for academic discussion purposes.

About

[EMNLP 2025 Oral] MemoryOS is designed to provide a memory operating system for personalized AI agents.

Topics

Resources

Stars

1.6k stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages