Agent Orchestrator Plugin for elizaOS - orchestrates tasks across agent providers
Project description
Agent Orchestrator Plugin (Python)
Python implementation of the Agent Orchestrator plugin for elizaOS.
Overview
This plugin orchestrates tasks across registered agent providers without performing file I/O directly - that responsibility belongs to sub-agent workers.
Features
- Task lifecycle management (create, pause, resume, cancel)
- Provider-based execution model
- Event system for task state changes
- Cross-platform parity with TypeScript and Rust implementations
Installation
pip install elizaos-plugin-agent-orchestrator
Usage
from elizaos_plugin_agent_orchestrator import (
configure_agent_orchestrator_plugin,
AgentOrchestratorPluginOptions,
plugin,
)
# Define your agent provider
class MyProvider:
id = "my-agent"
label = "My Agent"
description = "Custom agent provider"
async def execute_task(self, task, ctx):
await ctx.append_output("Hello from my-agent")
await ctx.update_progress(100)
return TaskResult(
success=True,
summary="done",
files_created=[],
files_modified=[],
)
# Configure the plugin before runtime initialization
configure_agent_orchestrator_plugin(
AgentOrchestratorPluginOptions(
providers=[MyProvider()],
default_provider_id="my-agent",
get_working_directory=lambda: os.getcwd(),
)
)
# Register the plugin with your runtime
runtime.register_plugin(plugin)
Actions
CREATE_TASK- Create a new orchestrated taskLIST_TASKS- List all tasksSWITCH_TASK- Switch current task contextSEARCH_TASKS- Search tasks by queryPAUSE_TASK- Pause a running taskRESUME_TASK- Resume a paused taskCANCEL_TASK- Cancel a task
Provider Interface
Providers must implement the AgentProvider protocol:
class AgentProvider(Protocol):
@property
def id(self) -> str: ...
@property
def label(self) -> str: ...
@property
def description(self) -> Optional[str]: ...
async def execute_task(
self,
task: OrchestratedTask,
ctx: ProviderTaskExecutionContext,
) -> TaskResult: ...
License
MIT
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 elizaos_plugin_agent_orchestrator-2.0.0a5.tar.gz.
File metadata
- Download URL: elizaos_plugin_agent_orchestrator-2.0.0a5.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc1801eb6556a9b524232b7a6374de6d54f9db6dc3ab8a27b59f7ec31eed38dc
|
|
| MD5 |
c122648f3ded60b28df438a937dd6a19
|
|
| BLAKE2b-256 |
9c64edf93076d82cb99ff0b6852c4c56decef6f351b636af90bca7d017cbb8f9
|
File details
Details for the file elizaos_plugin_agent_orchestrator-2.0.0a5-py3-none-any.whl.
File metadata
- Download URL: elizaos_plugin_agent_orchestrator-2.0.0a5-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b67d4075cd97c7c074754d9b2e40a5f1daef9b379bc242121715fcecf1a3e54
|
|
| MD5 |
8530350e8d9f146dbd82038953a43af8
|
|
| BLAKE2b-256 |
bcd55f805d777519592ecb129b41b1d9135907ea7250cb42a0a3d3b805ef0b85
|