AI 聊天助手
基于 DeepSeek API 的 PC 端在线 AI 对话项目。前端为单页 HTML(Vue 2),后端为 Express 代理服务,负责转发聊天请求并隐藏 API Key,支持多轮上下文对话、打字机效果展示与错误提示,适合作为大模型接入与前后端分离入门示例。
项目说明
AI 聊天助手
一、项目简介
基于 DeepSeek API 的 PC 端在线 AI 对话项目。前端为单页 HTML(Vue 2),后端为 Express 代理服务,负责转发聊天请求并隐藏 API Key,支持多轮上下文对话、打字机效果展示与错误提示,适合作为大模型接入与前后端分离入门示例。
功能介绍
核心功能
| 功能 | 说明 |
|---|---|
| 实时对话 | 用户输入消息后,调用 DeepSeek 大模型生成回答并展示在聊天窗口 |
| 多轮对话 | 每次请求携带完整历史消息,AI 可结合上下文连续作答 |
| 打字机效果 | AI 回复逐字显示,模拟真实输入体验 |
| 加载状态 | 等待回复时显示「正在输入」动画,发送按钮自动禁用 |
| 错误提示 | 网络异常或 API 失败时,在聊天区展示友好错误信息 |
界面与交互
- 聊天气泡布局:用户消息靠右(蓝色),AI 消息靠左(灰色)
- 支持 Enter 键发送,空内容时发送按钮不可点击
- 新消息自动滚动到底部
- 页面打开时展示一条 AI 欢迎语
技术实现要点
浏览器 (index.html)
│ POST /api/chat { messages: [...] }
▼
Express 服务 (server.js)
│ 角色转换:ai → assistant
│ 调用 OpenAI SDK(baseURL 指向 DeepSeek)
▼
DeepSeek API (deepseek-chat)
│ 返回 completion.choices[0].message.content
▼
前端打字机渲染
- 前后端分离:前端只负责 UI 与请求,不直接接触 API Key
- CORS 已开启:允许跨域访问(开发时前端与后端同源,由 Express 统一托管)
- 单文件前端:
index.html内聚 HTML、CSS、Vue 逻辑,无构建步骤
文件目录介绍
ai-chat-deepseek-pc/
├── index.html # 前端页面:聊天 UI、Vue 逻辑、样式
├── server.js # 后端服务:静态资源托管、/api/chat 接口、DeepSeek 调用
├── package.json # 项目依赖与启动脚本(start / dev)
├── pnpm-lock.yaml # pnpm 锁文件(依赖版本锁定)
├── README.md # 项目简介、API Key 配置与运行说明
├── 项目说明.md # 本文件:功能与目录说明
├── .gitignore # Git 忽略规则
├── node_modules/ # 依赖包(npm/pnpm install 后生成,勿手动修改)
└── 演示材料/
└── 截图/
├── 图-1.png # 项目演示截图
└── 图-2.png # 项目演示截图
主要文件说明
index.html
前端唯一入口,包含:
- 模板:标题栏、消息列表、输入框与发送按钮
- 样式:聊天气泡、打字动画、响应式布局(最大宽度 800px)
- 脚本:Vue 2 实例,负责消息管理、
fetch调用后端、打字机效果与滚动
关键请求地址:POST http://localhost:3000/api/chat
server.js
Node.js 后端,主要职责:
| 职责 | 实现 |
|---|---|
| 静态托管 | express.static 托管项目根目录,提供 index.html |
| 首页路由 | GET / 返回 index.html |
| 聊天接口 | POST /api/chat 接收消息数组,转发至 DeepSeek |
| 角色映射 | 将前端 role: "ai" 转为 API 要求的 "assistant" |
| 错误处理 | 参数校验、API 异常时返回 400 / 500 及错误信息 |
API Key 配置位置:server.js 中 OpenAI 客户端的 apiKey 字段。
package.json
| 脚本 | 命令 | 用途 |
|---|---|---|
start | node server.js | 生产/日常使用 |
dev | nodemon server.js | 开发时热重载 |
主要依赖:express、cors、openai(兼容 DeepSeek 接口)、nodemon(开发)。
运行方式
# 1. 安装依赖
npm install # 或 pnpm install
# 2. 在 server.js 中配置有效的 DeepSeek API Key
# 3. 启动服务
npm start # 开发可用 npm run dev
# 4. 浏览器访问
http://localhost:3000
注意:不可直接双击
index.html用file://打开。页面依赖后端http://localhost:3000/api/chat,必须先启动server.js。
配置说明
- 端口:默认
3000,可通过环境变量PORT修改 - 模型:
deepseek-chat - 系统提示词:
You are a helpful assistant.(可在server.js中调整)
注意事项
- 仅供学习与研究使用
- DeepSeek API 有调用额度限制,请合理使用
- API Key 请勿提交到公开仓库
技术分类
包含内容
适用人群
学习参考与二次开发
关于 AI源码
AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。
相关推荐
查看全部 →
本地生活小程序
本项目是一个基于微信小程序原生开发的本地生活服务平台,提供餐厅推荐、招聘信息、生活服务分类、近期活动展示等功能,是一个典型的O2O本地生活服务类小程序。

电影购票网站
基于原生 HTML、CSS、JavaScript 实现的 PC 端电影在线购票演示网站。数据使用本地 Mock 模拟,订单与座位占用状态通过浏览器 持久化,无需后端服务,直接用浏览器打开 即可运行。

家乡介绍小程序
这是一个家乡文化展示与旅游推荐的微信小程序,采用纯前端实现,使用本地Mock数据模拟后端接口。项目以广东省惠州市惠东县为示例,完整实现了景点浏览、美食推荐、乡镇介绍、历史回顾、收藏管理等核心功能,适合作为微信小程序开发学习项目或计算机设计参考。

乡村振兴三农小程序
这是一个乡村振兴与三农服务的微信小程序,采用纯前端实现,使用本地Mock数据模拟后端接口。项目完整实现了政策解读、农业科技、数字乡村、乡村旅游、农产品展销、乡风文明、人才振兴、基层党建、经验分享等核心功能模块,适合作为微信小程序开发学习项目或计算机设计参考。

图书借阅小程序
这是一个图书借阅管理的微信小程序,采用纯前端实现,使用本地Mock数据模拟后端接口。项目完整实现了图书浏览、分类筛选、搜索查询、收藏管理、借阅下单、订单管理等核心功能,适合作为微信小程序开发学习项目或计算机设计参考。

垃圾上门回收小程序
这是一个完整的垃圾上门回收服务平台,包含微信小程序端。系统实现了垃圾分类回收预约、订单管理、地址管理、系统配置等核心功能,采用Egg.js后端框架,适合作为微信小程序全栈开发学习项目或计算机设计参考。