A multi-agent orchestration system built with Microsoft Agent Framework
Project description
AgenticFleet
โ ๏ธ Active Development Notice This project is under active development. Features, APIs, and workflows may change. We recommend pinning to specific versions for production use.
AgenticFleet Overview
- ๐ฅ๏ธ Interactive CLI โ Rich terminal interface for direct agent interaction
- ๐ Web Frontend โ Modern React UI wired to agent-as-workflow pattern (default)
- ๐ Jupyter Notebooks โ Exploration and prototyping environments in
notebooks/
๐ Quick Start
Prerequisites
- Python 3.12+
- uv package manager
- OpenAI API key (set as
OPENAI_API_KEY)
Installation
# 1. Clone the repository
git clone https://github.com/Qredence/agentic-fleet.git
cd agentic-fleet
# 2. Configure environment
cp .env.example .env
# Edit .env to add your OPENAI_API_KEY
# 3. Install dependencies
make install
# 4. Launch the fleet (runs frontend + backend)
uv run agentic-fleet
# Alternatives:
# make dev # Same as agentic-fleet
# uv run fleet # CLI/REPL only
โจ Key Features
- ๐ฏ Magentic-Native Architecture โ Built on Microsoft Agent Framework's
MagenticBuilderwith intelligent planning and progress evaluation - ๐ค Specialized Agent Fleet โ Pre-configured researcher, coder, and analyst agents with domain-specific tools
- ๐ Modern Web Frontend โ React-based UI with agent-as-workflow pattern for seamless agent interaction
- ๐ Interactive Notebooks โ Jupyter notebooks for experimentation, prototyping, and learning
- ๐พ State Persistence โ Checkpoint system saves 50-80% on retry costs by avoiding redundant LLM calls
- ๐ก๏ธ Human-in-the-Loop (HITL) โ Configurable approval gates for code execution, file operations, and sensitive actions
- ๐ Full Observability โ Event-driven callbacks for streaming responses, plan tracking, and tool monitoring
- ๐ง Long-term Memory โ Optional Mem0 integration with Azure AI Search for persistent context
- ๐ง Declarative Configuration โ YAML-based agent configuration for non-engineers to tune prompts and tools
- ๐จ Multiple Interfaces โ CLI, web frontend, and notebooks for different workflows
๐ Quick Start
Prerequisites
- Python 3.12+
- uv package manager
- OpenAI API key (set as
OPENAI_API_KEY)
Installation
# 1. Clone the repository
git clone https://github.com/Qredence/agentic-fleet.git
cd agentic-fleet
# 2. Configure environment
cp .env.example .env
# Edit .env to add your OPENAI_API_KEY
# 3. Install dependencies
make install
# 4. Launch the fleet (runs frontend + backend)
uv run agentic-fleet
# Frontend runs on port 5173, backend on port 8000
# Alternatives:
# make dev # Same as agentic-fleet
# uv run fleet # CLI/REPL only
First Run
Web Frontend (Default):
Run uv run agentic-fleet (or make dev) to launch both frontend and backend. Access the web UI at http://localhost:5173 to interact with agents through a modern React interface using the agent-as-workflow pattern.
CLI Interface:
For command-line interaction only, run uv run fleet:
AgenticFleet v0.5.4
________________________________________________________________________
Task โค Analyze Python code quality in my repository
Plan ยท Iteration 1 Facts: User needs code analysis | Plan: Use coder agent...
Progress Status: In progress | Next speaker: coder
Agent ยท coder Analyzing repository structure...
Result Found 12 files, 3 quality issues...
Built-in CLI commands:
- History navigation:
โ/โorCtrl+R - Checkpoints:
checkpoints,resume <id> - Exit:
quitorCtrl+D
Jupyter Notebooks:
Explore example workflows in notebooks/ including:
magentic.ipynbโ Magentic One pattern examplesagent_as_workflow.ipynbโ Agent-as-workflow demonstrationsmem0_basic.ipynbโ Memory integration tutorialazure_responses_client.ipynbโ Azure AI responses client usage
๐ฏ Current Status
โ Production Ready - v0.5.4
AgenticFleet is now production-ready with enterprise-grade features:
- ๐ Type Safe: 100% mypy compliance, zero type errors
- ๐งช Well Tested: Configuration validation + orchestration tests
- ๐ Observable: Full OpenTelemetry tracing integrated
- ๐ก๏ธ Secure: Human-in-the-loop approval system
- โก Performant: Checkpoint system reduces retry costs by 50-80%
- ๐จ Modern UI: Production-ready React frontend with real-time streaming
๐๏ธ Architecture
AgenticFleet implements the Magentic One workflow pattern with a manager-executor architecture:
Workflow Cycle
- PLAN โ Manager analyzes task, gathers facts, creates structured action plan
- EVALUATE โ Progress ledger checks: request satisfied? in a loop? who acts next?
- ACT โ Selected specialist executes with domain-specific tools, returns findings
- OBSERVE โ Manager reviews response, updates context, decides next action
- REPEAT โ Continues until completion or limits reached (configurable in
workflow.yaml)
Agent Specialists
| Agent | Model Default | Tools | Purpose |
|---|---|---|---|
| Orchestrator | gpt-5 |
(none) | Task planning & result synthesis |
| Researcher | gpt-5 |
web_search_tool |
Information gathering & citations |
| Coder | gpt-5-codex |
code_interpreter_tool (Microsoft hosted sandbox) |
Code generation & analysis |
| Analyst | gpt-5 |
data_analysis_tool, visualization_suggestion_tool |
Data exploration & insights |
All agents use OpenAI Response API format via OpenAIResponsesClient and return structured Pydantic models for reliable downstream parsing.
See Architecture Documentation for detailed design patterns.
โ๏ธ Configuration
AgenticFleet uses a declarative YAML-first approach:
Workflow Configuration (config/workflow.yaml)
fleet:
manager:
model: "gpt-5"
instructions: |
You coordinate researcher, coder, and analyst agents.
Delegate based on task requirements...
orchestrator:
max_round_count: 30 # Maximum workflow iterations
max_stall_count: 3 # Triggers replan
max_reset_count: 2 # Complete restart limit
callbacks:
streaming_enabled: true
log_progress_ledger: true
Per-Agent Configuration (agents/<role>/config.yaml)
name: researcher
model: gpt-5
temperature: 0.3
max_tokens: 4000
system_prompt: |
You are a research specialist. Use web_search_tool to find information...
tools:
- name: web_search_tool
enabled: true
Environment Variables (.env)
# Required
OPENAI_API_KEY=sk-...
# Optional: Memory (Mem0)
MEM0_HISTORY_DB_PATH=./var/mem0
OPENAI_EMBEDDING_MODEL=text-embedding-3-small
# Optional: Observability
ENABLE_OTEL=true
OTLP_ENDPOINT=http://localhost:4317
๐ ๏ธ Development
Setup Development Environment
# Install with dev dependencies
make install
# Run configuration validation
make test-config
# Run all quality checks (lint, format, type-check)
make check
# Run test suite
make test
Development Commands
All commands use uv run prefix (managed by Makefile):
| Command | Purpose |
|---|---|
uv run agentic-fleet |
Launch frontend + backend (full stack) |
uv run fleet |
CLI/REPL interface only |
make dev |
Same as agentic-fleet |
make test |
Run full test suite |
make test-config |
Validate YAML configs & agent factories |
make lint |
Check code with Ruff |
make format |
Auto-format with Black + Ruff |
make type-check |
Run mypy strict type checking |
make check |
Chain lint + format + type checks |
Testing Patterns
- Configuration Tests:
tests/test_config.pyvalidates env vars, YAML structure, tool imports - Fleet Tests:
tests/test_magentic_fleet.pycovers 14 orchestration scenarios - Memory Tests:
tests/test_mem0_context_provider.pyvalidates Mem0 integration - Mock LLM Calls: Always patch
OpenAIResponsesClientto avoid API costs in tests
Code Quality Standards
- Python 3.12+ with strict typing (
Type | Noneinstead ofOptional[Type]) - 100-character line limit (Black formatter)
- Ruff linting with
pyupgradeandisortrules - MyPy strict checks (except for test files)
- Pydantic models for all tool return types
See Contributing Guide for detailed conventions.
๐ Documentation
Comprehensive documentation organized by audience:
For Users
- Getting Started โ Installation, configuration, first steps
- User Guides โ Task-oriented tutorials
- Agent Catalog โ Detailed agent capabilities & tools
- Troubleshooting โ FAQ & common issues
For Developers
- Architecture โ System design & patterns
- Features โ Implementation deep-dives
- Contributing โ Development workflow & standards
- API Reference โ REST API & Python SDK
๐ Documentation Index โ Complete navigation guide
๐ Release Notes
v0.5.4 (2025-10-23)
- Memory Bank Integration: Added comprehensive memory-bank instructions for AI context persistence
- Documentation Expansion: Enhanced AGENTS documentation with detailed capability descriptions
- UI/UX Polish: Significant frontend improvements for better user experience
- Backend Cleanup: Code quality improvements and architectural refinements
- Security Enhancements: Fixed workflow permissions and expression injection vulnerabilities
- CI/CD Improvements: Updated workflows for release triggering and code scanning
- Version Management: Consistent v0.5.4 versioning across all documentation
๐ง Adding Custom Agents
Extend the fleet with domain-specific agents:
1. Scaffold Agent Structure
mkdir -p src/agenticfleet/agents/planner/{tools,}
touch src/agenticfleet/agents/planner/{__init__.py,agent.py,config.yaml}
2. Create Agent Factory
# src/agenticfleet/agents/planner/agent.py
from agenticfleet.config.settings import settings
from agent_framework import ChatAgent
from agent_framework.azure_ai import OpenAIResponsesClient
def create_planner_agent() -> ChatAgent:
config = settings.load_agent_config("planner")
return ChatAgent(
name=config["name"],
model=config["model"],
system_prompt=config["system_prompt"],
client=OpenAIResponsesClient(model_id=config["model"]),
tools=[], # Add tools here
)
๐ค Contributing
We welcome contributions! Please follow these steps:
Before You Start
- Read Contributing Guidelines
- Review Code of Conduct
- Check existing Issues
Development Process
# 1. Fork & clone
git clone https://github.com/YOUR_USERNAME/agentic-fleet.git
cd agentic-fleet
# 2. Create feature branch
git checkout -b feat/your-feature
# 3. Make changes
# Edit code, update docs, add tests
# 4. Run quality checks
make check # Lint, format, type-check
make test-config # Validate configurations
make test # Full test suite
# 5. Commit with conventional format
git commit -m "feat(agents): add planner agent with breakdown tool"
# 6. Push & open PR
git push origin feat/your-feature
Pull Request Checklist
- โ
Tests pass (
make test) - โ
Code formatted (
make check) - โ Documentation updated
- โ
YAML configs validated (
make test-config) - โ
Commit messages follow
feat:,fix:,docs:convention
๐ Security
Reporting Vulnerabilities
Do NOT open public issues for security vulnerabilities.
Please follow the process outlined in SECURITY.md.
Security Best Practices
- Store API keys in
.env(never commit) - Use HITL approval for code execution
- Enable audit logging for sensitive operations
- Review tool permissions in agent configs
- Keep dependencies updated (
uv sync)
๐ License
AgenticFleet is released under the MIT License.
Copyright (c) 2025 Qredence
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...
See LICENSE for full terms.
๐ Acknowledgments
Built with:
- Microsoft Agent Framework โ Core orchestration
- Mem0 โ Long-term memory layer
- uv โ Fast Python package manager
- Rich โ Beautiful terminal UI
- Pydantic โ Data validation
Special thanks to the Microsoft Agent Framework team for the Magentic One pattern.
๐ Support & Community
- Documentation: docs/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Website: qredence.ai
Made with โค๏ธ by Qredence
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 agentic_fleet-0.5.4.tar.gz.
File metadata
- Download URL: agentic_fleet-0.5.4.tar.gz
- Upload date:
- Size: 567.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d28b1056cdd295a4728db6452040fe98708b59f4ae1c5fee001e3d02bfd1f0f6
|
|
| MD5 |
9db78c3ad062ca07cc1e18dcc2f54d49
|
|
| BLAKE2b-256 |
6160da14d97d5309c5dcf699f23bc927a84b27533929cb1734518023a3d6fdad
|
File details
Details for the file agentic_fleet-0.5.4-py3-none-any.whl.
File metadata
- Download URL: agentic_fleet-0.5.4-py3-none-any.whl
- Upload date:
- Size: 145.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14469ebf91a58d1447a71b943bebe4a7d906a716ccb4e4a81b2bee87e167e4c9
|
|
| MD5 |
c2df1d31fe1b3e647c2c313e933f5c77
|
|
| BLAKE2b-256 |
5f5e280409e9b577caa7152cd2bee3d78259cdcff10a410ef127850fbb9b5dd0
|