# MemoryOS **Repository Path**: llm_4/MemoryOS ## Basic Information - **Project Name**: MemoryOS - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-29 - **Last Updated**: 2025-06-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MemoryOS
logo

Mem0 Discord Mem0 PyPI - Downloads Npm package Discord 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. ## 📣 Latest News * *[new]* 🔥 **[2025-06-15]**:🛠️ Open-sourced **MemoryOS-MCP** released! Now configurable on agent clients for seamless integration and customization. [👉 MemoryOS-MCP](#memoryos-mcp-getting-started) * **[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
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 DEEPSEEK_API_KEY Chinese large model
Qwen 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. ## Demo [![Watch the video](https://img.youtube.com/vi/y9Igs0FnX_M/maxresdefault.jpg)](https://youtu.be/y9Igs0FnX_M) ## System Architecture ![image](https://github.com/user-attachments/assets/09200494-03a9-4b7d-9ffa-ef646d9d51f0) ## 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 ``` ## How It Works 1. **Initialization:** `Memoryos` is initialized with user and assistant IDs, API keys, data storage paths, and various capacity/threshold settings. It sets up dedicated storage for each user and assistant. 2. **Adding Memories:** User inputs and agent responses are added as QA pairs. These are initially stored in short-term memory. 3. **Short-Term to Mid-Term Processing:** When short-term memory is full, the `Updater` module processes these interactions, consolidating them into meaningful segments and storing them in mid-term memory. 4. **Mid-Term Analysis & LPM Updates:** Mid-term memory segments accumulate "heat" based on factors like visit frequency and interaction length. When a segment's heat exceeds a threshold, its content is analyzed: * User profile insights are extracted and used to update the long-term user profile. * Specific user facts are added to the user's long-term knowledge. * Relevant information for the assistant is added to the assistant's long-term knowledge base. 5. **Response Generation:** When a user query is received: * The `Retriever` module fetches relevant context from short-term history, mid-term memory segments, the user's profile & knowledge, and the assistant's knowledge base. * This comprehensive context is then used, along with the user's query, to generate a coherent and informed response via an LLM. ## MemoryOS_PYPI Getting Started ### Prerequisites * Python >= 3.10 * pip install -i https://pypi.org/simple/ MemoryOS-BaiJia ### Installation ```bash conda create -n MemoryOS python=3.10 conda activate MemoryOS pip install -i https://pypi.org/simple/ MemoryOS-BaiJia ``` ### Basic Usage ```python 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 ) 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 ```bash cd memoryos-mcp pip install -r requirements.txt ``` ### 2. configuration Edit `config.json`: ```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" } ``` ### 3. Start the server ```bash python server_new.py --config config.json ``` ### 4. Test ```bash 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. ```bash command": "/root/miniconda3/envs/memos/bin/python" #This should be changed to the Python interpreter of your virtual environment ``` ## Contributing Contributions are welcome! Please feel free to submit issues or pull requests. ## Citation 📣 **If you find this project useful, please consider citing our paper:** ```bibtex @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 百家AI是北京邮电大学白婷副教授指导的研究小组, 致力于为硅基人类打造情感饱满、记忆超凡的大脑。
合作与建议:baiting@bupt.edu.cn
欢迎关注百家Agent公众号和微信群,共同交流!
百家Agent公众号 微信群二维码