Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/CONTRIBUTING
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Please read https://memos.openmem.net/docs/contribution/overview to learn how to contribute to this repository. 🌟
Please read https://memos-docs.openmem.net/contribution/overview to learn how to contribute to this repository. 🌟

请阅读 https://memos.openmem.net/docs/contribution/overview 了解如何为此项目贡献代码。🌟
请阅读 https://memos-docs.openmem.net/contribution/overview 了解如何为此项目贡献代码。🌟
44 changes: 19 additions & 25 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,34 @@ name: "\U0001F680 Feature request"
description: Submit a request for a new feature
labels: ["enhancement", "pending"]
body:
- type: markdown
attributes:
value: |
Please do not create issues that are not related to new features under this category.
请勿在此分类下创建和新特性无关的 issues。

- type: checkboxes
id: reminder
id: checklist
attributes:
label: Reminder
description: |
Please ensure you have read the above rules carefully and searched the existing issues.
请确保您已经认真阅读了上述规则并且搜索过现有的 issues。

label: Pre-submission checklist
options:
- label: I have read the above rules and searched the existing issues.
- label: I have searched existing issues and this feature hasn't been requested before | 我已搜索现有问题,确认此功能尚未被请求
required: true
- label: I have read the project documentation and confirmed this feature doesn't already exist | 我已阅读项目文档并确认此功能尚未存在
required: true
- label: This feature request is specific to MemOS and not a general software issue | 该功能请求是针对 MemOS 的,而不是一般软件问题
required: true

- type: textarea
id: description
id: problem
validations:
required: true
attributes:
label: Description
description: |
A clear and concise description of the feature proposal.
请详细描述您希望加入的新功能特性。
label: Problem Statement
placeholder: |
Describe the problem you're trying to solve...
Example: "As a developer using MemOS, I find it difficult to..."

- type: textarea
- type: checkboxes
id: contribution
validations:
required: false
attributes:
label: Pull Request
description: |
Have you already created the relevant PR and submitted the code?
您是否已经创建了相关 PR 并提交了代码?
label: Implementation Contribution
options:
- label: I'm willing to implement this feature myself | 我愿意自己实现此功能
required: false
- label: I would like someone else to implement this | 我希望其他人来实现此功能
required: false
26 changes: 20 additions & 6 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,28 @@
## Description

> Please include a summary of the change and which issue is fixed.
>
> 请介绍你的修改,并说明它修复了哪个 issue.
<!--
Please include a summary of the changes below;
Fill in the issue number that this PR addresses (if applicable);
Mention the person who will review this PR (if you know who it is);
Replace (summary), (issue), and (reviewer) with the appropriate information (No parentheses).

Fix # (issue)
请在下方填写更改的摘要;
填写此 PR 解决的问题编号(如果适用);
提及将审查此 PR 的人(如果您知道是谁);
替换 (summary)、(issue) 和 (reviewer) 为适当的信息(不带括号)。
-->

Summary: (summary)

Fix: #(issue)

Reviewer: @(reviewer)

## Checklist:

- [ ] I have performed a self-review of my own code | 我已自行检查了自己的代码
- [ ] I have commented my code, particularly in hard-to-understand areas | 我已对代码进行了注释,特别是在难以理解的地方
- [ ] I have commented my code in hard-to-understand areas | 我已在难以理解的地方对代码进行了注释
- [ ] I have added tests that prove my fix is effective or that my feature works | 我已添加测试以证明我的修复有效或功能正常
- [ ] I have added necessary documentation (if appropriate) | 我已添加必要的文档(如果有必要)
- [ ] I have added necessary documentation (if applicable) | 我已添加必要的文档(如果适用)
- [ ] I have linked the issue to this PR (if applicable) | 我已将 issue 链接到此 PR(如果适用)
- [ ] I have mentioned the person who will review this PR | 我已提及将审查此 PR 的人
6 changes: 5 additions & 1 deletion .github/workflows/python-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ jobs:
matrix:
os:
- "ubuntu-latest"
- "windows-latest"
- "macos-14"
- "macos-15"
# Ref: https://docs.github.com/en/actions/how-tos/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job
python-version:
- "3.10"
- "3.11"
Expand All @@ -51,4 +55,4 @@ jobs:
poetry run ruff format --check
- name: Test with pytest
run: |
PYTHONPATH=src poetry run pytest tests -vv
poetry run pytest tests -vv
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ evaluation/data/langmemeval
evaluation/*tmp/
evaluation/results
evaluation/.env
evaluation/scripts/*.sh
evaluation/configs/*
**tree_textual_memory_locomo**
.env

# Byte-compiled / optimized / DLL files
Expand Down Expand Up @@ -166,6 +166,7 @@ venv.bak/
*.xlsx
*.json
*.pkl
*.html

# but do not ignore docs/openapi.json
!docs/openapi.json
Expand Down
23 changes: 2 additions & 21 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY: test docs
.PHONY: test

install:
poetry install --with dev --with test
Expand All @@ -11,7 +11,7 @@ clean:
rm -rf tmp

test:
PYTHONPATH=src poetry run pytest tests
poetry run pytest tests

format:
poetry run ruff check --fix
Expand All @@ -23,24 +23,5 @@ pre_commit:
serve:
poetry run uvicorn memos.api.start_api:app

docs:
pytest tests/test_docs.py -xq
pip install mkdocs mkdocs-material -q
mkdir -p tmp
rm -f tmp/mkdocs.yml
echo "site_name: MemOS Documentation" > tmp/mkdocs.yml
echo "docs_dir: `pwd`/docs" >> tmp/mkdocs.yml
echo "theme: material" >> tmp/mkdocs.yml
echo "markdown_extensions:" >> tmp/mkdocs.yml
echo " - pymdownx.highlight:" >> tmp/mkdocs.yml
echo " anchor_linenums: true" >> tmp/mkdocs.yml
echo " line_spans: __span" >> tmp/mkdocs.yml
echo " pygments_lang_class: true" >> tmp/mkdocs.yml
echo " - pymdownx.inlinehilite" >> tmp/mkdocs.yml
echo " - pymdownx.snippets" >> tmp/mkdocs.yml
echo " - pymdownx.superfences" >> tmp/mkdocs.yml
cat docs/settings.yml >> tmp/mkdocs.yml
mkdocs serve -f tmp/mkdocs.yml --no-livereload

openapi:
poetry run python scripts/export_openapi.py --output docs/openapi.json
82 changes: 49 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
<div align="center">
<a href="https://memos.openmem.net/">
<img src="docs/assets/banner_new.gif" alt="MemOS Banner">
<img src="https://statics.memtensor.com.cn/memos/memos-banner.gif" alt="MemOS Banner">
</a>



<h1 align="center">
<img src="docs/assets/memos_logo.png" alt="MemOS Logo" width="50"/> MemOS 1.0: 星河 (Stellar) <img src="https://img.shields.io/badge/status-Preview-blue" alt="Preview Badge"/>
<img src="https://statics.memtensor.com.cn/logo/memos_color_m.png" alt="MemOS Logo" width="50"/> MemOS 1.0: 星河 (Stellar) <img src="https://img.shields.io/badge/status-Preview-blue" alt="Preview Badge"/>
</h1>

<p>
Expand All @@ -19,7 +17,7 @@
<a href="https://pypi.org/project/MemoryOS">
<img src="https://img.shields.io/pypi/pyversions/MemoryOS.svg" alt="Supported Python versions">
</a>
<a href="https://memos.openmem.net/docs/home">
<a href="https://memos-docs.openmem.net/home/overview/">
<img src="https://img.shields.io/badge/Documentation-view-blue.svg" alt="Documentation">
</a>
<a href="https://arxiv.org/abs/2507.03724">
Expand All @@ -31,7 +29,7 @@
<a href="https://discord.gg/Txbx3gebZR">
<img src="https://img.shields.io/badge/Discord-join%20chat-7289DA.svg?logo=discord" alt="Discord">
</a>
<a href="docs/assets/memos-wechat-group.png">
<a href="https://statics.memtensor.com.cn/memos/qr-code.png">
<img src="https://img.shields.io/badge/WeChat-Group-07C160.svg?logo=wechat" alt="WeChat Group">
</a>
<a href="https://opensource.org/license/apache-2-0/">
Expand All @@ -42,17 +40,14 @@

---

<a href="https://memos.openmem.net/">
<img src="docs/assets/SOTA_Score.jpg" alt="SOTA SCORE">
</a>

<img src="https://statics.memtensor.com.cn/memos/sota_score.jpg" alt="SOTA SCORE">

**MemOS** is an operating system for Large Language Models (LLMs) that enhances them with long-term memory capabilities. It allows LLMs to store, retrieve, and manage information, enabling more context-aware, consistent, and personalized interactions.

- **Website**: <a href="https://memos.openmem.net/" target="_blank">https://memos.openmem.net/</a>
- **Documentation**: <a href="https://memos.openmem.net/docs/home" target="_blank">https://memos.openmem.net/docs/home</a>
- **API Reference**: <a href="https://memos.openmem.net/docs/api/info" target="_blank">https://memos.openmem.net/docs/api/info</a>
- **Source Code**: <a href="https://github.com/MemTensor/MemOS" target="_blank">https://github.com/MemTensor/MemOS</a>
- **Website**: https://memos.openmem.net/
- **Documentation**: https://memos-docs.openmem.net/home/overview/
- **API Reference**: https://memos-docs.openmem.net/docs/api/info/
- **Source Code**: https://github.com/MemTensor/MemOS

## 📈 Performance Benchmark

Expand All @@ -66,19 +61,12 @@ MemOS demonstrates significant improvements over baseline memory solutions in mu

> 💡 **Temporal reasoning accuracy improved by 159% compared to the OpenAI baseline.**



### Details of End-to-End Evaluation on LOCOMO

> [!NOTE]
> Comparison of LLM Judge Scores across five major tasks in the LOCOMO benchmark. Each bar shows the mean evaluation score judged by LLMs for a given method-task pair, with standard deviation as error bars. MemOS-0630 consistently outperforms baseline methods (LangMem, Zep, OpenAI, Mem0) across all task types, especially in multi-hop and temporal reasoning scenarios.

<a href="https://memos.openmem.net/">
<img src="docs/assets/score_all_end2end.jpg" alt="END2END SCORE">
</a>



<img src="https://statics.memtensor.com.cn/memos/score_all_end2end.jpg" alt="END2END SCORE">

## ✨ Key Features

Expand Down Expand Up @@ -151,7 +139,11 @@ For more detailed examples, please check out the [`examples`](./examples) direct
## 📦 Installation

> [!WARNING]
> Currently, MemOS primarily supports Linux platforms. You may encounter issues on Windows and macOS temporarily.
> MemOS is compatible with Linux, Windows, and macOS.
>
> However, if you're using macOS, please note that there may be dependency issues that are difficult to resolve.
>
> For example, compatibility with macOS 13 Ventura is currently challenging.

### Install via pip

Expand Down Expand Up @@ -192,26 +184,50 @@ Join our community to ask questions, share your projects, and connect with other
- **Discord**: Join our <a href="https://discord.gg/Txbx3gebZR" target="_blank">Discord Server</a>.
- **WeChat**: Scan the QR code to join our WeChat group.

<img src="docs/assets/qr-code.png" alt="QR Code" width="600">
<img src="https://statics.memtensor.com.cn/memos/qr-code.png" alt="QR Code" width="600">

## 📜 Citation

If you use MemOS in your research, please cite our paper:
> [!NOTE]
> We publicly released the Short Version on **May 28, 2025**, making it the earliest work to propose the concept of a Memory Operating System for LLMs.

If you use MemOS in your research, we would appreciate citations to our papers.

```bibtex
@misc{li2025memos,
title={MemOS: A Memory OS for AI System},
author={Zhiyu Li and Shichao Song and Chenyang Xi and Hanyu Wang and Chen Tang and Simin Niu and Ding Chen and Jiawei Yang and Chunyu Li and Qingchen Yu and Jihao Zhao and Yezhaohui Wang and Peng Liu and Zehao Lin and Pengyuan Wang and Jiahao Huo and Tianyi Chen and Kai Chen and Kehang Li and Zhen Tao and Junpeng Ren and Huayi Lai and Hao Wu and Bo Tang and Zhenren Wang and Zhaoxin Fan and Ningyu Zhang and Linfeng Zhang and Junchi Yan and Mingchuan Yang and Tong Xu and Wei Xu and Huajun Chen and Haofeng Wang and Hongkang Yang and Wentao Zhang and Zhi-Qin John Xu and Siheng Chen and Feiyu Xiong},
year={2025},
eprint={2507.03724},
archivePrefix={arXiv},
primaryClass={cs.CL}

@article{li2025memos_long,
title={MemOS: A Memory OS for AI System},
author={Li, Zhiyu and Song, Shichao and Xi, Chenyang and Wang, Hanyu and Tang, Chen and Niu, Simin and Chen, Ding and Yang, Jiawei and Li, Chunyu and Yu, Qingchen and Zhao, Jihao and Wang, Yezhaohui and Liu, Peng and Lin, Zehao and Wang, Pengyuan and Huo, Jiahao and Chen, Tianyi and Chen, Kai and Li, Kehang and Tao, Zhen and Ren, Junpeng and Lai, Huayi and Wu, Hao and Tang, Bo and Wang, Zhenren and Fan, Zhaoxin and Zhang, Ningyu and Zhang, Linfeng and Yan, Junchi and Yang, Mingchuan and Xu, Tong and Xu, Wei and Chen, Huajun and Wang, Haofeng and Yang, Hongkang and Zhang, Wentao and Xu, Zhi-Qin John and Chen, Siheng and Xiong, Feiyu},
journal={arXiv preprint arXiv:2507.03724},
year={2025},
url={https://arxiv.org/abs/2507.03724}
}

@article{li2025memos_short,
title={MemOS: An Operating System for Memory-Augmented Generation (MAG) in Large Language Models},
author={Li, Zhiyu and Song, Shichao and Wang, Hanyu and Niu, Simin and Chen, Ding and Yang, Jiawei and Xi, Chenyang and Lai, Huayi and Zhao, Jihao and Wang, Yezhaohui and others},
journal={arXiv preprint arXiv:2505.22101},
year={2025},
url={https://arxiv.org/abs/2505.22101}
}

@article{yang2024memory3,
author = {Yang, Hongkang and Zehao, Lin and Wenjin, Wang and Wu, Hao and Zhiyu, Li and Tang, Bo and Wenqiang, Wei and Wang, Jinbo and Zeyun, Tang and Song, Shichao and Xi, Chenyang and Yu, Yu and Kai, Chen and Xiong, Feiyu and Tang, Linpeng and Weinan, E},
title = {Memory$^3$: Language Modeling with Explicit Memory},
journal = {Journal of Machine Learning},
year = {2024},
volume = {3},
number = {3},
pages = {300--346},
issn = {2790-2048},
doi = {https://doi.org/10.4208/jml.240708},
url = {https://global-sci.com/article/91443/memory3-language-modeling-with-explicit-memory}
}
```

## 🙌 Contributing

We welcome contributions from the community! Please read our [contribution guidelines](https://memos.openmem.net/docs/contribution/overview) to get started.
We welcome contributions from the community! Please read our [contribution guidelines](https://memos-docs.openmem.net/contribution/overview) to get started.

## 📄 License

Expand Down
3 changes: 3 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
All documentation has been moved to a separate repository: https://github.com/MemTensor/MemOS-Docs. Please edit documentation there.

所有文档已迁移至独立仓库:https://github.com/MemTensor/MemOS-Docs。请在该仓库中编辑文档。
Binary file removed docs/assets/SOTA_Score.jpg
Binary file not shown.
Binary file removed docs/assets/banner_new.gif
Binary file not shown.
Binary file removed docs/assets/memos-architecture.png
Binary file not shown.
Binary file removed docs/assets/memos-banner.png
Binary file not shown.
Binary file removed docs/assets/memos_logo.png
Binary file not shown.
Binary file removed docs/assets/qr-code.png
Binary file not shown.
Binary file removed docs/assets/score_all_end2end.jpg
Binary file not shown.
Loading
Loading