mirix


Namemirix JSON
Version 0.1.3 PyPI version JSON
download
home_pagehttps://github.com/Mirix-AI/MIRIX
SummaryMulti-Agent Personal Assistant with an Advanced Memory System
upload_time2025-08-23 19:50:09
maintainerNone
docs_urlNone
authorMirix AI
requires_python>=3.8
licenseApache License 2.0
keywords ai memory agent llm assistant chatbot multimodal
VCS
bugtrack_url
requirements pytz numpy pandas openpyxl Markdown Pillow scikit-image openai tiktoken google-genai python-dotenv demjson3 pathvalidate docstring_parser sqlalchemy pydantic-settings jinja2 humps composio colorama anthropic httpx_sse rapidfuzz rank-bm25 psutil llama_index llama-index-embeddings-google-genai fastapi uvicorn pydub python-multipart opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp opentelemetry-instrumentation-requests SpeechRecognition ffmpeg pg8000 pgvector json_repair rich psycopg2-binary anyio mcp google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Mirix Logo](https://github.com/RenKoya1/MIRIX/raw/main/assets/logo.png)

## 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("./mirix/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:

### 💬 Discord Community
Join our Discord server for real-time discussions, support, and community updates:
**[https://discord.gg/5HWyxJrh](https://discord.gg/5HWyxJrh)**

### 🎯 Weekly Discussion Sessions
We host weekly discussion sessions where you can:
- Discuss issues and bugs
- Share ideas about future directions
- Get general consultations and support
- Connect with the development team and community

**📅 Schedule:** Friday nights, 8-9 PM PST  
**🔗 Zoom Link:** [https://ucsd.zoom.us/j/96278791276](https://ucsd.zoom.us/j/96278791276)

### 📱 WeChat Group
<div align="center">
<img src="frontend/public/wechat-qr.png" alt="WeChat QR Code" width="200"/><br/>
<strong>WeChat Group</strong>
</div>

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=Mirix-AI/MIRIX&type=Date)](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/e1/83/a3622ce8ff3d499c5bf77046a1f8703134cc064df7afc8569e0fa45adb4c/mirix-0.1.3.tar.gz",
    "platform": null,
    "description": "![Mirix Logo](https://github.com/RenKoya1/MIRIX/raw/main/assets/logo.png)\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(\"./mirix/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### \ud83d\udcac Discord Community\nJoin our Discord server for real-time discussions, support, and community updates:\n**[https://discord.gg/5HWyxJrh](https://discord.gg/5HWyxJrh)**\n\n### \ud83c\udfaf Weekly Discussion Sessions\nWe host weekly discussion sessions where you can:\n- Discuss issues and bugs\n- Share ideas about future directions\n- Get general consultations and support\n- Connect with the development team and community\n\n**\ud83d\udcc5 Schedule:** Friday nights, 8-9 PM PST  \n**\ud83d\udd17 Zoom Link:** [https://ucsd.zoom.us/j/96278791276](https://ucsd.zoom.us/j/96278791276)\n\n### \ud83d\udcf1 WeChat Group\n<div align=\"center\">\n<img src=\"frontend/public/wechat-qr.png\" alt=\"WeChat QR Code\" width=\"200\"/><br/>\n<strong>WeChat Group</strong>\n</div>\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=Mirix-AI/MIRIX&type=Date)](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.3",
    "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": "8dd114dcb81ceb23c087b3c383c9bf7da0655ff7921bf9e0646c3e549f9c83b0",
                "md5": "032efe609daab6eae8c23a24295d2d65",
                "sha256": "a28aa5859a5a856dd394023023d502f34a427bd2fa46ad83e0f09edf7398b2af"
            },
            "downloads": -1,
            "filename": "mirix-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "032efe609daab6eae8c23a24295d2d65",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 1910981,
            "upload_time": "2025-08-23T19:50:07",
            "upload_time_iso_8601": "2025-08-23T19:50:07.700838Z",
            "url": "https://files.pythonhosted.org/packages/8d/d1/14dcb81ceb23c087b3c383c9bf7da0655ff7921bf9e0646c3e549f9c83b0/mirix-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e183a3622ce8ff3d499c5bf77046a1f8703134cc064df7afc8569e0fa45adb4c",
                "md5": "bd7b335ab9cce55a72bf1af77d1621bc",
                "sha256": "96005d2abdaf808a363bb9eb683b9a9211f45a24d58b64b21458e20f1405884f"
            },
            "downloads": -1,
            "filename": "mirix-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "bd7b335ab9cce55a72bf1af77d1621bc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 1823458,
            "upload_time": "2025-08-23T19:50:09",
            "upload_time_iso_8601": "2025-08-23T19:50:09.623643Z",
            "url": "https://files.pythonhosted.org/packages/e1/83/a3622ce8ff3d499c5bf77046a1f8703134cc064df7afc8569e0fa45adb4c/mirix-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-23 19:50:09",
    "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": [
                [
                    "<",
                    "11.0.0"
                ],
                [
                    ">=",
                    "10.2.0"
                ]
            ]
        },
        {
            "name": "scikit-image",
            "specs": []
        },
        {
            "name": "openai",
            "specs": [
                [
                    "==",
                    "1.72.0"
                ]
            ]
        },
        {
            "name": "tiktoken",
            "specs": []
        },
        {
            "name": "google-genai",
            "specs": []
        },
        {
            "name": "python-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": "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.31.1"
                ]
            ]
        },
        {
            "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": [
                [
                    ">=",
                    "13.7.1"
                ],
                [
                    "<",
                    "14.0.0"
                ]
            ]
        },
        {
            "name": "psycopg2-binary",
            "specs": []
        },
        {
            "name": "anyio",
            "specs": [
                [
                    ">=",
                    "4.7.0"
                ]
            ]
        },
        {
            "name": "mcp",
            "specs": []
        },
        {
            "name": "google-auth",
            "specs": []
        },
        {
            "name": "google-auth-oauthlib",
            "specs": []
        },
        {
            "name": "google-auth-httplib2",
            "specs": []
        },
        {
            "name": "google-api-python-client",
            "specs": []
        }
    ],
    "lcname": "mirix"
}
        
Elapsed time: 1.21862s