Skip to main content

Distributed Subagents Framework for Pipecat

Project description

pipecat subagents

PyPI Tests codecov Docs Discord

Pipecat Subagents is a distributed multi-agent framework for Pipecat. Each agent runs its own Pipecat pipeline and communicates with other agents through a shared message bus, enabling you to decompose complex systems into specialized, coordinating agents that can run locally or across machines.

Whether local or distributed, the programming model is the same: create an AgentRunner, connect it to the bus, and add agents.

🧠 Why Pipecat Subagents?

Pipecat is a powerful real-time framework for building voice and multimodal AI applications. Pipecat Subagents extends it with distributed multi-agent coordination where each agent runs its own Pipecat pipeline.

Some things you can build:

  • A customer support system where each specialist runs its own LLM with dedicated tools and context, transferring seamlessly between each other.
  • A video game where multiple LLMs independently control different characters, environments, or game mechanics.
  • A stock analysis app that dispatches parallel research to multiple worker agents and synthesizes their findings.
  • A video or image analysis pipeline where worker agents process media using Pipecat processors and stream updates back.
  • An IoT system where remote devices run agents on specialized hardware, reporting status and receiving commands.

If a single Pipecat pipeline covers your use case, you don't need subagents. When you outgrow it, the transition is straightforward: your existing pipeline becomes one agent among many.

✨ Features

  • Per-agent pipeline: every agent runs its own Pipecat pipeline with access to all services, processors, and transports (e.g. different LLMs, local models, image analysis, custom processors).
  • Agent handoff: transfer control between agents mid-conversation, seamlessly switching context and capabilities.
  • Task coordination: dispatch work to specialized worker agents in parallel, track progress with timeouts and cancellation, and stream results back.
  • Distributed agents: run agents across machines, scaling each independently. Agents communicate via a shared bus that works the same locally or over the network.
  • Mixed agent types: combine free-form LLM agents with structured Pipecat Flows agents or wrap third-party frameworks as subagents.
  • Agent lifecycle: activation, deactivation, error propagation, and graceful shutdown across a tree of agents.

📦 Installation

uv add pipecat-ai-subagents

# or: pip install pipecat-ai-subagents

Requires Python 3.11+ and Pipecat.

🚀 Examples

See the examples directory for complete, runnable demos.

🔍 Observability with Clowder

Clowder (a group of cats) is a real-time observability tool for Pipecat Subagents. It shows runners, agents, tasks, and bus messages in a web UI, whether local or distributed.

Clowder

Adding Clowder to your system

Add a ClowderAgent to any runner:

from pipecat_subagents.clowder import ClowderAgent

clowder = ClowderAgent("clowder", bus=runner.bus, port=7070)
await runner.add_agent(clowder)

Or use a setup file to add Clowder without modifying your application code. Create a file (e.g. clowder_setup.py):

from pipecat_subagents.clowder import ClowderAgent
from pipecat_subagents.runner import AgentRunner


async def setup_runner(runner: AgentRunner):
    clowder = ClowderAgent(bus=runner.bus)
    await runner.add_agent(clowder)

Then set the environment variable:

export PIPECAT_SUBAGENTS_SETUP_FILES=/path/to/clowder_setup.py

Running the UI

cd clowder-ui
npm install
npm run dev

Open http://localhost:5173 and click Connect. The UI shows agents grouped by runner, tasks with live duration, and a filterable bus message stream. Connect at any time; all messages are buffered.

🤝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, improving documentation, or adding new features, here's how you can help:

  • Found a bug? Open an issue
  • Have a feature idea? Start a discussion
  • Documentation improvements? Docs PRs are always welcome

Before submitting a pull request, please check existing issues and PRs to avoid duplicates.

We aim to review all contributions promptly and provide constructive feedback to help get your changes merged.

💬 Getting help

➡️ Join our Discord

➡️ Read the docs

➡️ Reach us on X

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

pipecat_ai_subagents-0.4.0.tar.gz (722.9 kB view details)

Uploaded Source

Built Distribution

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

pipecat_ai_subagents-0.4.0-py3-none-any.whl (66.2 kB view details)

Uploaded Python 3

File details

Details for the file pipecat_ai_subagents-0.4.0.tar.gz.

File metadata

  • Download URL: pipecat_ai_subagents-0.4.0.tar.gz
  • Upload date:
  • Size: 722.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pipecat_ai_subagents-0.4.0.tar.gz
Algorithm Hash digest
SHA256 755a6f42c5f11a1c2a6fbc1e28df93a119456abad7e7873eac37de9183c928ec
MD5 873d2113113b231a46a50a64083f013a
BLAKE2b-256 6eb00a8a139efd1876673b27683414aef9f5b547fc01040aa6f2cb70d3636d92

See more details on using hashes here.

Provenance

The following attestation bundles were made for pipecat_ai_subagents-0.4.0.tar.gz:

Publisher: publish.yaml on pipecat-ai/pipecat-subagents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pipecat_ai_subagents-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pipecat_ai_subagents-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d329dd7dab3ce5b9da3c24388a4615583d9891e3e36c24e5de78015a3d5902dd
MD5 4a1fede137a7aec112c4548c0ea256d8
BLAKE2b-256 7bbd80201f1504329a8707adba34d80d4ac840e64cc383f7a6d712ee8db15e2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pipecat_ai_subagents-0.4.0-py3-none-any.whl:

Publisher: publish.yaml on pipecat-ai/pipecat-subagents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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