v0.2.0 · Alpha

WactorZ

Actor-model multi-agent AI framework — Python · Rust · MQTT

$ pip install wactorz[all]
or latest from GitHub: pip install "wactorz[all] @ git+https://github.com/waldiez/wactorz.git"

Built for production
multi-agent systems

Erlang/OTP-style supervision, real-time MQTT telemetry, and a live 3D web dashboard — out of the box.

Actor Supervision

ONE_FOR_ONE, ONE_FOR_ALL, REST_FOR_ONE restart strategies with configurable budgets. Agents crash-restart automatically.

Erlang/OTP model
Multi-LLM Backends

Plug in Anthropic, OpenAI, Ollama, or NVIDIA NIM. Swap providers without touching agent logic.

Provider-agnostic
MQTT Pub/Sub

Every agent heartbeat, metric, alert and chat message flows over typed MQTT topics. Introspect or integrate anything.

Real-time telemetry
Live 3D Dashboard

Babylon.js web UI renders agent graphs, galaxy views, and card layouts. Chat, monitor and command agents in-browser.

Babylon.js · MQTT WS

Up in three steps

main.py
# 1. Install
#    pip install wactorz[all]
#    pip install "wactorz[all] @ git+https://github.com/waldiez/wactorz.git"  # latest

from wactorz import ActorSystem, Actor, Message
from wactorz.agents.llm_agent import AnthropicProvider, LLMAgent
import asyncio

# 2. Build your system
async def main():
    system = ActorSystem(mqtt_broker="localhost", mqtt_port=1883)
    provider = AnthropicProvider(model="claude-sonnet-4-6")

    # Register agents under the supervisor
    (system.supervisor
        .supervise("researcher", lambda: LLMAgent(
            name="researcher", llm_provider=provider,
            system_prompt="You are a research agent.",
        ), max_restarts=5)
    )

    # 3. Run — dashboard at http://localhost:8888
    await system.supervisor.start()
    await system.run_forever()

asyncio.run(main())

Everything you need