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.2.1.tar.gz (716.5 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.2.1-py3-none-any.whl (66.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipecat_ai_subagents-0.2.1.tar.gz
  • Upload date:
  • Size: 716.5 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.2.1.tar.gz
Algorithm Hash digest
SHA256 6d39397c7e349e92f10ff5663eb714111e372704f10ec29a31ac7c5d4a311df0
MD5 4dc95ba462672907d7e23e8dacf971f3
BLAKE2b-256 22417b98a82fd2af6de479cf4e69a8f0991721ee0ee408cc86198a5833ff2115

See more details on using hashes here.

Provenance

The following attestation bundles were made for pipecat_ai_subagents-0.2.1.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.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pipecat_ai_subagents-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7c4569a9702725aa8f338cad25f58c9774c82e0409cd3700f18bb6f83831e21f
MD5 2f0ea091fbc4f0d88304749c4e8c17eb
BLAKE2b-256 11a10ffe8a0bf088423a4005be97c4a756a1a4bc68af97d412b69311e1e4aea0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pipecat_ai_subagents-0.2.1-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