{"data":{"slug":"vercel-chatbot","name":"chatbot","tagline":"A full-featured, hackable Next.js AI chatbot built by Vercel","github_url":"https://github.com/vercel/chatbot","owner":"vercel","repo":"chatbot","owner_avatar_url":"https://avatars.githubusercontent.com/u/14985020?v=4","primary_language":"TypeScript","stars":20611,"forks":6696,"topics":["ai","chatgpt","nextjs","react","redis","shadcn-ui","vercel"],"archived":false,"github_pushed_at":"2026-07-08T21:55:02+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/vercel-chatbot","markdown_url":"https://www.graphcanon.com/tools/vercel-chatbot.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/vercel-chatbot","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=vercel-chatbot","description":"A full-featured, hackable Next.js AI chatbot built by Vercel","homepage_url":"https://chatbot.ai-sdk.dev","license":"Other","open_issues":19,"watchers":139,"ai_summary":"Chatbot is a free, open-source template for building powerful chatbot applications using Next.js and the AI SDK. It supports various model providers and includes features like advanced routing, data persistence, and authentication.","readme_excerpt":"<a href=\"https://chatbot.ai-sdk.dev/demo\">\n  <img alt=\"Chatbot\" src=\"app/(chat)/opengraph-image.png\">\n  <h1 align=\"center\">Chatbot</h1>\n</a>\n\n<p align=\"center\">\n    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.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://chatbot.ai-sdk.dev/docs\"><strong>Read Docs</strong></a> ·\n  <a href=\"#features\"><strong>Features</strong></a> ·\n  <a href=\"#model-providers\"><strong>Model Providers</strong></a> ·\n  <a href=\"#deploy-your-own\"><strong>Deploy Your Own</strong></a> ·\n  <a href=\"#running-locally\"><strong>Running locally</strong></a>\n</p>\n<br/>\n\n## Features\n\n- [Next.js](https://nextjs.org) App Router\n  - Advanced routing for seamless navigation and performance\n  - React Server Components (RSCs) and Server Actions for server-side rendering and increased performance\n- [AI SDK](https://ai-sdk.dev/docs/introduction)\n  - Unified API for generating text, structured objects, and tool calls with LLMs\n  - Hooks for building dynamic chat and generative user interfaces\n  - Supports OpenAI, Anthropic, Google, xAI, and other model providers via AI Gateway\n- [shadcn/ui](https://ui.shadcn.com)\n  - Styling with [Tailwind CSS](https://tailwindcss.com)\n  - Component primitives from [Radix UI](https://radix-ui.com) for accessibility and flexibility\n- Data Persistence\n  - [Neon Serverless Postgres](https://vercel.com/marketplace/neon) for saving chat history and user data\n  - [Vercel Blob](https://vercel.com/storage/blob) for efficient file storage\n- [Auth.js](https://authjs.dev)\n  - Simple and secure authentication\n\n## Model Providers\n\nThis template uses the [Vercel AI Gateway](https://vercel.com/docs/ai-gateway) to access multiple AI models through a unified interface. Models are configured in `lib/ai/models.ts` with per-model provider routing. Included models: Mistral, Moonshot, DeepSeek, OpenAI, and xAI.\n\n### AI Gateway Authentication\n\n**For Vercel deployments**: Authentication is handled automatically via OIDC tokens.\n\n**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.\n\nWith the [AI SDK](https://ai-sdk.dev/docs/introduction), you can also switch to direct LLM providers like [OpenAI](https://openai.com), [Anthropic](https://anthropic.com), [Cohere](https://cohere.com/), and [many more](https://ai-sdk.dev/providers/ai-sdk-providers) with just a few lines of code.\n\n## Deploy Your Own\n\nYou can deploy your own version of Chatbot to Vercel with one click:\n\n\n\n## Running locally\n\nYou will need to use the environment variables [defined in `.env.example`](.env.example) to run Chatbot. It's recommended you use [Vercel Environment Variables](https://vercel.com/docs/projects/environment-variables) for this, but a `.env` file is all that is necessary.\n\n> 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.\n\n1. Install Vercel CLI: `npm i -g vercel`\n2. Link local instance with Vercel and GitHub accounts (creates `.vercel` directory): `vercel link`\n3. Download your environment variables: `vercel env pull`\n\n```bash\npnpm install\npnpm db:migrate # Setup database or apply latest database changes\npnpm dev\n```\n\nYour app template should now be running on [localhost:3000](http://localhost:3000).","github_created_at":"2023-05-19T16:36:23+00:00","created_at":"2026-07-11T10:51:33.596318+00:00","updated_at":"2026-07-11T14:14:23.229736+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"}],"tags":[{"slug":"ai","name":"ai"},{"slug":"chatgpt","name":"chatgpt"},{"slug":"nextjs","name":"nextjs"},{"slug":"react","name":"react"},{"slug":"redis","name":"redis"},{"slug":"shadcn-ui","name":"shadcn-ui"},{"slug":"vercel","name":"vercel"}],"trust":{"provenance":{"is_fork":false,"github_id":642917329,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T10:51:34.287Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":0,"days_since_push":2,"last_release_at":null},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:51:35.245Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-07-11T14:13:59.536Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-07-11T14:13:59.536Z"},"has_cli":{"value":true,"source":"package.json:bin|scripts","observed_at":"2026-07-11T14:13:59.536Z"},"languages":{"value":["typescript","javascript"],"source":"github.language+package.json","observed_at":"2026-07-11T14:13:59.536Z"},"license_spdx":{"value":"Other","source":"github.license","observed_at":"2026-07-11T14:13:59.536Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["- When you need a robust chatbot template built on Next.js that supports TypeScript and includes advanced features like React Server Components for improved performance and customization.","- Ideal for integrating with multiple AI model providers via Vercel’s AI Gateway, making it easy to switch between models without significant changes in code."],"when_not_to_use":["- If you prefer a more lightweight solution without the need for complex deployments or advanced features, this chatbot might be overkill.","- Avoid using if your project does not require or support TypeScript since the template is built specifically with it and assumes proficiency."],"source":"enrich:decision_facts","observed_at":"2026-07-11T14:14:22.643Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"A powerful and hackable Next.js AI chatbot with extensive features including advanced routing, data persistence, and various model provider support."}]}}