首页 › Vibe coding 项目实战专栏 › VibeCoding实战 个人作品集网站 › 作品七:AI聊天助手

作品七:AI聊天助手

AI 聊天助手是最基础也是最实用的 AI 应用 。​

​

💤

通过这个项目 ,你可以学习如何用 Vibe Coding 的方式快速开发一个完整的 AI 对话应用 。​

​

这个项目要实现一个完整的聊天界面 ,用户可以输入问题,AI 给出回答 。要支持多轮对话,AI 能记住之前说过的内容,这样对话才连贯 。​

为了更好的体验​

​

•

AI 的回答要逐字显示,而不是一次性全部出现,这叫流式输出 。​

•

对话记录要保存在本地,刷新页面也不会丢失 。另外,还需要一个清空对话的功能,方便开始新的话题。​

​

​

​

​

飞书文档 - 图片

​

50%

​

​

​

飞书文档 - 图片

​

50%

​

​

​

🔷

技术选型​

我们使用 React + TypeScript + Vite 作为前端框架,Tailwind CSS 来写样式 。​

AI 能力通过调用大模型 API 实现,对话历史用 LocalStorage 保存,AI 的回答用 react-markdown 来渲染,这样可以支持代码高亮等格式。​

​

开发步骤​

1)准备工作​

开发的第一步是准备工作 。你需要获取 API Key 来调用 AI 模型 。访问 智谱 AI 开放平台 ,进入用户控制台,点击 API Key 就可以获取 。​

智谱 AI 提供的 GLM 模型效果不错,而且有免费额度,适合学习使用 。​

​

飞书文档 - 图片

​

2) 写需求文档​

有了 API Key,就可以开始写需求文档了。创建 PRD.md 文件, 明确你要做什么:​

​

代码块​

Markdown

# AI 聊天助手 PRD​

​

## 核心功能​

1. 用户可以输入问题,AI 给出回答​

2. 支持多轮对话,AI 能记住之前的对话内容​

3. AI 回答要逐字显示,不要一次性全部出现​

4. 对话记录要保存在本地,刷新页面不会丢失​

5. 可以清空对话,开始新的话题​

6. AI 的回答支持 Markdown 格式,包括代码高亮​

​

## 界面要求​

- 类似微信的聊天界面​

- 用户消息在右边,AI 消息在左边​

- 底部有输入框和发送按钮​

- 简洁现代的设计风格​

​

这个文档清楚地说明了要实现什么功能,界面是什么样的。​

3) 写技术设计文档​

然后写技术设计文档 TECH_DESIGN.md :​

​

代码块​

Markdown

# 技术设计​

​

## 技术栈​

- React + TypeScript + Vite​

- Tailwind CSS​

- 智谱 AI API​

- LocalStorage 存储对话历史​

- react-markdown 渲染 Markdown​

​

## 数据结构​

- Message: role( user 或 assistant)、content( 内容)、timestamp( 时间戳)​

- 对话历史存储在 LocalStorage 中​

​

## API 调用​

- 使用智谱 AI Chat Completions API​

- 启用 stream 模式实现流式输出​

​

​

​

这个文档说明了用什么技术,数据结构是什么样的,API 怎么调用 。​

4) 写 AGENTS.md 文件​

接着创建 AGENTS.md 文件,告诉 AI 开发规范:​

​

代码块​

Markdown

​

这个文件是给 AI 的开发规范,让它知道代码要怎么写。​

5)和 AI 对话开发​

有了这三个文档,就可以开始和 AI 对话开发了 。打开 Cursor ,把这 3 个文档放在项目根目录。第一步是初始化项目 :​

​

代码块​

Plain Text

请根据 PRD.md、TECH_DESIGN.md 和 AGENTS.md 的要求,初始化一个 React + TypeScript + Vite 项目 ,并安装必要的依赖:Tailwind CSS、react-markdown、react-syntax-​

highlighter。​

​

这个提示词告诉 AI 要创建什么项目 ,安装哪些依赖 。AI 会读取这三个文档,然后按照要求创建项目结构,安装依赖,配置 Tailwind CSS。​

第二步是创建数据类型和 API 封装:​

​

代码块​

Plain Text

​

这一步是为后续开发打基础,把数据结构和 API 调用都封装好,后面用起来就很方便。第三步是实现聊天界面:​

​

代码块​

Plain Text

创建 ChatInterface 组件,实现聊天界面 。要求:​

1. 消息列表显示在上方 ,用户消息在右边,AI 消息在左边​

2. 底部有输入框和发送按钮​

3. 使用 Tailwind CSS 实现类似微信的聊天界面样式​

4. 消息要支持 Markdown 渲染​

​

这个提示词说明了界面的布局和样式要求 。AI 会创建完整的聊天界面组件。第四步是实现对话功能:​

​

代码块​

Plain Text

实现发送消息的功能:​

​

这个提示词包含了对话功能的所有要求 。流式输出是关键, 它让 AI 的回答像打字一样逐字出现,用户体验会好很多 。多轮对话也很重要,要把之前的对话历史一起发送给 API ,这样 AI 才能记住之前说过的内容。​

第五步是添加数据持久化:​

​

代码块​

Plain Text

使用 LocalStorage 保存对话历史:​

1. 每次对话更新后自动保存​

2. 页面加载时读取历史记录​

3. 添加"清空对话"按钮,清除历史记录​

​

这样用户刷新页面后,之前的对话还在,不会丢失。第六步是优化用户体验:​

​

代码块​

Plain Text

优化用户体验:​

1. 新消息出现时, 自动滚动到底部​

2. 添加复制按钮,方便复制 AI 的回答​

3. 代码块要有语法高亮​

4. API 调用失败时,显示友好的错误提示​

​

这些细节虽然小 ,但能大幅提升用户体验。​

​

开发技巧​

在开发过程中,有几个技巧可以让你更高效 。首先,不要一次性让 AI 实现所有功能,而是分成多个小步骤,每完成一步就测试一下 。这样即使出问题,也容易定位和修复。​

其次,在对话时要给 AI 提供足够的上下文 。明确告诉它要实现什么功能 、有什么具体要求 、要遵循什么规范 。上下文越清晰,AI 生成的代码质量就越高。​

如果代码出现问题,记得把完整的错误信息发给 AI ,让它帮你分析和修复 。不要只说“代码报错了”,而是要把具体的错误信息粘贴给它。​

扩展思路​

基础版完成后,你可以继续扩展功能。​

•

比如添加系统提示词设置,让 AI 扮演不同角色( 比如编程助手 、写作助手 、心理咨询师等);​

•

支持多个对话会话管理,可以同时进行多个话题的对话;​

•

添加语音输入功能,用语音和 AI 对话;​

•

集成图片识别功能,让AI 可以看图回答问题;​

•

支持导出对话记录,保存重要的对话内容。​