项目概述

Vercel AI-Chatbot 是一个基于 Next.js 16 构建的、功能丰富的全栈现代化 Web 应用。其核心特点是深度集成 AI 功能,并具备实时协作、数据管理和代码编辑等复杂能力。

演示视频

下面是一个 Vercel AI-Chatbot 项目的演示视频,展示了应用的主要功能和操作流程:

vercel-ai-chatbot

vercel/ai-chatbot项目代码

https://github.com/vercel/ai-chatbot
在这里插入图片描述

系统架构流程

下面是 Vercel AI-Chatbot 项目的系统架构流程图,展示了用户请求处理、AI 模型调用、数据存储和前端交互的完整流程:

未登录
已登录
文本消息
富文本内容
代码片段
可视化图表
用户访问 NextChatBot
用户认证
通过 Auth.js 进行身份验证
进入应用主界面
选择 AI 模型
通过 AI Gateway 调用模型
AI SDK 处理请求
生成响应内容
内容类型判断
聊天界面显示
ProseMirror 编辑器
CodeMirror 6 编辑器
React Flow 图表
消息存储到数据库
文档存储到数据库
代码片段存储到数据库
图表数据存储到数据库
PostgreSQL 存储
Redis 缓存
数据同步与更新
文件上传到 Vercel Blob
前端实时更新
用户接收结果
是否需要进一步操作
结束会话

技术栈

1. 核心框架与运行时

  • Next.js 16:作为主要的全栈 React 框架
  • React 19:使用最新的 React 版本构建 UI
  • TypeScript:提供强类型的开发体验

2. UI、组件与样式

  • Radix UI:一系列底层、无障碍的 UI 组件原语
  • Tailwind CSS 生态:使用 tailwind-merge、tailwindcss-animate、clsx、classnames 等工具进行样式管理和工具类组合
  • Geist:现代字体/设计系统
  • Framer Motion:用于实现复杂的 React 动画
  • Lucide React & React Simple Icons:图标库

3. AI 与智能功能

  • Vercel AI SDK:核心 AI 开发工具包
  • AI SDK 生态:集成 React 钩子、提供商抽象和网关
  • AI Gateway:统一接口访问多个 AI 模型

4. 数据、状态与后端

  • PostgreSQL:关系型数据库
  • Drizzle ORM:数据库操作工具
  • Redis:缓存服务
  • NextAuth.js v5:用户身份验证
  • SWR:客户端数据获取和缓存
  • @vercel/blob:文件上传服务
  • Zod:模式验证

5. 富文本与代码编辑

  • ProseMirror:富文本编辑工具链
  • CodeMirror 6:现代化的代码编辑器核心

6. 可视化与图表

  • React Flow:用于构建交互式的节点式图表或流程图

7. 工具与工具库

  • Date-fns:日期处理
  • Fast Deep Equal:深比较
  • PapaParse:CSV 解析
  • Diff Match Patch:差异对比
  • KaTeX:数学公式渲染
  • React Syntax Highlighter:语法高亮
  • UseHooks TS:实用钩子库

8. 性能、监控与分析

  • OpenTelemetry:应用性能监控
  • Vercel Analytics:Web 分析

9. 部署与平台

  • Vercel 平台:高度集成的托管服务

配置要求

获取必要服务凭证

  1. AI Gateway API Key
    https://vercel.com/ai-gateway在这里插入图片描述

  2. 数据库设置
    https://vercel.com/marketplace

    • 在 Vercel Marketplace 安装数据库:
      在这里插入图片描述

    • 获取数据库连接 URL:
      在这里插入图片描述

环境变量配置

项目需要以下环境变量,请在 .env.local 文件中配置:

# 认证密钥
AUTH_SECRET=****

# AI Gateway API 密钥(非 Vercel 部署时需要)
AI_GATEWAY_API_KEY=****

# Vercel Blob 存储令牌
BLOB_READ_WRITE_TOKEN=****

# PostgreSQL 数据库 URL
POSTGRES_URL=****

# Redis 连接 URL
REDIS_URL=****

本地运行

1. 环境变量配置

选项A:使用 Vercel(推荐)
# 安装 Vercel CLI
npm i -g vercel

# 关联项目(需要 Vercel 账户)
vercel link

# 从 Vercel 拉取环境变量
vercel env pull

选项B:手动配置

# 复制环境变量示例文件
cp .env.example .env.local

# 编辑 .env.local 文件,填入实际值
# 需要配置以下内容:
# - OpenAI 或其他 AI 服务商的 API 密钥
# - 数据库连接信息
# - 身份验证提供商配置(如已启用)

2.安装依赖包

pnpm install
# 或
npm install
# 或
yarn install

3. 数据库初始化

# 运行数据库迁移
pnpm db:migrate

# 如果需要填充初始数据(检查是否存在种子脚本)
pnpm db:seed

4. 启动开发服务器

pnpm dev
# 或
npm run dev

应用将在 localhost:3000 上运行。

核心功能特点

这是一个架构先进、功能复杂的全栈应用,技术选型瞄准开发者工具、AI 应用或协同平台领域。其核心能力围绕 AI 交互、富内容创作(文本/代码)和可视化展开,并依托 Vercel 生态系统构建了高性能、可观测的后端服务。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐