A .NET multi-agent orchestration framework built on Microsoft Agent Framework and Microsoft.Extensions.AI. Define a team of AI agents in a YAML config and coordinate them across keyword routing, explicit state machine routing, LLM-based selection, or fully autonomous Magentic orchestration. Unlike typical agent frameworks, fuseraft enforces mechanical progress guarantees using deterministic validators and change tracking — handoffs are blocked until real evidence exists on disk, not just claimed in prose. Sessions checkpoint after every turn and resume exactly where they left off. Works with Anthropic, xAI, OpenAI, Azure OpenAI, Ollama, and any OpenAI-compatible provider.
Early stage. Functional but not battle-tested — best suited for experimentation and automation of well-defined tasks.
Pipelines range from a single task-routed assistant:
...to multi-agent workflows with conditional keyword routing and anti-hallucination validators enforced at every handoff:
...to fully autonomous Magentic orchestration where a Manager dynamically selects agents and collects their reports:
- .NET 10 SDK
- An API key for your chosen provider (e.g.
XAI_API_KEYfor xAI)
# Build
./build.sh # Linux / macOS
.\build.ps1 # Windows
# Copy the example YAML config and customise it
cp config/examples/orchestration.yaml config/orchestration.yaml
# Run against a YAML config
./bin/fuseraft run -c config/orchestration.yaml "Build a REST API in Go with JWT authentication"
# Resume the most recent incomplete session
./bin/fuseraft run --resume
# Validate a config before running
./bin/fuseraft validate config/orchestration.yaml- Runs any number of agents in a coordinated loop driven by keyword routing, explicit state machine routing, LLM-based selection, or fully autonomous Magentic orchestration
- Gives each agent access to tools: filesystem, shell, git, HTTP, JSON, search, Docker sandboxes, MCP servers, persistent scratchpad, shared chatroom
- Saves a checkpoint after every turn so sessions can always be resumed
- Tracks token usage per turn; enforces per-model context caps via
MaxContextTokensand a session-wide hard stop viaMaxTotalTokens - Enforces correctness with routing validators that block handoffs unless evidence is present
- Sandboxes agent file and shell access to a configured directory tree
- Applies per-agent execution rings, prompt injection detection, circuit breaker, and a hash-chain audit log via the Agent Governance Toolkit
- Supports mixing any combination of LLM providers per agent
- Streams agent turns to a browser-based DevUI (
--devui) for real-time session visualization
| Doc | What it covers |
|---|---|
| Getting Started | Prerequisites, build, first run |
| CLI Reference | All commands and flags |
| Configuration | Full config schema (YAML and JSON) |
| Models & Providers | Model configuration and provider auto-detection |
| Plugins | All built-in tools agents can call |
| Strategies | Selection and termination strategies |
| Routing Validators | Anti-hallucination handoff guards |
| Harness Engineering | Designing orchestration configs that enforce real progress mechanically |
| MCP Integration | Connecting external MCP servers |
| Security & Sandbox | File and network containment |
| Governance | Execution rings, audit log, circuit breaker, SLO tracking |
| Context Store | Importing files and directories into the session context |
| Sessions | Resumption, HITL, cost tracking, compaction |
| Examples | Ready-to-use config examples |
MIT


