Multi-Agent Chatbot SDK - Build customizable multi-agent chatbots with ease
Project description
MACSDK - Multi-Agent Chatbot SDK
A comprehensive SDK for building customizable multi-agent chatbots with RAG support, web interfaces, and reusable API tools.
Features
- 🏗️ Scaffolding CLI: Generate chatbot and agent projects with a single command
- 🤖 Intelligent Supervisor: Automatic routing and orchestration of specialist agents
- 📚 RAG Agent: Built-in retrieval-augmented generation for documentation queries
- 🌐 Web Interface: FastAPI + WebSocket server with real-time streaming
- 🔧 API Tools: Reusable tools for REST APIs with JSONPath extraction
- 🔄 Streaming: Real-time progress updates for CLI and web interfaces
Quick Start
Installation
pip install macsdk
# or with uv
uv add macsdk
Create a Chatbot
# Basic chatbot
macsdk new chatbot my-assistant --display-name "My Assistant"
# With RAG support for documentation queries
macsdk new chatbot my-assistant --with-rag
cd my-assistant
uv sync
Create an Agent
macsdk new agent weather-agent --description "Fetches weather data"
Run Your Chatbot
# Show available commands
my-assistant
# Start CLI chat
my-assistant chat
# Start web interface
my-assistant web
# List registered agents
my-assistant agents
# Show configuration
my-assistant info
Run Your Agent (standalone)
# Show available commands
my-agent
# Start interactive chat
my-agent chat
# List tools
my-agent tools
Configuration
Environment Variables (.env)
GOOGLE_API_KEY=your_key_here
YAML Configuration (config.yml)
# LLM settings
llm_model: gemini-2.5-flash
llm_temperature: 0.3
# RAG sources (if --with-rag)
rag:
enabled: true
sources:
- name: "My Docs"
url: "https://docs.example.com/"
tags: ["docs", "api"]
Examples
The examples/ directory contains working examples:
- api-agent: REST API interactions with JSONPlaceholder
- devops-chatbot: Multi-agent chatbot with RAG and API tools
Development
git clone https://github.com/juanje/macsdk
cd macsdk
uv sync
# Run tests
uv run pytest
# Type checking & linting
uv run mypy src/
uv run ruff check .
License
MIT
🤖 AI Tools Disclaimer
This project was developed with the assistance of artificial intelligence tools:
Tools used:
- Cursor: Code editor with AI capabilities
- Claude-4.5-Opus: Anthropic's language model
Division of responsibilities:
Human (Juanje Ojeda):
- 🎯 Specification of objectives and requirements
- 📋 Definition of project's architecture
- 🔍 Critical review of code and documentation
- ✅ Final validation of concepts and approaches
AI (Cursor + Claude-4.5-Opus):
- 🔧 Code prototyping and implementation
- 📝 Generation of examples and test cases
- 🐛 Debugging and error resolution
- 📚 Documentation writing
Collaboration philosophy: AI tools served as a highly capable technical assistant, while all design decisions and project directions were defined and validated by the human.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file macsdk-0.1.0.tar.gz.
File metadata
- Download URL: macsdk-0.1.0.tar.gz
- Upload date:
- Size: 65.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4273e7023e319f0065902e394fac84a66e0113b14833947300b95e4a6e866a10
|
|
| MD5 |
158f093413317ce4fe1647c75f4e0768
|
|
| BLAKE2b-256 |
d705330b8b0564895d343f2d8a7638282f50785920f9802f95c1232880cf5466
|
File details
Details for the file macsdk-0.1.0-py3-none-any.whl.
File metadata
- Download URL: macsdk-0.1.0-py3-none-any.whl
- Upload date:
- Size: 93.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e0b7e219c79fcf3eecd4719dc9fbce48c6365076428139d9e114d826fd3acf6
|
|
| MD5 |
70183da448587eff21a1def7a1384cce
|
|
| BLAKE2b-256 |
6ae3ac8c8a7246df8d231ea38e03b875cfa49d1bb4457068f8efc6e409464daa
|