An open-source AI chatbot app template built with Next.js, the Vercel AI SDK, OpenAI, and Supabase Auth and Postgres DB.
Features · Model Providers · Deploy Your Own · Running locally · Authors
- Next.js App Router
- React Server Components (RSCs), Suspense, and Server Actions
- Vercel AI SDK for streaming chat UI
- Support for OpenAI (default), Anthropic, Hugging Face, or custom AI chat models and/or LangChain
- Edge runtime-ready
- shadcn/ui
- Styling with Tailwind CSS
- Radix UI for headless component primitives
- Icons from Phosphor Icons
- Chat History with Supabase Postgres DB
- Supabase Auth for authentication
This template ships with OpenAI gpt-3.5-turbo
as the default. However, thanks to the Vercel AI SDK, you can switch LLM providers to Anthropic, Hugging Face, or using LangChain with just a few lines of code.
You can deploy your own version of the Next.js AI Chatbot to Vercel with one click:
This demo uses GitHub Oauth. Follow the GitHub OAuth setup steps on your Supabase project.
In the Supabase Dashboard, navigate to Auth > URL configuration and set your Vercel URL as the site URL.
You will need to use the environment variables defined in .env.example
to run Next.js AI Chatbot. It's recommended you use Vercel Environment Variables for this, but a .env
file is all that is necessary.
Note: You should not commit your
.env
file or it will expose secrets that will allow others to control access to your various OpenAI and authentication provider accounts.
Copy the .env.example
file and populate the required env vars:
cp .env.example .env
Install the Supabase CLI and start the local Supabase stack:
npm install supabase --save-dev
npx supabase start
Install the local dependencies and start dev mode:
pnpm install
pnpm dev
Your app template should now be running on localhost:3000.
This library is created by Vercel and Next.js team members, with contributions from:
- Jared Palmer (@jaredpalmer) - Vercel
- Shu Ding (@shuding_) - Vercel
- shadcn (@shadcn) - Contractor
- Thor Schaeff (@thorwebdev) - Supabaseifier