Back to Copilotkit

Open ChatKit Studio

examples/showcases/chatkit-studio/README.md

1.57.02.1 KB
Original Source

Open ChatKit Studio

Explore and build embeddable chat experiences.

Applications

  • Studio (port 3000) - Main launcher interface with cards for each app
  • Playground (port 3001) - AG-UI playground for customizing and learning
  • World (port 3002) - Interactive globe demo with CopilotKit

Getting Started

bash
# Install dependencies
pnpm install

# Setup environment variables for agents (optional)
cp apps/playground/agent/.env.example apps/playground/agent/.env
cp apps/world/agent/.env.example apps/world/agent/.env
# Edit the .env files with your API keys

# Run all apps concurrently
pnpm dev

# Run individual apps
pnpm dev:studio       # Studio launcher only
pnpm dev:playground   # Playground app only
pnpm dev:world        # World app only

Structure

open-chatkit-studio/
├── apps/
│   ├── studio/        # Main launcher (Next.js 15)
│   ├── playground/    # AG-UI Playground with LangGraph agent
│   └── world/         # CopilotKit World Explorer
├── package.json       # Root workspace config
├── pnpm-workspace.yaml
└── turbo.json         # Turborepo config

Architecture

This is a monorepo combining multiple chat applications:

  • Monorepo Manager: pnpm workspaces
  • Build System: Turborepo for optimized parallel builds
  • Framework: Next.js 15 with TypeScript
  • Styling: Tailwind CSS 4
  • Agents: LangGraph for playground and world apps

Each app runs on its own port and can be developed independently. The studio launcher provides a unified entry point with visual cards linking to each application.

Development

Building All Apps

bash
pnpm build

Building Individual Apps

bash
pnpm build:studio
pnpm build:playground
pnpm build:world

Running Agents

Playground and World apps each have their own LangGraph agents:

bash
# Playground agent (port 8124)
cd apps/playground && pnpm dev:agent

# World agent (port 8125)
cd apps/world && pnpm dev:agent

Port Configuration

  • Studio: 3000
  • Playground: 3001
  • World: 3002
  • Playground Agent: 8124
  • World Agent: 8125