Skip to main content

Control plane for AI agents

Project description

๐Ÿ”ฅ OpenAgentOrchestrator (OAO)

The Control Plane for AI Agents.

OpenAgentOrchestrator (OAO) is an infrastructure-grade orchestration engine designed to bring governance, determinism, and observability to AI agents.

License: MIT Python Build

While most agent frameworks focus on building agents, OAO focuses on controlling them.

OAO acts as a control plane on top of existing AI frameworks, enabling safe, measurable, and scalable execution of AI agents.


๐Ÿš€ Why OAO?

Modern AI agent frameworks lack:

  • โŒ Deterministic lifecycle control
  • โŒ Strict policy enforcement
  • โŒ Tool-level governance
  • โŒ Execution observability
  • โŒ Parallel scheduling control
  • โŒ Infrastructure-grade architecture

OAO solves this.


๐Ÿง  Core Philosophy

OAO separates:

Agent Intelligence  โ‰   Agent Governance

Frameworks build intelligence.
OAO governs execution.

Think of OAO as:

Kubernetes for AI Agents.


โœจ Features

๐Ÿงญ Deterministic Lifecycle Engine

Strict execution flow:

INIT โ†’ PLAN โ†’ EXECUTE โ†’ REVIEW โ†’ TERMINATE

No uncontrolled recursion.
No hidden state transitions.


๐Ÿ” Policy Enforcement

Built-in StrictPolicy enforces:

  • Maximum execution steps
  • Maximum token usage
  • Maximum tool calls
  • Execution timeouts

Agents cannot bypass governance rules.


๐Ÿ”Œ Adapter Architecture

Pluggable adapter system allows integration with external frameworks.

Currently supported:

  • LangChain Adapter

Future roadmap:

  • CrewAI
  • AutoGen
  • LlamaIndex
  • Enterprise custom adapters

Adapters are fully decoupled from orchestration core.


๐Ÿ”„ Async Execution Engine

Supports both:

  • Synchronous execution (run)
  • Asynchronous execution (run_async)

Ready for scalable, high-throughput workloads.


๐Ÿ‘ฅ Multi-Agent Orchestration

Run multiple agents under centralized governance:

  • Independent lifecycle control
  • Independent execution reports
  • Controlled scheduling layer

โšก Parallel Agent Scheduler

Built-in concurrency management:

  • Configurable max concurrency
  • Async worker pool
  • Safe task isolation
  • Error containment

๐ŸŒ FastAPI Server (OAO as Service)

Expose OAO as an HTTP backend:

  • Single-agent endpoint
  • Multi-agent endpoint
  • Swagger documentation
  • Production-ready API layer

๐Ÿ“Š Structured Execution Reports

Every execution generates:

  • Unique execution ID
  • Agent name
  • Status (SUCCESS / FAILED)
  • Total steps
  • Token usage
  • Tool usage
  • Execution time
  • State history
  • Final output

Designed for observability and monitoring.


๐ŸŽ› Event Hook System

OAO emits structured lifecycle events:

  • STATE_ENTER
  • TOOL_CALL
  • POLICY_VIOLATION
  • EXECUTION_COMPLETE

Hooks enable:

  • Logging
  • Metrics
  • Monitoring
  • External integrations

๐Ÿ“ฆ Installation

Install from PyPI:

pip install open-agent-orchestrator

Optional Dependencies

For running the API server or using LangChain adapters:

# Install with API server and LangChain support
pip install "open-agent-orchestrator[server,langchain]"

Or install locally:

pip install -e ".[all]"

โšก Quick Start (Single Agent)

from oao import Orchestrator, StrictPolicy

class DummyAgent:
    def invoke(self, task):
        return {"output": f"Processed: {task}"}

policy = StrictPolicy(max_steps=5)

orch = Orchestrator(policy=policy)

report = orch.run(
    agent=DummyAgent(),
    task="Explain AI orchestration",
)

print(report.json(indent=2))

โšก Async Execution

import asyncio
from oao import Orchestrator

class DummyAgent:
    def invoke(self, task):
        return {"output": f"Processed: {task}"}

async def main():
    orch = Orchestrator()
    report = await orch.run_async(
        agent=DummyAgent(),
        task="Async execution demo"
    )
    print(report.json(indent=2))

asyncio.run(main())

๐Ÿ‘ฅ Multi-Agent Example

import asyncio
from oao.runtime.multi_agent import MultiAgentOrchestrator

class DummyAgent:
    def __init__(self, name):
        self.name = name

    def invoke(self, task):
        return {"output": f"{self.name} processed: {task}"}

agents = {
    "researcher": DummyAgent("Researcher"),
    "critic": DummyAgent("Critic"),
}

async def main():
    multi = MultiAgentOrchestrator(max_concurrency=2)

    results = await multi.run_multi_async(
        agents=agents,
        task="Discuss AI governance"
    )

    for name, report in results.items():
        print(name, report.status)

asyncio.run(main())

๐ŸŒ Run as API Service

Start server:

# Ensure server dependencies are installed
pip install "open-agent-orchestrator[server]"

uvicorn oao.server:app --reload

Open:

http://127.0.0.1:8000/docs

Available endpoints:

  • POST /run
  • POST /run-multi

๐Ÿ— Architecture Overview

Client / CLI / Dashboard
            โ†“
        FastAPI Server
            โ†“
     OAO Orchestrator Core
            โ†“
   Adapter โ†’ External Framework

Core Components:

  • Lifecycle State Machine
  • Policy Engine
  • Adapter Registry
  • Tool Interception Layer
  • Event Bus
  • Execution Report Generator
  • Parallel Scheduler
  • Multi-Agent Coordinator

๐Ÿ”’ Governance Model

OAO enforces:

  • Deterministic state transitions
  • Token budgeting
  • Tool access limits
  • Execution boundaries
  • Timeout enforcement

Agents cannot override governance rules.


๐Ÿงช Project Structure

oao/
 โ”œโ”€โ”€ runtime/
 โ”œโ”€โ”€ adapters/
 โ”œโ”€โ”€ policy/
 โ”œโ”€โ”€ protocol/
 โ”œโ”€โ”€ server.py
 โ”œโ”€โ”€ cli.py

๐Ÿ“ˆ Roadmap

  • Deterministic lifecycle engine
  • Strict policy enforcement
  • Adapter abstraction
  • Async execution engine
  • Multi-agent orchestration
  • Parallel scheduler
  • FastAPI service
  • Web dashboard
  • Distributed scheduler (Redis)
  • DAG-based orchestration
  • Metrics exporter
  • Enterprise plugin ecosystem

๐Ÿค Contributing

Contributions are welcome.

Guidelines:

  • Maintain clean architecture principles
  • Keep lifecycle deterministic
  • Preserve adapter abstraction
  • Add tests for new modules

๐Ÿ“œ License

MIT License


๐Ÿง  Vision

OAO aims to become:

The Infrastructure Layer for AI Agents.

As AI agents become more autonomous, governance becomes essential.

OAO ensures agents remain:

  • Observable
  • Measurable
  • Controllable
  • Scalable
  • Safe

โญ Support

If you find OAO useful:

  • Star the repository
  • Contribute adapters
  • Build plugins
  • Share with the AI community

Letโ€™s define the control plane for AI systems.

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

open_agent_orchestrator-0.1.1.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

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

open_agent_orchestrator-0.1.1-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file open_agent_orchestrator-0.1.1.tar.gz.

File metadata

  • Download URL: open_agent_orchestrator-0.1.1.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for open_agent_orchestrator-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bea366d81de6a91fe8d73a4a23363f0ae49d1826696976d40a62097ec6adac8f
MD5 423634316ba8f838fd6b079eb5b4ac2f
BLAKE2b-256 84023b3bca0da41c4a3fbe3b50ba833ed683081680366637ab59de9c4abf7ce4

See more details on using hashes here.

File details

Details for the file open_agent_orchestrator-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for open_agent_orchestrator-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c1e8f8b9c9ad9fd3bb5ad2be5071d1c17dbb1182c7b712eb0d513bf88c6ac34
MD5 16fc7d5f6504a07a5fab1c57fe5372cf
BLAKE2b-256 3091ead15fc6caf23e95e2dd6e55328fc940bbb2bc720deb856d83533cc619c9

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