Skip to main content

A multi-agent orchestration system built with Microsoft Agent Framework

Project description

AgenticFleet

AgenticFleet Architecture

Python 3.12+ License: MIT uv PyPI Downloads

โš ๏ธ 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 MagenticBuilder with 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: โ†‘ / โ†“ or Ctrl+R
  • Checkpoints: checkpoints, resume <id>
  • Exit: quit or Ctrl+D

Jupyter Notebooks: Explore example workflows in notebooks/ including:

  • magentic.ipynb โ€“ Magentic One pattern examples
  • agent_as_workflow.ipynb โ€“ Agent-as-workflow demonstrations
  • mem0_basic.ipynb โ€“ Memory integration tutorial
  • azure_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

  1. PLAN โ€“ Manager analyzes task, gathers facts, creates structured action plan
  2. EVALUATE โ€“ Progress ledger checks: request satisfied? in a loop? who acts next?
  3. ACT โ€“ Selected specialist executes with domain-specific tools, returns findings
  4. OBSERVE โ€“ Manager reviews response, updates context, decides next action
  5. 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.py validates env vars, YAML structure, tool imports
  • Fleet Tests: tests/test_magentic_fleet.py covers 14 orchestration scenarios
  • Memory Tests: tests/test_mem0_context_provider.py validates Mem0 integration
  • Mock LLM Calls: Always patch OpenAIResponsesClient to avoid API costs in tests

Code Quality Standards

  • Python 3.12+ with strict typing (Type | None instead of Optional[Type])
  • 100-character line limit (Black formatter)
  • Ruff linting with pyupgrade and isort rules
  • 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

For Developers

๐Ÿ“š 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

  1. Read Contributing Guidelines
  2. Review Code of Conduct
  3. 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:

Special thanks to the Microsoft Agent Framework team for the Magentic One pattern.


๐Ÿ“ž Support & Community


โฌ† Back to Top

Made with โค๏ธ by Qredence

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentic_fleet-0.5.4.tar.gz (567.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentic_fleet-0.5.4-py3-none-any.whl (145.1 kB view details)

Uploaded Python 3

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

Hashes for agentic_fleet-0.5.4.tar.gz
Algorithm Hash digest
SHA256 d28b1056cdd295a4728db6452040fe98708b59f4ae1c5fee001e3d02bfd1f0f6
MD5 9db78c3ad062ca07cc1e18dcc2f54d49
BLAKE2b-256 6160da14d97d5309c5dcf699f23bc927a84b27533929cb1734518023a3d6fdad

See more details on using hashes here.

File details

Details for the file agentic_fleet-0.5.4-py3-none-any.whl.

File metadata

File hashes

Hashes for agentic_fleet-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 14469ebf91a58d1447a71b943bebe4a7d906a716ccb4e4a81b2bee87e167e4c9
MD5 c2df1d31fe1b3e647c2c313e933f5c77
BLAKE2b-256 5f5e280409e9b577caa7152cd2bee3d78259cdcff10a410ef127850fbb9b5dd0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page