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 | sh
Need help? Refer to the uv install documentation.
-
Create a venv and install example dependencies:
uv sync
-
Create a
.env
file 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 Cloud Quickstart for a complete walkthrough.
-
Install the Pipecat Cloud CLI:
uv pip install pipecatcloud
-
Authenticate:
uv run pcc auth login
-
From the
server
directory, build and push your Docker image:cd server chmod +x build.sh ./build.sh
IMPORTANT: Before running this build script, you need to add your DOCKER_USERNAME to build.sh
-
Create a secret set for your API keys:
uv run pcc secrets set simple-chatbot-secrets --file .env
-
Deploy to Pipecat Cloud:
uv run pcc deploy
IMPORTANT: Before deploying, you need to add your DOCKER_USERNAME and DOCKER_CREDENTIALS. 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_KEY
andAGENT_NAME
environment 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
├── build.sh # Script for building and pushing Docker image
├── requirements.txt # Python dependencies
├── pcc-deploy.toml # Pipecat Cloud deployment config