> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pipecat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipecat Subagents Overview

> Reference docs for the Pipecat multi-agent framework

<Tip>
  New to Pipecat Subagents? Check out the
  [introduction](/subagents/introduction) and
  [quickstart](/subagents/quickstart) first.
</Tip>

Pipecat Subagents is a multi-agent framework for Pipecat that lets you build AI applications with multiple coordinated agents. Agents communicate through a shared bus, can hand off to each other, and coordinate work through structured task protocols.

## Installation

```bash theme={null}
uv add pipecat-ai-subagents
```

Optional extras for specific features:

```bash theme={null}
# Pipecat Flows integration
uv add "pipecat-ai-subagents[flows]"

# Redis distributed bus
uv add "pipecat-ai-subagents[redis]"

# WebSocket proxy agents
uv add "pipecat-ai-subagents[websocket]"
```

## Reference Pages

### Agents

<CardGroup cols={3}>
  <Card title="BaseAgent" icon="cube" href="/api-reference/pipecat-subagents/base-agent">
    Core agent class with lifecycle, bus communication, and task coordination
  </Card>

  <Card title="LLMAgent" icon="brain" href="/api-reference/pipecat-subagents/llm-agent">
    Agent with LLM pipeline and automatic tool registration
  </Card>

  <Card title="FlowsAgent" icon="diagram-project" href="/api-reference/pipecat-subagents/flows-agent">
    Agent with Pipecat Flows integration for structured conversations
  </Card>
</CardGroup>

### Infrastructure

<CardGroup cols={3}>
  <Card title="AgentRunner" icon="play" href="/api-reference/pipecat-subagents/agent-runner">
    Lifecycle orchestrator for multi-agent systems
  </Card>

  <Card title="Bus" icon="bus" href="/api-reference/pipecat-subagents/bus">
    Bus infrastructure for inter-agent messaging
  </Card>

  <Card title="Messages" icon="envelope" href="/api-reference/pipecat-subagents/messages">
    All bus message types for agent communication
  </Card>
</CardGroup>

### Decorators & Types

<CardGroup cols={3}>
  <Card title="Decorators" icon="at" href="/api-reference/pipecat-subagents/decorators">
    `@tool`, `@task`, and `@agent_ready` decorators
  </Card>

  <Card title="Types" icon="shapes" href="/api-reference/pipecat-subagents/types">
    Shared types, enums, and data classes
  </Card>

  <Card title="Exceptions" icon="triangle-exclamation" href="/api-reference/pipecat-subagents/exceptions">
    Error types for task coordination
  </Card>
</CardGroup>

### Distributed

<CardGroup cols={3}>
  <Card title="Proxy Agents" icon="network-wired" href="/api-reference/pipecat-subagents/proxy-agents">
    WebSocket proxy agents for distributed deployments
  </Card>

  <Card title="Serializers" icon="code" href="/api-reference/pipecat-subagents/serializers">
    Message serialization for network transport
  </Card>
</CardGroup>

## Agent Type Hierarchy

| Class                                                                                                  | Parent      | Description                                           |
| ------------------------------------------------------------------------------------------------------ | ----------- | ----------------------------------------------------- |
| [`BaseAgent`](/api-reference/pipecat-subagents/base-agent)                                             | -           | Core agent with lifecycle, bus, and task coordination |
| [`LLMAgent`](/api-reference/pipecat-subagents/llm-agent)                                               | `BaseAgent` | Adds LLM pipeline and `@tool` registration            |
| [`FlowsAgent`](/api-reference/pipecat-subagents/flows-agent)                                           | `BaseAgent` | Adds Pipecat Flows integration                        |
| [`WebSocketProxyClientAgent`](/api-reference/pipecat-subagents/proxy-agents#websocketproxyclientagent) | `BaseAgent` | Forwards bus messages to a remote server              |
| [`WebSocketProxyServerAgent`](/api-reference/pipecat-subagents/proxy-agents#websocketproxyserveragent) | `BaseAgent` | Receives bus messages from a remote client            |
