Requires the websocket extra:
pip install pipecat-ai-subagents[websocket]WebSocketProxyClientAgent
Forwards bus messages to a remote agent over WebSocket. Connects to a WebSocket URL and forwards messages between a local agent and a remote agent.Configuration
Unique name for this agent.
The WebSocket URL to connect to.
Name of the agent on the remote server. Only messages targeted at this agent
are forwarded.
Name of the local agent that should receive responses. Only inbound messages
targeted at this agent are accepted.
Additional message types to forward from the local agent (e.g.
(BusFrameMessage,) for frame routing). These are forwarded based on source
agent name only, regardless of target.Optional HTTP headers sent with the WebSocket handshake (e.g. for
authentication).
Serializer for bus messages. Defaults to
JSONMessageSerializer.Event Handlers
| Event | Arguments | Description |
|---|---|---|
on_connected | (agent, websocket) | Fired when the WebSocket connection is established |
on_disconnected | (agent, websocket) | Fired when the WebSocket connection is closed |
WebSocketProxyServerAgent
Receives bus messages from a remote client over WebSocket. Accepts a FastAPI/Starlette WebSocket connection and forwards messages between the remote client and a local agent.Configuration
Unique name for this agent.
An accepted FastAPI/Starlette WebSocket connection.
Name of the local agent to route messages to/from. Only messages from this
agent are forwarded to the client.
Name of the agent on the remote client. Only outbound messages targeted at
this agent are sent. Only inbound messages targeted at the local agent are
accepted.
Additional message types to forward from the local agent (e.g.
(BusFrameMessage,) for frame routing). These are forwarded based on source
agent name only, regardless of target.Serializer for bus messages. Defaults to
JSONMessageSerializer.Event Handlers
| Event | Arguments | Description |
|---|---|---|
on_client_connected | (agent, websocket) | Fired when the WebSocket client connects and the proxy is ready |
on_client_disconnected | (agent, websocket) | Fired when the WebSocket client disconnects |