A sophisticated multi-agent system where a Project Manager (PM) agent coordinates multiple Software Engineering (SWE) agents to build software projects. Inspired by mini-swe-agent's philosophy of simplicity and effectiveness.
- Project Manager Agent: Creates detailed PRDs and coordinates implementation phases
- SWE Agents: Implement atomic tasks with full context awareness
- Git-based Collaboration: Each agent works on separate branches with proper version control
- Real-time Dashboard: Web interface to monitor agent progress
- Comprehensive Logging: All agent activities logged to
logs/directory - Windows Compatible: Fully tested on Windows with proper command handling
- Python 3.8+
- Git
- pip
- Clone the repository:
git clone <repository-url>
cd multiagent- Install dependencies:
pip install flask litellm python-dotenv- Configure your LLM:
# Copy the sample environment file
cp .env.sample .env
# Edit .env with your LLM configuration
# See .env.sample for examples of different providersThe system supports any OpenAI-compatible API. Configure in .env:
LLM_API_URL=https://api.example.com/v1/
LLM_API_KEY=your-api-key-here
LLM_MODEL=model-name-here- OpenAI: GPT-4, GPT-3.5
- Anthropic: Claude 3 Opus, Sonnet, Haiku
- Local Models: Ollama, LM Studio
- Cloud Providers: Cerebras, Together AI, Anyscale
- Any OpenAI-compatible endpoint
- Start the server:
python app.py-
Open your browser to
http://localhost:5000 -
Create a new project:
- Enter project name
- Provide project description
- Click "Create Project"
-
Monitor progress:
- Watch agents create PRD
- See tasks being assigned
- Track implementation progress
- View real-time logs
- PM Agent creates a detailed Product Requirements Document (PRD)
- PRD includes file structure, technical requirements, and implementation phases
- PM Agent creates atomic tasks with clear success criteria
- PM Agent creates SWE agents for each task
- Each SWE agent:
- Works on a unique git branch
- Reads existing files for context
- Implements only their specific task
- Commits changes when complete
- PM Agent monitors progress and verifies completion
- Atomic Tasks: Each task does one thing well
- Full Context: Agents see all command outputs and maintain conversation history
- File-based Creation: Uses
<file>tags for reliable file creation - Verification: PM can read files to verify implementation
multiagent/
├── app.py # Main Flask application
├── prompts/ # Agent system prompts
│ ├── pm_agent.txt # Project Manager prompt
│ └── swe_agent.txt # Software Engineer prompt
├── templates/ # Web interface templates
│ └── dashboard.html # Main dashboard
├── logs/ # Agent logs (auto-created)
│ └── <project>/ # Per-project logs
│ └── <timestamp>/ # Per-run logs
└── projects/ # Created projects (auto-created)
All agent activities are logged to logs/<project_name>/<timestamp>/:
pm_agent_*.log: Project Manager activitiesswe_agent_*.log: Individual SWE agent activities
- Ensure you've copied
.env.sampleto.env - Fill in all required LLM configuration values
- The system automatically creates
.gitkeepfiles in empty directories - This ensures git can track the directory structure
- The system uses Windows-compatible commands
- File creation uses
<file>tags, not echo commands
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
[Your chosen license]
Inspired by mini-swe-agent and its philosophy of simplicity and effectiveness.