Interactive world travel app demonstrating CopilotKit and AG-UI protocol integration with LangGraph agents.
- 3D Globe: Click countries to explore
- AI Agent: GPT-4o provides country information
- Frontend Actions: Agent calls UI tools via AG-UI protocol
- Progress Tracking: Level-based gamification with localStorage persistence
Frontend (Next.js)
↓ CopilotKit Runtime
↓ AG-UI Protocol
Backend (LangGraph Agent)
↓ GPT-4o
Key Files:
src/app/api/copilotkit/route.ts- Connects frontend to LangGraph agentsrc/components/MyChat.tsx- RegistersrenderCountryaction viauseCopilotActionagent/agent.py- ReAct agent that calls frontend tools
Prerequisites: Node.js 18+, Python 3.13+, OpenAI API key
Setup:
-
Install dependencies:
npm install cd agent && python -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt
-
Create
.env:OPENAI_API_KEY=your_key_here
-
Run both servers:
# Terminal 1 npm run dev:agent # Terminal 2 npm run dev
- User clicks country on globe
handleVisitadds to journey & sends message to CopilotKit- LangGraph agent receives message, calls
renderCountryfrontend action MyChatrendersCountryCard+ AI response in chat
Add Backend Tool (agent/agent.py):
@tool
def get_weather(country: str):
"""Get weather for a country."""
return f"Weather for {country}"
backend_tools = [get_weather]Add Frontend Action (any component):
useCopilotAction({
name: "showMap",
render: ({ args }) => <Map country={args.countryName} />,
});- CopilotKit - Agentic Application Framework
- AG-UI Protocol - Agent-UI communication
- LangGraph - Agent framework
- Next.js - React framework
MIT
