Caution
This repo is no longer maintained. Check out the simple-chatbot example for an update to date example that can be deployed to Pipecat Cloud.
This project demonstrates how to build a complete Pipecat AI agent application with both client and server components. It includes a Next.js client for interacting with a Pipecat AI bot server through Daily.co's WebRTC transport.
- Server: Python-based Pipecat bot with video/audio processing capabilities
- Client: Next.js TypeScript web application using the Pipecat React & JS SDKs
- Infrastructure: Deployable to Pipecat Cloud (server) and Vercel (client)
See the simple-chatbot example with different client and server implementations.
You'll need two terminal windows open to run locally.
-
Navigate to the server directory:
cd server -
Make sure you have uv installed:
curl -LsSf https://astral.sh/uv/install.sh | shNeed help? Refer to the uv install documentation.
-
Create a venv and install example dependencies:
uv sync
-
Create a
.envfile with your API keys:cp env.example .env # Edit .env with your API keys -
Run the bot:
python bot.py -t daily
You can join this client via Daily's Prebuilt UI at http://localhost:7860 or follow step 2 to join from the simple-chatbot client.
-
In a separate terminal, navigate to the client directory:
cd client-react -
Install dependencies:
npm install
Create .env.local file and add your PIPECAT_CLOUD_API_KEY and AGENT_NAME:
```bash
cp env.local.example .env.local
```
> Create a Pipecat Cloud API public key using the dashboard. This key is still a secret, so protect it. It's meant to launch your Pipecat apps.
-
Run the client app:
npm run dev
-
Open http://localhost:3000 to interact with your agent through the Next.js client.
See the Pipecat Quickstart for a complete walkthrough.
-
Install the Pipecat CLI:
uv tool install pipecat-ai-cli
-
Authenticate:
pipecat cloud auth login
-
From the
serverdirectory, build and push your Docker image:cd server pipecat cloud docker build-push -
Create a secret set for your API keys:
pipecat cloud secrets set simple-chatbot-secrets --file .env -
Deploy to Pipecat Cloud:
pipecat cloud deploy
IMPORTANT: Before deploying, you need to update your image name in
pcc-deploy.tomland set up image pull secrets. Learn how to add an image pull secret.
You can test your deployment to ensure everything is working using the Pipecat Cloud Sandbox in your Pipecat Cloud Dashboard.
-
Push your Next.js client to GitHub
-
Connect your GitHub repository to Vercel
-
Add your
PIPECAT_CLOUD_API_KEYandAGENT_NAMEenvironment variable in Vercel -
Deploy with the Vercel dashboard or CLI
simple-chatbot/
├── client-next/ # Next.js client application
│ ├── src/
│ │ ├── app/ # Next.js app routes
│ │ │ └── api/
│ │ │ └── connect/ # API endpoint for Daily.co connection
│ │ ├── components/ # React components
│ │ └── providers/ # React providers including RTVIProvider
│ ├── package.json
│
└── server/ # Pipecat bot server
├── assets/ # Robot animation frames
├── bot.py # The Pipecat pipeline implementation
├── Dockerfile # For building the container image
Docker image
├── requirements.txt # Python dependencies
├── pcc-deploy.toml # Pipecat Cloud deployment config
