项目概述

Dify编排的Chatflow工作流具有很强的灵活性和易用性,在很多场景得到大量应用,但是Dify提供的前端发布方式例如嵌入网站或者发布成Web App,效果呈现都很不灵活或者比较简陋,难以应用在要求较高的场合。但是Dify提供了强大的API方式,可以和专业开发的前端对话界面实现前后端集成。本文就此基于Vue3实现了
Vue Dify Chat,实现了类似 ChatGPT 的流畅对话体验,是一个完全基于现代前端技术栈构建的智能对话系统,专门为 Dify 工作流 API 进行了深度定制和优化,实现和Dify API深度集成,包括消息对话、点赞/点踩、历史消息呈现、流式输出、停止对话输出等API,此外采用Markdown界面渲染,可以呈现文档图片,并且对于大模型的思考输出,和正文输出区别呈现,达到更美观的效果。下图是界面效果。

✨ 功能特性

🎨 用户界面

  • 类 ChatGPT 布局:左侧边栏 + 右侧主聊天区
  • 响应式设计:完美适配桌面端和移动端
  • 优雅的 UI:基于 Ant Design Vue 组件库
  • 暗色侧边栏:现代化的视觉设计

💬 对话功能

  • 实时流式响应:基于 Server-Sent Events 的逐字输出
  • 停止生成:可随时中断AI回答的生成过程
  • Markdown 渲染:支持代码高亮、表格、链接等
  • 思考过程显示:特殊处理 <think></think> 标签,用灰色小字体显示AI思考过程
  • 消息操作:一键复制、点赞、点踩功能
  • 响应统计:显示消息数量和状态信息

📱 交互体验

  • 新建对话:快速创建新的聊天会话
  • 历史管理:自动加载和浏览Dify服务器的历史对话记录
  • 会话恢复:点击历史会话可完整恢复对话内容并继续提问
  • 错误处理:友好的错误提示和重试机制
  • 加载状态:清晰的加载动画和状态指示

核心特色

这个项目的独特之处在于它将复杂的AI对话功能分解为清晰、可维护的模块化架构。通过采用 Vue 3 的 Composition API,结合 Pinia 状态管理和精心设计的服务层,实现了高性能、高可用的AI对话界面。特别值得一提的是,项目内置了完整的演示模式,即使在没有 API 密钥的情况下,也能提供完整的功能展示。
有需要源代码的同仁可以私信联系。
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐