Architecture
MindRoom's architecture consists of several key components working together.
Overview
┌─────────────────────────────────────────────────────────┐
│ Matrix Homeserver │
│ (Synapse, Conduit, etc.) │
└──────────────────────┬──────────────────────────────────┘
│
┌──────────────────────▼──────────────────────────────────┐
│ MultiAgentOrchestrator │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Matrix Client │ │
│ │ (nio, sync loops, presence) │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Router │ │ Agent 1 │ │ Agent 2 │ │ Team │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │ │
│ ┌────▼────────────▼────────────▼────────────▼────┐ │
│ │ Agno Runtime │ │
│ │ (LLM calls, tool execution) │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Memory System │ │
│ │ (Mem0 + ChromaDB, agent/room/team scopes) │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Components
- Matrix Integration - How MindRoom connects to Matrix
- Agent Orchestration - How agents are managed
Data Flow
- Message arrives from Matrix homeserver
- Router decides which agent should handle it (if no explicit mention)
- Agent processes the message using the Agno runtime
- Tools execute as needed (file operations, API calls, etc.)
- Response sent back to Matrix room
- Memory updates asynchronously in background