A visual playground for customizing CopilotKit chat components. Adjust colors, fonts, and text, then export production-ready code.
This tool lets you customize CopilotKit chat appearance with a live preview and export the code when you're done. Useful for designers and developers who want to integrate AI chat into their applications.
- Node.js 18+
- npm, pnpm, yarn, or bun
- OpenAI API key (for the live preview agent)
npm installThe postinstall script sets up the Python agent automatically.
npm run devThis starts the UI on localhost:3000 and the agent on localhost:8123. Open your browser to http://localhost:3000.
- Adjust settings in the left panel (colors, fonts, text, spacing)
- See changes in real-time in the center preview
- Click "Export Code" when finished
- Copy the generated files into your project
The export includes:
MyChat.tsx- Your customized chat componentlayout.tsx- CopilotKit wrapperroute.ts- API route.env.local- Environment variables template
npm run dev- Start UI and agentnpm run dev:ui- Start UI onlynpm run dev:agent- Start agent onlynpm run build- Build for productionnpm run start- Run production build
src/
├── app/
│ ├── page.tsx # Main playground
│ ├── layout.tsx # Root layout
│ ├── preview/ # Preview iframe
│ └── api/copilotkit-preview/ # Preview API
├── components/
│ ├── playground/
│ │ ├── PlaygroundContainer.tsx
│ │ ├── SettingsPanel.tsx
│ │ ├── PreviewPanel.tsx
│ │ ├── CodeExporter.tsx
│ │ └── AgentSetupModal.tsx
│ └── ui/ # shadcn/ui components
├── hooks/
│ └── usePlaygroundConfig.ts
├── types/
│ └── playground.ts
└── utils/
└── codeGenerator.ts
agent/
├── agent.py
├── langgraph.json
├── requirements.txt
└── .env
The preview needs the agent running. Check:
- Agent is running on port 8123
- OpenAI API key is set in
agent/.env - No console errors in browser
Reinstall Python dependencies:
cd agent
rm -rf .venv
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtReinstall node dependencies:
rm -rf node_modules package-lock.json
npm installKill the process or use a different port:
lsof -ti:3000 | xargs kill
# or
PORT=3001 npm run dev:uiMIT
Demo built by Mark Morgan in collaboration with CopilotKit Team. Mark Morgan LinkedIn: https://www.linkedin.com/in/markmdev/
