System Architecture β
OpenZess follows a clean three-layer architecture optimized for real-time AI agent interaction.
High-Level Overview β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Browser (React) β
β ββββββββ ββββββββββ βββββββββ ββββββββββ ββββββββ β
β β Chat β βSessionsβ βMatrix β βWarRoom β βTavernβ β
β ββββ¬ββββ βββββ¬βββββ ββββ¬βββββ βββββ¬βββββ ββββ¬ββββ β
β β β β β β β
β βββββββββββ΄βββββ¬βββββ΄βββββββββββ΄βββββββββββ β
β β HTTP / WebSocket β
ββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββ
β FastAPI Server (server.py) β
β βββββββββββββββ ββββββββββββββ ββββββββββββββββββββ β
β β OpenzessAgentβ βMCP Manager β βBackground Workersβ β
β β (agent.py) β β(mcp_mgr.py)β β (cron/watchdog) β β
β ββββββββ¬βββββββ βββββββ¬βββββββ ββββββββββ¬ββββββββββ β
β β β β β
β ββββββββ΄βββββββ βββββββ΄βββββββ ββββββββββ΄ββββββββββ β
β β LiteLLM β β MCP Serversβ β Plugin Loader β β
β β (10+ models)β β(Stitch etc)β β (hot-loading) β β
β βββββββββββββββ ββββββββββββββ ββββββββββββββββββββ β
β β
β ββββββββββββββββ βββββββββββββββ ββββββββββββββββββ β
β β PostgreSQL β β ChromaDB β β Xvfb + X11 β β
β β (Neon) β β(Memory Vaultβ β (Matrix View) β β
β ββββββββββββββββ βββββββββββββββ ββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββComponent Breakdown β
Frontend (frontend/) β
- Framework: React 19 + Vite 8
- Styling: Tailwind CSS with custom design tokens
- Animations: Framer Motion
- Routing: React Router v7
Key Pages (21 total):
| Page | Purpose |
|---|---|
Chat.tsx | Primary AI chat interface with voice control |
MatrixViewer.tsx | Real-time X11 desktop streaming |
WarRoom.tsx | Multi-agent swarm debate interface |
DebateArena.tsx | Structured AI debate with turns |
Tavern.tsx | Persona-based roleplay chat |
Sessions.tsx | Chat session history browser |
KnowledgeBase.tsx | Personal notes & canvas |
Skills.tsx | Agent skill management |
Channels.tsx | Telegram/Discord bot configuration |
CronJobs.tsx | Background task scheduler |
MCP.tsx | MCP server connection manager |
Marketplace.tsx | Plugin marketplace browser |
Companion.tsx | VRM 3D avatar companion |
Backend (backend/) β
| File | Responsibility |
|---|---|
server.py | FastAPI application with 30+ REST endpoints |
agent.py | Core LLM agent with tool execution loop |
database.py | SQLAlchemy ORM for Neon PostgreSQL |
mcp_manager.py | MCP client connection manager |
plugin_loader.py | Dynamic Python plugin hot-loader |
swarm_manager.py | Multi-agent parallel execution engine |
background_workers.py | Cron scheduler and filesystem watchdog |
tavern_parser.py | TavernAI character card importer |
telegram_worker.py | Telegram bot integration |
discord_worker.py | Discord bot integration |
Data Flow β
- User sends message β Frontend
POST /api/chatwith SSE streaming - Server creates session β Stored in PostgreSQL via SQLAlchemy
- Agent processes β LiteLLM routes to selected provider
- Tool calls detected β Agent pauses, frontend shows approval dialog
- User approves β
POST /api/chat/approveexecutes tools in sandbox - Results streamed β SSE chunks flow back to the React UI
- Memory saved β Important context stored in ChromaDB vector database