A full-stack chatbot demo with real-time streaming answers in the style of your chosen character (Rick, Yoda, Sherlock, Socrates) using shapeshifter-mcp as the backend AI engine.
- Character-based AI: Choose a character and get answers in their style (via Perplexity API, streamed chunk by chunk)
- Modern stack: Angular 19 frontend, .NET 9 backend, SignalR for real-time streaming
- Session & history: Persistent chat sessions, message ratings, and full chat history
- Easy switching: Add new characters or swap out the AI backend easily
Clone and run shapeshifter-mcp (Node.js, see its README for setup and Perplexity API key):
cd shapeshifter-mcp
npm install
npm run devcd backend/src/ChatbotAI.API
# Set up your DB connection string in appsettings.json
# Apply migrations (first time only):
dotnet ef database update --project ../ChatbotAI.Infrastructure/ChatbotAI.Infrastructure.csproj --startup-project ChatbotAI.API.csproj
# Run the API
dotnet runcd frontend/chatbot-ai
npm install
npm start- Frontend: http://localhost:4200
- Backend API: http://localhost:5225
- MCP: http://localhost:3000
- You pick a character and type a question.
- The backend streams your question to shapeshifter-mcp, which calls Perplexity and returns the answer chunk by chunk in the style of your chosen character.
- The frontend displays the answer as it streams in, with full session history and rating support.
