Content
<p align="center">
<h1 align="center"> <img src="./imgs/logo.png" width="32" height="32" alt="WanxAgent Logo" /> WanxAgent </h1>
</p>
<p align="center">
<img src="https://img.shields.io/badge/python-3.12+-blue.svg?style=for-the-badge&logo=python&logoColor=white" alt="Python Version" />
<img src="https://img.shields.io/badge/vue-3.4+-4FC08D.svg?style=for-the-badge&logo=vue.js&logoColor=white" alt="Vue Version" />
<img src="https://img.shields.io/badge/fastapi-0.115+-009688.svg?style=for-the-badge&logo=fastapi&logoColor=white" alt="FastAPI" />
<img src="https://img.shields.io/badge/license-MIT-green.svg?style=for-the-badge" alt="License" />
</p>
WanxAgent is a modern intelligent dialogue system based on large language models, integrating core capabilities such as multi-Agent collaboration, knowledge base retrieval, tool calling, and MCP server, providing a complete AI engineering solution.
## ✨ Core Features
- **Intelligent Agent Collaboration**: Supports multi-agent collaborative work, automatic task decomposition, and planning
- **Enhanced RAG System**: Full-format document parsing, hybrid retrieval, and re-ranking optimization
- **Tool Calling and MCP Ecosystem**: Plug-in tool extension, native support for Model Context Protocol
- **Multi-Model Unified Scheduling**: Compatible with mainstream large model protocols, supporting streaming response and multi-turn dialogue
- **Real-Time Dialogue Experience**: Based on SSE's streaming output, responsive workspace design
- **Complete Permission System**: JWT security authentication, fine-grained user permission management
## Display
### Home

### Intelligent Conversation

### Knowledge Base Management

### Tools and MCP Services

### Model Configuration

### Data Dashboard

## 🛠️ Tech Stack
| Level | Technology |
| ---------- | --------------------------------- |
| Backend Framework | FastAPI + Uvicorn |
| AI Framework | LangChain + LangGraph |
| Database | SQLite / MySQL |
| Cache | Redis / Local Cache |
| Vector Database | ChromaDB |
| Frontend Framework | Vue 3 + TypeScript + Element Plus |
| Build Tool | Vite |
## 📁 Project Structure
```
WanxAgent/
├── src/
│ ├── backend/
│ │ ├── agentchat/
│ │ │ ├── api/ # API Route Layer
│ │ │ ├── core/ # Core Business Logic
│ │ │ ├── services/ # Service Layer
│ │ │ ├── database/ # Data Access Layer
│ │ │ ├── tools/ # Toolset
│ │ │ └── schema/ # Data Model
│ │ └── requirements.txt
│ └── frontend/
│ ├── src/
│ │ ├── pages/ # Page Components
│ │ ├── components/ # General Components
│ │ ├── api/ # API Call
│ │ └── stores/ # State Management
│ └── package.json
├── docs/ # Documentation
├── imgs/ # Screenshot Resources
└── scripts/ # Script Tools
```
## 🚀 Quick Start
### Environment Requirements
- Python 3.12+
- Node.js 18+
### Backend Startup
```bash
cd src/backend
pip install -r requirements.txt
python -m uvicorn agentchat.main:app --port 7860
```
### Frontend Startup
```bash
cd src/frontend
npm install
npm run dev
```
## 🔧 Configuration
The project supports configuration through environment variables, with main configuration items including:
- `SERVER_HOST` / `SERVER_PORT`: Service address and port
- `MYSQL_ENDPOINT`: Database connection address (default using SQLite)
- `REDIS_ENDPOINT`: Redis connection address (optional)
- `CONVERSATION_MODEL_API_KEY` / `CONVERSATION_MODEL_BASE_URL`: Dialogue model configuration
- `STORAGE_MODE`: Storage mode (local / minio)
## 📝 API Documentation
After starting the backend service, visit `http://localhost:7860/docs` to view the complete API documentation.
## 📊 Functional Modules
1. **User Authentication Module**: Login, registration, JWT authentication
2. **Dialogue Management Module**: Create dialogue, send messages, historical records
3. **Agent Management Module**: Agent creation, configuration, skill binding
4. **Knowledge Base Module**: Document upload, parsing, retrieval
5. **Tool Management Module**: Tool registration, calling, MCP integration
6. **Model Management Module**: Multi-model configuration, routing scheduling
## 📄 License
MIT License
## 🤝 Contribution
Welcome to submit issues and pull requests!