mirix


Namemirix JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/Mirix-AI/MIRIX
SummaryMulti-Agent Personal Assistant with an Advanced Memory System
upload_time2025-08-08 08:26:47
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 dotenv demjson3 pathvalidate docstring_parser sqlalchemy pydantic-settings jinja2 humps composio colorama anthropic httpx_sse Markdown 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
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("./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

[![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/2c/33/67038102b871e685e371bfc8f8279d1fbf5959cace6142d2813e34995d3c/mirix-0.1.1.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(\"./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[![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.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"
}
        
Elapsed time: 2.53092s