vue3.5接入deepseek-v3网页版ai流式多轮聊天问答助手

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
函数计算FC,每月15万CU 3个月
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: vue3-deepseek-webai:原创新作vite6+vue3.5+deepseek-v3+arco-design实战一款高颜值网页版ai多轮输出对话小助手。

2025实战ai又一新作:基于vue3+arco.design整合deepseek-v3聊天大模型搭建网页版ai助手。

未标题-d.png

deepseek-vue3-webai支持上下文多轮对话、流式输出效果、支持暗黑+亮色模式、代码高亮等功能。


未标题-aa.png


运用技术

  • 前端框架:vite^6.2.0+vue^3.5.13+vue-router^4.5.0
  • 大模型ai框架:DeepSeek-R1 + OpenAI
  • 组件库:arco-design^2.57.0 (字节桌面端组件库)
  • 状态管理:pinia^3.0.1
  • 本地存储:pinia-plugin-persistedstate^4.2.0
  • 高亮插件:highlight.js^11.11.1
  • markdown解析:markdown-it


p3.gif

p1.gif

功能特点

  1. 基于vite6构建,接入deepseek-v3性能更优
  2. 支持上下文多轮对话、流式输出
  3. 支持代码高亮、生成图片功能
  4. 支持各种代码高亮,便于展示和分享代码片段
  5. 使用arco-design组件库,风格统一


未标题-g.png


项目框架目录

360截图20250325220544741.png

001360截图20250325162241019.png 001360截图20250325162337118.png 002360截图20250325162747310.png 002360截图20250325162855039.png

002360截图20250325162747314.png 002360截图20250325162855040.png 005360截图20250325165328972.png 006360截图20250325165800702.png 007360截图20250325165830309.png 008360截图20250325170304101.png 009360截图20250325170338101.png 014360截图20250325172027915.png

011360截图20250325171125895.png 011360截图20250325171200852.png 012360截图20250325171645879.png 012360截图20250325171708371.png

布局模板

image.png

c2aa03fcf9003dc27fcd492ebae584ae_1289798-20250327115750425-183788210.png

<script setup>
  import Sidebar from '@/layouts/components/sidebar/index.vue'
</script>

<template>
  <div class="vu__container">
    <div class="vu__layout flexbox flex-col">
      <div class="vu__layout-body flex1 flexbox">
        <!-- 侧边栏 -->
        <Sidebar />

        <!-- 主面板 -->
        <div class="vu__layout-main flex1">
          <router-view v-slot="{ Component, route }">
            <keep-alive>
              <component :is="Component" :key="route.path" />
            </keep-alive>
          </router-view>
        </div>
      </div>
    </div>
  </div>
</template>

image.png

<template>
  <div class="vu__sidebar" :class="{'collapsed': appstate.config.collapsed}">
    <a-button class="vu__sidebar-collapse" shape="circle" @click="handleCollapse"></a-button>
    <aside class="vu__sidebar-aside flex1 flexbox flex-col">
      <div class="vu__aside-head">
        <router-link to="/" class="logo"><i class="iconfont ai-deepseek"></i><span class="fs-14 ff-ab">Vue3-WebSeek</span></router-link>
        <div class="btn-create flex-c mt-15" @click="handleCreate"><i class="iconfont ai-newchat fs-20"></i>新建对话</div>
      </div>
      <div class="vu__aside-navlinks flexbox flex-col">
        <div class="section-navitem" @click="toLink('/aihub')">
          <span class="icon flex-c"><icon-compass size="18" /></span>
          <div class="title">AI 导航</div>
        </div>
        <a-dropdown trigger="hover" :show-arrow="false" position="rt" :popup-offset="15" :content-style="{'min-width': '150px'}">
          <div class="section-navitem">
            <span class="icon flex-c"><icon-command size="18" /></span>
            <div class="title">AI 技能</div>
            <i class="iconfont ai-arrR c-999 fs-12"></i>
          </div>
          <template #content>
            <a-doption><i class="iconfont ai-aisousou"></i> AI搜索</a-doption>
            <a-doption><i class="iconfont ai-fanyi"></i> 快速翻译</a-doption>
            <a-doption><i class="iconfont ai-xiezuo"></i> 帮我写作</a-doption>
            <a-doption><i class="iconfont ai-tuxiang"></i> 图像生成</a-doption>
            <a-doption><i class="iconfont ai-aicode"></i> AI编程</a-doption>
          </template>
        </a-dropdown>
      </div>
      <a-divider style="margin: 0;" />
      <div class="vu__aside-sessions flex1 flexbox flex-col">
        <div class="vu__aside-navlinks">
          <div class="section-navitem plain">
            <span class="icon flex-c"><icon-message size="18" /></span>
            <div class="title">最近对话</div>
            <i class="clean iconfont ai-qingli" @click="handleClean"></i>
          </div>
        </div>
        <a-scrollbar :outer-style="{'height': '100%'}">
          <template v-if="sessionstate.session.length">
            <SessionList />
          </template>
          <template v-else>
            <a-empty description="暂无对话" />
          </template>
        </a-scrollbar>
      </div>
      <div class="vu__aside-navlinks" @click="toLink('/setting')">
        ...
      </div>
    </aside>
  </div>
</template>

vue3仿deepseek/豆包编辑器

0a39ccab23941b2b4fda9732d331e835_1289798-20250327125044922-1364409028.png

8028936148d3227c7ac69a36434dbf17_1289798-20250327125134308-2082004896.png

1136b833c11a18d54e703e73d0e35d3a_1289798-20250327125412581-708875910.png

3b06741f55409e165fa31b48a03bc1e7_1289798-20250327125545142-2056676685.png

<template>
  <div class="v3ai__footbar flexbox flex-col">
    <!-- 技能栏 -->
    <div v-if="skillbar" class="v3ai__skills flexbox flex-alignc">
      ...
    </div>
    <!-- 编辑栏 -->
    <div class="v3ai__inputbox flexbox flex-col">
      <div class="v3ai__editor flexbox">
        <a-textarea v-model="editorText" :auto-size="autoSize" placeholder="有问题,尽管问" @input="handleInput" />
      </div>
      <!-- 操作栏 -->
      <div class="v3ai__tools flexbox flex-alignc">
        <div class="option flex1 flexbox">
          <div class="btn" :class="{'active': isDeep}" @click="isDeep =! isDeep"><i class="iconfont ai-deepthink"></i> 深度思考 (R1)</div>
          <div class="btn" :class="{'active': isNetwork}" @click="isNetwork =! isNetwork"><i class="iconfont ai-network"></i> 联网</div>
        </div>
        <a-dropdown trigger="hover" :show-arrow="false" position="lb" :content-style="{'min-width': '250px'}">
          <a-button shape="circle"><icon-attachment size="18" /></a-button>
          <template #content>
            ...
          </template>
        </a-dropdown>
        <a-tooltip content="添加图片" position="top" mini>
          <a-button shape="circle"><icon-image size="18" /></a-button>
        </a-tooltip>
        <a-dropdown :show-arrow="false" position="top" :popup-translate="[-10, -5]">
          <a-button shape="circle" style="background: none;"><icon-plus size="18" /></a-button>
          <template #content>
            <a-doption value="pyq"><icon-apps /> 文件</a-doption>
            <a-doption value="qq"><icon-apps /> PDF文档分析</a-doption>
            <a-doption value="qq"><icon-apps /> Word文档分析</a-doption>
            <a-doption value="qq"><icon-apps /> 网页总结</a-doption>
          </template>
        </a-dropdown>
        <a-divider direction="vertical" style="margin: 0 8px 0 5px;" />
        <a-button type="primary" shape="circle" :disabled="!editorText?.trim() || sessionstate.loading" @click="handleSubmit">
          <icon-arrow-up v-if="!sessionstate.loading" size="20" />
          <icon-loading v-else size="18" />
        </a-button>
      </div>
    </div>
  </div>
</template>

vue3接入deepseek-v3

const completion = await openai.chat.completions.create({
  messages: [
    {role: 'user', content: editorValue}
  ],
  model: 'deepseek-chat', // deepseek-chat对话模型 deepseek-reasoner推理模型
  stream: false, // 流式输出
  max_tokens: 8192, // 限制一次请求中模型生成 completion 的最大 token 数(默认使用 4096)
  temperature: 0.4, // 严谨采样 越低越严谨(默认1)
})
// 处理返回数据
console.log(completion.choices[0].message.content)

015360截图20250329211641447.png

综上就是vite6+deepseek-v3实战网页版智能ai聊天会话的一些分享,希望对大家有所帮助~

目录
相关文章
|
2天前
|
Web App开发 人工智能 自然语言处理
快速搞定Dify+Chrome MCP:打造能操作网页的AI助手
用Dify+Chrome MCP,3分钟打造能“动手”操作网页的AI助手!无需编程,通过自然语言指令实现自动填表、数据抓取、网页点击等自动化任务。本地部署简单,支持搜索、登录、监控等场景,让AI成为你的7×24小时数字员工,高效处理重复性网页工作。
|
7天前
|
存储 消息中间件 人工智能
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
55 10
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
|
7天前
|
Web App开发 人工智能 自然语言处理
快速掌握Dify+Chrome MCP:打造网页操控AI助手
本文教你如何快速搭建一个能操作浏览器的AI助手:通过Dify和Chrome MCP结合,只需三步配置,即可实现自动填表、数据抓取和网页操控,无需编写代码,用自然语言就能指挥AI完成各类网页任务。
|
7天前
|
Web App开发 人工智能 自然语言处理
快速搞定Dify+Chrome MCP:打造能操作网页的AI助手
本文介绍了如何通过Dify和Chrome MCP在3分钟内打造一个能操作浏览器的AI助手。结合Dify的LLM能力与Chrome MCP的浏览器控制功能,用户可用自然语言指令让AI自动填写表单、抓取数据、点击按钮,实现网页自动化操作。无需复杂编程,适合本地部署,可应用于数据监控、内容抓取等多种场景。
数据采集 Web App开发 人工智能
64 0
|
13天前
|
数据采集 Web App开发 人工智能
如何让AI“看懂”网页?拆解 Browser-Use 的三大核心技术模块
Browser-Use 是一种基于大语言模型(LLM)的浏览器自动化技术,通过融合视觉理解、DOM解析和动作预测等模块,实现对复杂网页任务的自主操作。它突破了传统固定选择器和流程编排的限制,具备任务规划与语义理解能力,可完成注册、比价、填报等多步骤操作。其核心功能包括视觉与HTML融合解析、多标签管理、元素追踪、自定义动作、自纠错机制,并支持任意LLM模型。Browser-Use标志着浏览器自动化从“规则驱动”向“认知驱动”的跃迁,大幅降低维护成本,提升复杂任务的处理效率与适应性。
339 24
|
1月前
|
存储 人工智能 自然语言处理
RAG:让AI聊天不再"张口就来"
想让你的AI助手不再一本正经地胡说八道?RAG技术就是那个神奇的'外挂'!通过一个智能客服的真实场景,轻松学会如何让AI既博学又靠谱,告别AI幻觉,拥抱真实世界的知识!
|
2月前
|
机器学习/深度学习 人工智能 JSON
AI操作网页:browser-use和AI大模型互动解析
browser-use 是一个开源的 AI 驱动浏览器自动化框架,能够高效实现在线任务自动化,支持 AI 大模型操作网页,具备强大的社区影响力(GitHub 星数超 63.4k)。它通过精巧的 prompt 设计和多类型消息组合,实现与大模型的高效交互,可完成登录、数据提取、文档生成等复杂任务。其核心技巧包括结构化输入输出、任务拆解、历史记忆管理及多模态支持,为 AI 代理应用提供实践范例与技术启发。
|
3月前
|
数据采集 存储 人工智能
智能体(AI Agent)开发实战之【LangChain】(二)结合大模型基于RAG实现本地知识库问答
智能体(AI Agent)开发实战之【LangChain】(二)结合大模型基于RAG实现本地知识库问答