Extensible Multitasking Agentic System
- Table of Contents
- Introduction
- Features
- Tech Stack
- Architecture
- Installation
- Project Preview
- Support
xAgent is a modular, real-time, intelligent multi-agent mobile application that leverages state-of-the-art language models and clean architecture principles to help users perform tasks across domains like chat, finance, coding, and emailing. The system uses WebSocket communication, LangGraph workflows, and the MCP (Model Context Protocol) design pattern for scalable agent interactions.
- Secure authentication with JWT
- Profile management with protected routes
- Realtime Chat Agent for general-purpose conversations
- Coding Agent for code generation, debugging, and explanation
- Finance Agent for applying stock strategies and financial analysis
- WebSocket-based real-time communication between agents and backend
- MCP (Model Context Protocol) architecture for modular agent design
- LangGraph based workflow orchestration for stateful task execution
- Clean Architecture and SOLID principles in Flutter frontend
- LLM-powered intelligence using Gemini and LLaMA models
| Frontend | Backend | Others |
|---|---|---|
Dart |
Python |
Git |
Flutter |
FastAPI |
Ollama |
Bloc |
Supabase |
Meta Llama |
GetIt |
LangChain |
Gemini |
fpDart |
LangGraph |
MCP |
- The Flutter frontend handles UI interactions and sends/receives data over WebSocket.
- The FastAPI backend acts as the central coordinator, processing real-time messages, managing authentication, and routing requests to agents.
- Agents are modular, LLM-powered components using the Model Context Protocol (MCP) pattern.
- LangGraph is used to orchestrate workflows for certain agents.
- Supabase is used for user authentication and profile data storage via its Python SDK, directly in FastAPI.
Follow these steps to set up the project locally.
Make sure you have the following installed:
- Flutter SDK (v3.x or later)
- Python (v3.10+)
- Supabase account
- Git & a code editor
Clone the repository:
git clone https://github.com/anshRS/xautoflow.git
cd xautoflowCreate the virtual environment:
cd server
python -m venv venvOnce created a virtual environment, activate it:
On Windows run:
venv\Scripts\activate
On Unix or MacOS, run:
source venv/bin/activateAdd the dependencies as:
pip install -r requirements.txt
Create a .env file from the provided example:
cp .env.example .env
Then start the backend server:
fastapi dev main.py
Ensure your mobile device or emulator is connected properly.
cd client
flutter pub get
flutter runDemo video showing the working of the application is provided under assets/demo.mp4.
If you find the project useful or interesting, please consider giving it a ⭐️! Your support is greatly appreciated and helps others discover this project.