📦 vercel / chatbot

A full-featured, hackable Next.js AI chatbot built by Vercel

19.8k stars 6.4k forks 👁 19.8k watching ⚖️ Other
aichatgptnextjsreactredisshadcn-uivercel
📥 Clone https://github.com/vercel/chatbot.git
HTTPS git clone https://github.com/vercel/chatbot.git
SSH git clone git@github.com:vercel/chatbot.git
CLI gh repo clone vercel/chatbot
Loading files...
📄 README.md

Chatbot

Chatbot

Chatbot (formerly AI Chatbot) is a free, open-source template built with Next.js and the AI SDK that helps you quickly build powerful chatbot applications.

Read Docs · Features · Model Providers · Deploy Your Own · Running locally


Features

  • Advanced routing for seamless navigation and performance
  • React Server Components (RSCs) and Server Actions for server-side rendering and increased performance
  • AI SDK
  • Unified API for generating text, structured objects, and tool calls with LLMs
  • Hooks for building dynamic chat and generative user interfaces
  • Supports OpenAI, Anthropic, Google, xAI, and other model providers via AI Gateway
  • shadcn/ui
  • Component primitives from Radix UI for accessibility and flexibility
  • Data Persistence
  • Simple and secure authentication

Model Providers

This template uses the Vercel AI Gateway to access multiple AI models through a unified interface. The default model is OpenAI GPT-4.1 Mini, with support for Anthropic, Google, and xAI models.

AI Gateway Authentication

For Vercel deployments: Authentication is handled automatically via OIDC tokens.

For non-Vercel deployments: You need to provide an AI Gateway API key by setting the AI_GATEWAY_API_KEY environment variable in your .env.local file.

With the AI SDK, you can also switch to direct LLM providers like OpenAI, Anthropic, Cohere, and many more with just a few lines of code.

Deploy Your Own

You can deploy your own version of Chatbot to Vercel with one click:

Deploy with Vercel

Running locally

You will need to use the environment variables defined in .env.example to run 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 AI and authentication provider accounts.
  • Install Vercel CLI: npm i -g vercel
  • Link local instance with Vercel and GitHub accounts (creates .vercel directory): vercel link
  • Download your environment variables: vercel env pull
pnpm install
pnpm db:migrate # Setup database or apply latest database changes
pnpm dev

Your app template should now be running on localhost:3000.