
## MIRIX - Multi-Agent Personal Assistant with an Advanced Memory System
Your personal AI that builds memory through screen observation and natural conversation
| 🌐 [Website](https://mirix.io) | 📚 [Documentation](https://docs.mirix.io) | 📄 [Paper](https://arxiv.org/abs/2507.07957) |
<!-- | [Twitter/X](https://twitter.com/mirix_ai) | [Discord](https://discord.gg/mirix) | -->
---
### Key Features 🔥
- **Multi-Agent Memory System:** Six specialized memory components (Core, Episodic, Semantic, Procedural, Resource, Knowledge Vault) managed by dedicated agents
- **Screen Activity Tracking:** Continuous visual data capture and intelligent consolidation into structured memories
- **Privacy-First Design:** All long-term data stored locally with user-controlled privacy settings
- **Advanced Search:** PostgreSQL-native BM25 full-text search with vector similarity support
- **Multi-Modal Input:** Text, images, voice, and screen captures processed seamlessly
### Quick Start
**End-Users**: For end-users who want to build your own memory using MIRIX, please checkout the quick installation guide [here](https://docs.mirix.io/getting-started/installation/#quick-installation-dmg).
**Developers**: For users who want to apply our memory system as the backend, please check out our [Backend Usage](https://docs.mirix.io/user-guide/backend-usage/). Basically, you just need to run:
```
git clone git@github.com:Mirix-AI/MIRIX.git
cd MIRIX
# Create and activate virtual environment
python -m venv mirix_env
source mirix_env/bin/activate # On Windows: mirix_env\Scripts\activate
pip install -r requirements.txt
```
Then you can run the following python code:
```python
from mirix.agent import AgentWrapper
# Initialize agent with configuration
agent = AgentWrapper("./configs/mirix.yaml")
# Send basic text information
agent.send_message(
message="The moon now has a president.",
memorizing=True,
force_absorb_content=True
)
```
For more details, please refer to [Backend Usage](https://docs.mirix.io/user-guide/backend-usage/).
## Python SDK (NEW!) 🎉
We've created a simple Python SDK that makes it incredibly easy to integrate Mirix's memory capabilities into your applications:
### Installation
```bash
pip install mirix
```
### Quick Start with SDK
```python
from mirix import Mirix
# Initialize memory agent (defaults to Google Gemini 2.0 Flash)
memory_agent = Mirix(api_key="your-google-api-key")
# Add memories
memory_agent.add("The moon now has a president")
memory_agent.add("John loves Italian food and is allergic to peanuts")
# Chat with memory context
response = memory_agent.chat("Does the moon have a president?")
print(response) # "Yes, according to my memory, the moon has a president."
response = memory_agent.chat("What does John like to eat?")
print(response) # "John loves Italian food. However, he's allergic to peanuts."
```
## License
Mirix is released under the Apache License 2.0. See the [LICENSE](LICENSE) file for more details.
## Contact
For questions, suggestions, or issues, please open an issue on the GitHub repository or contact us at `yuwang@mirix.io`
## Join Our Community
Connect with other Mirix users, share your thoughts, and get support:
<div align="center">
<table>
<tr>
<td align="center">
<img src="frontend/public/discord-qr.png" alt="Discord QR Code" width="200"/><br/>
<strong>Discord Community</strong>
</td>
<td align="center">
<img src="frontend/public/wechat-qr.png" alt="WeChat QR Code" width="200"/><br/>
<strong>WeChat Group</strong>
</td>
</tr>
</table>
</div>
## Star History
[](https://star-history.com/#Mirix-AI/MIRIX.&Date)
## Acknowledgement
We would like to thank [Letta](https://github.com/letta-ai/letta) for open-sourcing their framework, which served as the foundation for the memory system in this project.
Raw data
{
"_id": null,
"home_page": "https://github.com/Mirix-AI/MIRIX",
"name": "mirix",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Mirix AI <yuwang@mirix.io>",
"keywords": "ai, memory, agent, llm, assistant, chatbot, multimodal",
"author": "Mirix AI",
"author_email": "Mirix AI <yuwang@mirix.io>",
"download_url": "https://files.pythonhosted.org/packages/2c/33/67038102b871e685e371bfc8f8279d1fbf5959cace6142d2813e34995d3c/mirix-0.1.1.tar.gz",
"platform": null,
"description": "\n\n## MIRIX - Multi-Agent Personal Assistant with an Advanced Memory System\n\nYour personal AI that builds memory through screen observation and natural conversation\n\n| \ud83c\udf10 [Website](https://mirix.io) | \ud83d\udcda [Documentation](https://docs.mirix.io) | \ud83d\udcc4 [Paper](https://arxiv.org/abs/2507.07957) |\n<!-- | [Twitter/X](https://twitter.com/mirix_ai) | [Discord](https://discord.gg/mirix) | -->\n\n---\n\n### Key Features \ud83d\udd25\n\n- **Multi-Agent Memory System:** Six specialized memory components (Core, Episodic, Semantic, Procedural, Resource, Knowledge Vault) managed by dedicated agents\n- **Screen Activity Tracking:** Continuous visual data capture and intelligent consolidation into structured memories \n- **Privacy-First Design:** All long-term data stored locally with user-controlled privacy settings\n- **Advanced Search:** PostgreSQL-native BM25 full-text search with vector similarity support\n- **Multi-Modal Input:** Text, images, voice, and screen captures processed seamlessly\n\n### Quick Start\n**End-Users**: For end-users who want to build your own memory using MIRIX, please checkout the quick installation guide [here](https://docs.mirix.io/getting-started/installation/#quick-installation-dmg).\n\n**Developers**: For users who want to apply our memory system as the backend, please check out our [Backend Usage](https://docs.mirix.io/user-guide/backend-usage/). Basically, you just need to run:\n```\ngit clone git@github.com:Mirix-AI/MIRIX.git\ncd MIRIX\n\n# Create and activate virtual environment\npython -m venv mirix_env\nsource mirix_env/bin/activate # On Windows: mirix_env\\Scripts\\activate\n\npip install -r requirements.txt\n```\nThen you can run the following python code:\n```python\nfrom mirix.agent import AgentWrapper\n\n# Initialize agent with configuration\nagent = AgentWrapper(\"./configs/mirix.yaml\")\n\n# Send basic text information\nagent.send_message(\n message=\"The moon now has a president.\",\n memorizing=True,\n force_absorb_content=True\n)\n```\nFor more details, please refer to [Backend Usage](https://docs.mirix.io/user-guide/backend-usage/).\n\n## Python SDK (NEW!) \ud83c\udf89\n\nWe've created a simple Python SDK that makes it incredibly easy to integrate Mirix's memory capabilities into your applications:\n\n### Installation\n```bash\npip install mirix\n```\n\n### Quick Start with SDK\n```python\nfrom mirix import Mirix\n\n# Initialize memory agent (defaults to Google Gemini 2.0 Flash)\nmemory_agent = Mirix(api_key=\"your-google-api-key\")\n\n# Add memories\nmemory_agent.add(\"The moon now has a president\")\nmemory_agent.add(\"John loves Italian food and is allergic to peanuts\")\n\n# Chat with memory context\nresponse = memory_agent.chat(\"Does the moon have a president?\")\nprint(response) # \"Yes, according to my memory, the moon has a president.\"\n\nresponse = memory_agent.chat(\"What does John like to eat?\") \nprint(response) # \"John loves Italian food. However, he's allergic to peanuts.\"\n```\n\n## License\n\nMirix is released under the Apache License 2.0. See the [LICENSE](LICENSE) file for more details.\n\n## Contact\n\nFor questions, suggestions, or issues, please open an issue on the GitHub repository or contact us at `yuwang@mirix.io`\n\n## Join Our Community\n\nConnect with other Mirix users, share your thoughts, and get support:\n\n<div align=\"center\">\n<table>\n<tr>\n<td align=\"center\">\n<img src=\"frontend/public/discord-qr.png\" alt=\"Discord QR Code\" width=\"200\"/><br/>\n<strong>Discord Community</strong>\n</td>\n<td align=\"center\">\n<img src=\"frontend/public/wechat-qr.png\" alt=\"WeChat QR Code\" width=\"200\"/><br/>\n<strong>WeChat Group</strong>\n</td>\n</tr>\n</table>\n</div>\n\n## Star History\n\n[](https://star-history.com/#Mirix-AI/MIRIX.&Date)\n\n## Acknowledgement\nWe would like to thank [Letta](https://github.com/letta-ai/letta) for open-sourcing their framework, which served as the foundation for the memory system in this project.\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Multi-Agent Personal Assistant with an Advanced Memory System",
"version": "0.1.1",
"project_urls": {
"Documentation": "https://docs.mirix.io",
"Homepage": "https://mirix.io",
"Issues": "https://github.com/Mirix-AI/MIRIX/issues",
"Repository": "https://github.com/Mirix-AI/MIRIX"
},
"split_keywords": [
"ai",
" memory",
" agent",
" llm",
" assistant",
" chatbot",
" multimodal"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "417b578cab89835e29783a3bd90eea409a4ca221fdd4be993e9f4b8883c6647c",
"md5": "266ce822335dc11bc24896f653f7578d",
"sha256": "f1c610ef3f54f95be5dbb3a45a20ce216566f1305e9b2c9c717d7c31ca567fb5"
},
"downloads": -1,
"filename": "mirix-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "266ce822335dc11bc24896f653f7578d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1875009,
"upload_time": "2025-08-08T08:26:45",
"upload_time_iso_8601": "2025-08-08T08:26:45.930742Z",
"url": "https://files.pythonhosted.org/packages/41/7b/578cab89835e29783a3bd90eea409a4ca221fdd4be993e9f4b8883c6647c/mirix-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2c3367038102b871e685e371bfc8f8279d1fbf5959cace6142d2813e34995d3c",
"md5": "294e3f66ef411ee3db28e073a3852e72",
"sha256": "876936d0888e3218a17af86d0d6ff0e34caf1ab6802ebb8fa8fa632ee6bc107c"
},
"downloads": -1,
"filename": "mirix-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "294e3f66ef411ee3db28e073a3852e72",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 1787960,
"upload_time": "2025-08-08T08:26:47",
"upload_time_iso_8601": "2025-08-08T08:26:47.634091Z",
"url": "https://files.pythonhosted.org/packages/2c/33/67038102b871e685e371bfc8f8279d1fbf5959cace6142d2813e34995d3c/mirix-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-08 08:26:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Mirix-AI",
"github_project": "MIRIX",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "pytz",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "openpyxl",
"specs": []
},
{
"name": "Markdown",
"specs": []
},
{
"name": "Pillow",
"specs": []
},
{
"name": "scikit-image",
"specs": []
},
{
"name": "openai",
"specs": [
[
"==",
"1.72.0"
]
]
},
{
"name": "tiktoken",
"specs": []
},
{
"name": "google-genai",
"specs": []
},
{
"name": "dotenv",
"specs": []
},
{
"name": "demjson3",
"specs": []
},
{
"name": "pathvalidate",
"specs": []
},
{
"name": "docstring_parser",
"specs": []
},
{
"name": "sqlalchemy",
"specs": []
},
{
"name": "pydantic-settings",
"specs": []
},
{
"name": "jinja2",
"specs": []
},
{
"name": "humps",
"specs": []
},
{
"name": "composio",
"specs": []
},
{
"name": "colorama",
"specs": []
},
{
"name": "anthropic",
"specs": []
},
{
"name": "httpx_sse",
"specs": []
},
{
"name": "Markdown",
"specs": []
},
{
"name": "rapidfuzz",
"specs": []
},
{
"name": "rank-bm25",
"specs": []
},
{
"name": "psutil",
"specs": []
},
{
"name": "llama_index",
"specs": []
},
{
"name": "llama-index-embeddings-google-genai",
"specs": []
},
{
"name": "fastapi",
"specs": [
[
"==",
"0.104.1"
]
]
},
{
"name": "uvicorn",
"specs": [
[
"==",
"0.24.0"
]
]
},
{
"name": "pydub",
"specs": []
},
{
"name": "python-multipart",
"specs": []
},
{
"name": "opentelemetry-api",
"specs": []
},
{
"name": "opentelemetry-sdk",
"specs": []
},
{
"name": "opentelemetry-exporter-otlp",
"specs": []
},
{
"name": "opentelemetry-instrumentation-requests",
"specs": []
},
{
"name": "SpeechRecognition",
"specs": []
},
{
"name": "ffmpeg",
"specs": []
},
{
"name": "pg8000",
"specs": []
},
{
"name": "pgvector",
"specs": []
},
{
"name": "json_repair",
"specs": []
},
{
"name": "rich",
"specs": []
},
{
"name": "psycopg2-binary",
"specs": []
}
],
"lcname": "mirix"
}