2026款网页版AI Chat对话|Vite7+Vue3+DeepSeek-R1纯手搓web版流式ai聊天系统

最新原创vite7.2集成deepseek-v3.2聊天大模型搭建本地网页版Ai对话。

deepseek-vue3-webai:运用vite7.2+vue3.5+arco-design集成deepseek-v3.2打造网页版ai系统。提供浅色/暗黑两种主题、深度思考R1、代码高亮/复制、Latex数学公式、Mermaid图表渲染


技术栈

  • 编辑器:VScode
  • 前端框架:vite7.2.4+vue3.5.24+vue-router^4.6.4
  • 大模型框架:DeepSeek-R1 + OpenAI
  • 组件库:arco-design^2.57.0 (字节桌面端组件库)
  • 状态管理:pinia^3.0.4
  • 本地存储:pinia-plugin-persistedstate^4.7.1
  • 高亮插件:highlight.js^11.11.1
  • markdown插件:markdown-it
  • katex公式:@mdit/plugin-katex^0.24.1

项目特色

  1. 最新版Vite7.2接入DeepSeek流式输出,性能更丝滑流畅
  2. 提供暗黑+浅色两种主题、侧边栏收缩
  3. 支持丰富Markdown样式,代码高亮/复制/收缩功能
  4. 新增思考模式DeepSeek-R1
  5. 支持Katex数学公式
  6. 支持Mermaid各种甘特图/流程图/类图等图表
  7. 使用arco-design组件库,风格统一,美观大气

项目结构框架

使用最新vite7.2构建项目,集成deepseek-v3.2chat大模型。

vite7-webseek网页端ai项目已经更新到我的原创作品集,欢迎下载使用。

原创vite7+vue3+deepseek网页版ai对话模板

项目deepseek key配置


如上图:替换下项目根目录下.env文件里的deepseek apikey即可体验ai流式对话。

# titleVITE_APP_TITLE='Vue3-Web-DeepSeek'# portVITE_PORT=3001# 运行时自动打开浏览器VITE_OPEN=true# 开启httpsVITE_HTTPS=false# 是否删除生产环境consoleVITE_DROP_CONSOLE=true# DeepSeekAPI配置VITE_DEEPSEEK_API_KEY=替换为你的APIKeyVITE_DEEPSEEK_BASE_URL=https://api.deepseek.com



项目布局模板

项目布局结构如下图所示:

<script setup>importSidebarfrom'@/layouts/components/sidebar/index.vue'</script><template><divclass="vu__container"><divclass="vu__layout flexbox flex-col"><divclass="vu__layout-body flex1 flexbox"><!--侧边区域--><Sidebar/><!--主面板区域--><divclass="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>

vue3实现deepseek深度思考模式


// 调用deepseek接口constcompletion=awaitopenai.chat.completions.create({// 单一会话/* messages: [ {role: 'user', content: editorValue} ], */// 多轮会话messages:props.multiConversation?historySession.value:[{role:'user',content:editorValue}],// deepseek-chat对话模型 deepseek-reasoner推理模型model:sessionstate.thinkingEnabled?'deepseek-reasoner':'deepseek-chat',stream:true,// 流式输出max_tokens:8192,// 一次请求中模型生成 completion 的最大 token 数(默认使用 4096)temperature:0.4,// 严谨采样})

vue3-deepseek集成katex和mermaid插件

import{katex}from"@mdit/plugin-katex";// 支持数学公式import'katex/dist/katex.min.css'// 渲染mermaid图表import{markdownItMermaidPlugin}from'@/components/markdown/plugins/mermaidPlugin'

渲染流式输出Markdown。

<Markdown:source="item.content":html="true":linkify="true":typographer="true":plugins="[[katex,{delimiters:'all'}],[markdownItMermaidPlugin,{...}]]"@copy="onCopy"/>


exportconstmarkdownItMermaidPlugin=(md,options)=>{constdefaultFence=md.renderer.rules.fence md.renderer.rules.fence=(...args)=>{const[tokens,idx]=argsconsttoken=tokens[idx]constlang=token.info.replace(/\[.*\]/,'').trim()||''if(lang==='mermaid'){constcode=token.content.trim()consthash=generateHash(code)constuuid=`${hash}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`// 如果有缓存,加载缓存图表if(renderCache.has(hash)){// console.log('加载缓存mermaid图表')return`${defaultFence(...args)}<div class="mermaid-container">${renderCache.get(hash)}</div>`}nextTickRender(uuid)return`${defaultFence(...args)}<div class="mermaid-container" id="${uuid}">${hash}">${encodeURIComponent(code)}"> <div class="mermaid-loading">📊Mermaid 图表加载中...</div> </div>`}returndefaultFence(...args)}functionnextTickRender(containerId){// 如果容器存在,直接渲染if(document.getElementById(containerId)){renderMermaidDiagram(containerId)return}// 使用MutationObserver监听DOM更新constobserver=newMutationObserver((mutations,ob)=>{constcontainer=document.getElementById(containerId)if(container){ob.disconnect()renderMermaidDiagram(containerId)}})observer.observe(document.body,{childList:true,subtree:true})}asyncfunctionrenderMermaidDiagram(containerId){constcontainer=document.getElementById(containerId)if(!container){console.warn(`Mermaid container #${containerId}not found`)return}constcode=decodeURIComponent(container.dataset.mermaidCode)consthash=container.dataset.mermaidHashif(!code){return}// 检查 mermaid 是否可用if(typeofwindow.mermaid==='undefined'){showError(container,'Mermaid 库未加载!')return}try{// 配置 mermaid(如果还未配置)if(!window.mermaid.initialized){window.mermaid.initialize({startOnLoad:false,theme:'default',securityLevel:'loose',})window.mermaid.initialized=true}letsvg// 检查缓存if(renderCache.has(hash)){svg=renderCache.get(hash)}else{const{isValid}=awaitverifyMermaid(code)if(!isValid){showError(container,`<pre>渲染语法错误:\n${code}\n</pre>`)return}// 使用唯一ID渲染(避免图表冲突)const{svg:renderedSvg}=awaitwindow.mermaid.render(`mermaid-${containerId}`,code)svg=renderedSvg renderCache.set(hash,svg)}container.innerHTML=svg container.removeAttribute('data-mermaid-hash')container.removeAttribute('data-mermaid-code')// 触发回调if(options?.reachBottom){options?.onRender?.()}}catch(error){console.error('Mermaid 渲染失败:',error)showError(container,`<pre>渲染图表时出错: \n${error.message}\n</pre>`)}}}













vue3调用deepseek api

// 调用deepseek接口constcompletion=awaitopenai.chat.completions.create({// 单一会话// messages: [{role: 'user', content: editorValue}],// 多轮会话messages:props.multiConversation?historySession.value:[{role:'user',content:editorValue}],// deepseek-chat对话模型 deepseek-reasoner推理模型model:sessionstate.thinkingEnabled?'deepseek-reasoner':'deepseek-chat',stream:true,// 流式输出max_tokens:8192,temperature:0.4})

处理流式生成内容。

forawait(constchunkofcompletion){// 检查是否已终止if(sessionstate.aborted)breakconstcontent=chunk.choices[0]?.delta?.content||''// 获取推理内容constreasoningContent=chunk.choices[0]?.delta?.reasoning_content||''if(content||reasoningContent){answerText+=content reasoningText+=reasoningContent// 限制更新频率:每100ms最多更新一次constnow=Date.now()if(now-lastUpdate>100){lastUpdate=nowrequestAnimationFrame(()=>{// ...})}}if(chunk.choices[0]?.finish_reason==='stop'){// ...}}


Ok,以上就是vite7+vue3接入deepseek搭建网页版ai系统的一些项目分享,感谢大家的阅读与支持。

往期推荐

基于uni-app+vue3+deepseek+uv-ui仿DeepSeek流式AI聊天模板
2026最新版vite7.2+vue3.5+deepseek-v3.2+markdown移动端流式AI对话模板
最新款Electron38+Vue3+Vite7+ElementPlus客户端中后台管理系统
Electron38-Vue3Chat电脑端聊天|vite7+electron38+pinia3仿微信
基于Electron38.2+Vite7+Vue3+ArcoDesign客户端OS系统
基于uni-app+vue3+pinia2+uv-ui仿抖音app短视频+聊天+直播商城系统
2025最新款Tauri2.9+Vite7.2+Vue3 setup+ArcoDesign电脑版os后台解决方案
基于tauri2+vite7.1+vue3 setup+pinia3+element-plus电脑端聊天系统
Tauri2-Vite7Admin客户端管理后台|tauri2.9+vue3+element-plus后台系统
最新版vite7-vue3-webos网页版仿macos系统|Vite7+Pinia3+Arco网页os
2025跨端uniapp+vue3+uv-ui实战仿微信app聊天模板
基于uniapp+vue3跨端手机admin管理系统uniapp-vue3os
基于flutter3.32+window_manager+get仿macOS/wins桌面os系统
最新flutter3.27+get+bitsdojo_window电脑版仿微信聊天EXE

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1125014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

调制阳极脉冲调制器

调制阳极脉冲调制器 工作原理 工作原理我们分分这么几步走,第一步就是A叫休止期。大家想想休止期的时候,就是说那个触发脉冲的没来,前后沿都没来。没来的时候我们说V一和V二这两个管子都怎么样,是不是都截止,V1V2都截止。你先看看,V一和V2如果都截止,大家现在看书上那个…

单线通信概述

单线通信的原理是什么? 单线通信的核心原理是将时钟信号与数据信号集成在同一条物理线路上传输,无需额外的时钟线(如 IC 的 SCL),仅通过一根数据线的电平变化与时序约定,完成主控与从机之间的双向数据交互。 一、核心实现逻辑 电平与时序的双重编码 不同于 IC 的 “时钟…

雷达原理 魏青 使用的是第三版教材 2.5 脉冲调制器

一、刚性开关脉冲调制器 本质是一个视频脉冲放大器。充分考虑在大功率下运用,保证射频发生器的良好波形 18.P18 雷达发射机(六)_原文 2026年01月07日 13:12 发言人 那么三和四这个地方打了两个点,说明这两个点是脉冲变压器的同名端,对不对?所以这点要注意。那么从三再…

小智Pro支持固件在线更新:原理+流程拆解(续)

前文分享了小智AI自定义唤醒词表情包背景图 的基本原理&#xff1a; 小智AI 如何自定义唤醒词背景图&#xff1a;原理流程拆解 远程控制文字唤醒&#xff0c;小智Pro开放API调用&#xff0c;释放小智无限潜力 有朋友好奇&#xff1a; 浏览器生成的assets.bin是如何发送给设…

成立于2020年的拓竹科技,仅用5年时间便登顶全球消费级3D打印市场,成为该赛道的“隐形王者”

成立于2020年的拓竹科技&#xff0c;仅用5年时间便登顶全球消费级3D打印市场&#xff0c;成为该赛道的“隐形王者” 目录成立于2020年的拓竹科技&#xff0c;仅用5年时间便登顶全球消费级3D打印市场&#xff0c;成为该赛道的“隐形王者”&#xff08;一&#xff09;核心锚点&am…

具身智能时代,从“白虎”开始:白虎数据集构建通用机器人数据底座

当机器人智能逐步从单一动作执行走向复杂任务协作&#xff0c;行业对通用机器人能力的期待不断提高。相比模型结构本身&#xff0c;能够真实反映多本体、多任务、多场景操作的数据&#xff0c;正在成为制约具身智能发展的关键因素。 在这一背景下&#xff0c;OpenLoong 开源社区…

优质SCI论文的完整框架设计

优质SCI论文的完整框架设计 目录优质SCI论文的完整框架设计一、Title&#xff08;标题&#xff09;二、Abstract&#xff08;摘要&#xff09;150-250词三、Introduction&#xff08;引言&#xff09;六、Discussion&#xff08;讨论&#xff09;七、Conclusion&#xff08;结论…

【AI】AI大模型之流式传输(前后端技术实现)

流式传输技术详解&#xff1a;从概念到实现的全过程 目录 什么是流式传输&#xff1f;流式传输的实现要求流式传输的三个层面适配层与包装层的实现消息类型分类逻辑完整流程示例总结与最佳实践 什么是流式传输&#xff1f; **流式传输&#xff08;Streaming&#xff09;**是…

2025.8大众点评(武汉)全品类数据

截至2025年6月&#xff0c;大众点评数据已覆盖全国30重点城市&#xff0c;全品类商户总量超80万。其中&#xff1a;上海&#xff08;80w&#xff09;、北京&#xff08;68w&#xff09;、成都&#xff08;88w&#xff09;为数据量前三城市&#xff1b;品类包含美食、丽人、亲子…

分子动力学模拟-油气界面张力和最小混相压力计算

关键词&#xff1a;页岩油&#xff0c;分子动力学&#xff0c;lammps&#xff0c;gromacs&#xff0c;界面张力&#xff0c;最小混相压力摘要&#xff1a;分子模拟方法在探究纳米尺度下分子间相互作用方面展现出巨大的技术优势。因此&#xff0c;本文采用分子动力学模拟方法&am…

刷题日记 合并区间

以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&#xff1a;intervals [[1,3…

2007-2024年健康城市试点政策DID数据

政策背景 健康城市试点政策源于世界卫生组织&#xff08;WHO&#xff09;倡导的全球战略行动&#xff0c;旨在通过综合措施解决城市化带来的健康挑战。2016年&#xff0c;中国全国爱国卫生运动委员会发布《关于开展健康城市试点工作的通知》&#xff0c;正式启动健康城市试点工…

使用Python打造Markdown转EPUB电子书生成工具

前言 在数字阅读时代&#xff0c;EPUB格式已成为电子书的主流标准。作为一名内容创作者或开发者&#xff0c;你是否想过将自己的Markdown笔记、文章快速转换成精美的电子书&#xff1f;今天&#xff0c;我将带你使用Python和wxPython构建一个简洁实用的Markdown转EPUB转换工具。…

2005-2025年各省、地级市、上市公司人工智能创新发展试验区DID数据

在数字经济与人工智能深度融合的背景下&#xff0c;人工智能创新发展试验区作为国家推动 AI 技术落地、产业升级的核心载体&#xff0c;其政策实施效果的精准评估对优化创新治理体系具有关键意义。本数据基于双重差分&#xff08;DID&#xff09;方法构建&#xff0c;可有效剥离…

c++qt开发第三天 摄像头采集视频

capture_thread.h 一、这个文件是干嘛的&#xff1f;&#xff08;一句话先懂&#xff09;&#x1f449; 这是一个用 Qt 的 QThread 写的“视频采集线程类”作用大致是&#xff1a;从 Linux 摄像头设备 /dev/video1 采集视频把采集到的图像转换成 QImage通过 Qt 信号 发给界面显…

从零构建:手写一个支持“高度定制化排版”的 Chrome 网页摘录插件

在碎片化阅读时代&#xff0c;我们经常需要将网页上的精彩段落保存下来&#xff0c;整理成 PDF 或 EPUB 放入电子书阅读器中。现有的插件&#xff08;如 Evernote、Pocket&#xff09;虽然强大&#xff0c;但往往存在两个痛点&#xff1a; 格式混乱&#xff1a;直接抓取网页 H…

晶台光耦在储能系统中的作用

光耦在储能系统中通过电气隔离实现高压与低压电路的安全隔离&#xff0c;是保障系统稳定运行的关键器件。晶台光耦KL1018/KL1019系列采用LSOP4封装&#xff0c;具备5KV隔离电压及-55~110℃宽温特性&#xff0c;广泛应用于太阳能储能逆变器。其红外发射二极管与光电晶体管耦合结…

基于时间和空间的大规模电动汽车入网网损调度 建立MISOCP模型,分时段优化,并行计算(实时优化)

基于时间和空间的大规模电动汽车入网网损调度 建立MISOCP模型&#xff0c;分时段优化&#xff0c;并行计算&#xff08;实时优化&#xff09;。 并对比了优化和未优化结果&#xff0c;验证了调度的有效性。 考虑到电动汽车的机动性&#xff0c;市区可分为三类功能区&#xff1a…

软考高项—信息系统项目管理师,2026全新汇总!

软考高项—信息系统项目管理师&#xff0c;2026全新汇总&#xff01; 链接&#xff1a;https://pan.quark.cn/s/30a4d39e1726

远程代打卡难根治?深度解析盖雅蓝牙打卡如何从底层杜绝考勤舞弊

在数字化办公日益普及的今天&#xff0c;考勤打卡作为企业管理的基础环节&#xff0c;正面临前所未有的信任挑战。市场上层出不穷的代打卡服务和各种模拟定位软件&#xff0c;让本应严肃的职场规则变成了一场技术博弈。这种被称为灰色产业链的现象&#xff0c;不仅让企业承担了…