BAI-LAB/MemoryOS

★ 1,581⑂ 0

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

About BAI-LAB/MemoryOS

BAI-LAB/MemoryOS is an open-source project on GitHub, mainly written in Python. [EMNLP 2025 Oral] MemoryOS is designed to provide a memory operating system for personalized AI agents. It currently holds 1,581 stars and 0 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the AI Agent Memory board.

GitHub Repository Details

Repository BAI-LAB/MemoryOS · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

MemoryOS

https://github.com/BAI-LAB/MemoryOS/blob/HEAD/logo

https://github.com/BAI-LAB/MemoryOS/blob/HEAD/Readme:中文 https://github.com/BAI-LAB/MemoryOS/blob/HEAD/Mem0 Discord https://github.com/BAI-LAB/MemoryOS/blob/HEAD/Mem0 PyPI - Downloads https://github.com/BAI-LAB/MemoryOS/blob/HEAD/Npm package https://github.com/BAI-LAB/MemoryOS/blob/HEAD/Discord https://github.com/BAI-LAB/MemoryOS/blob/HEAD/License: 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


The SOTA results in long-term memory benchmarks, boosting F1 scores by 49.11% and BLEU-1 by 46.18% on the LoCoMo benchmark.
Enables seamless integration of pluggable memory modules—including storage engines, update strategies, and retrieval algorithms.
Inject long-term memory capabilities into various AI applications by calling modular tools provided by the MCP Server.
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

🔥 MemoryOS Support List

Type Name Open Source Support Configuration Description
Agent Client Claude Desktop claude_desktop_config.json Anthropic official client
Cline VS Code settings VS Code extension
Cursor Settings panel AI code editor
Model Provider OpenAI OPENAI_API_KEY GPT-4, GPT-3.5, etc.
Anthropic ANTHROPIC_API_KEY Claude series
Deepseek-R1 DEEPSEEK_API_KEY Chinese large model
Qwen/Qwen3 QWEN_API_KEY Alibaba Qwen
vLLM Local deployment Local model inference
Llama_factory Local deployment Local 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

https://github.com/BAI-LAB/MemoryOS/blob/HEAD/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


import os
from memoryos import Memoryos

--- Basic Configuration ---

USER_ID = "demo_user" ASSISTANT_ID = "demo_assistant" API_KEY = "YOUR_OPENAI_API_KEY" # Replace with your key BASE_URL = "" # Optional: if using a custom OpenAI endpoint DATA_STORAGE_PATH = "./simple_demo_data" LLM_MODEL = "gpt-4o-mini"

def simple_demo(): print("MemoryOS Simple Demo") # 1. Initialize MemoryOS print("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-v2 embedding_model_name="BAAI/bge-m3" ) print("MemoryOS initialized successfully!\n") except Exception as e: print(f"Error: {e}") return

# 2. Add some basic memories print("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. https://github.com/BAI-LAB/MemoryOS/blob/HEAD/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

https://github.com/BAI-LAB/MemoryOS/blob/HEAD/image

🎯Reproduce

cd eval
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 https://github.com/BAI-LAB/MemoryOS/blob/HEAD/Discord https://discord.gg/SqVj7QvZ to get the latest updates.

https://github.com/BAI-LAB/MemoryOS/blob/HEAD/百家Agent公众号 https://github.com/BAI-LAB/MemoryOS/blob/HEAD/微信群二维码

🌟 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.

GitHub Stars & Activity

1,581Stars
0Forks
0Open issues
PythonLanguage

GitHub Popularity

GitHub stars1,581
Forks0
Open issues0
Primary languagePython
License-
Stars gained today0
Created-
Last pushed-

Trending History

Trending statusnot on today's boards

Related AI Projects

1

666ghj / MiroFish

Python★ 74,064⑂ 0
2

mem0ai / mem0

Python★ 65,695⑂ 0
3

bojieli / ai-agent-book

Python★ 48,844⑂ 0
4

volcengine / OpenViking

Python★ 38,148⑂ 0
5

topoteretes / cognee

Python★ 30,855⑂ 0
6

MemoriLabs / Memori

Python★ 16,849⑂ 0
7

NevaMind-AI / memU

Python★ 14,418⑂ 0
8

semantica-agi / semantica

Python★ 13,301⑂ 0

More AI Rankings