Uniapp-DeepSeek跨三端AI助手|uniapp+vue3+deepseek-v3流式ai聊天模板
原创AI实战uniapp+deepseek+vue3跨三端仿DeepSeek/豆包app流式ai对话助手。
uniapp-vue3-deepseek 实战2025对话ai大模型,基于Uniapp+Vue3+Markdown接入DeepSeek-V3聊天会话大模型,支持编译到H5+小程序+App端。实现流式输出、支持亮色/暗黑主题、代码高亮、会话本地存储等功能。
三端预览
编译到H5+小程序端+App端运行效果。

技术栈
- 开发工具:Hbuilder X 4.57
- 技术框架:Uniapp+Vue3+Pinia2+Vite5.x
- 大模型框架:DeepSeek-V3
- UI组件库:uni-ui+uv-ui
- 高亮插件:highlight.js
- markdown解析:ua-markdown
- 本地缓存:pinia-plugin-unistorage
- 支持编译:H5+小程序+APP端


deepseek-uniapp使用最新跨端技术uniapp接入deepseek-v3对话模型,支持编译h5/小程序/app端。


项目特点
- 基于Uniapp+Vue3构建,对接DeepSeek-V3实现流式输出效果
- 支持编译到H5/小程序端/App端
- 支持各种代码高亮、上下文多轮对话/本地会话存储
- 支持代码块横向滚动、行号、代码复制功能(h5/app端)
- 支持图片渲染宽度100%、图片预览功能(h5/app端)
- 支持链接跳转功能(h5/app端)
- 修复小程序端表格边框线及各类标签选择器样式失效

项目框架结构
uni-deepseek使用 uniapp 搭建项目模板,采用 vue3 setup 语法开发。

uniapp-deepseek跨端ai助手已经同步到我的原创作品集,感谢支持与鼓励~

支持h5在pc端以750px宽度显示布局。



uniapp环境变量.env配置

在uniapp+vue3项目中,支持.env环境变量配置。
# 项目名称
VITE_APPNAME = 'Uniapp-DeepSeek' # 运行端口
VITE_PORT = 5173 # DeepSeek API配置
VITE_DEEPSEEK_API_KEY = 替换为你的APIKey
VITE_DEEPSEEK_BASE_URL = https://api.deepseek.com
入口文件main.js
import App from './App'
import { createSSRApp } from 'vue' // 引入pinia状态管理
import pinia from '@/pinia' export function createApp() {
const app = createSSRApp(App)
app.use(pinia)
return {
app,
pinia
}
}


项目布局结构

整个项目布局分为顶部自定义导航栏+会话内容区+底部编辑区三个大模块。

<template>
<uv3-layout>
<!-- 导航栏 -->
<template #header>
<Toolbar :title="chatSession?.title" />
</template> <view v-if="chatSession && !isEmpty(chatSession.data)" class="vu__chatview flexbox flex-col">
<scroll-view :scroll-into-view="scrollIntoView" scroll-y="true" @scrolltolower="onScrollToLower" @scroll="onScroll" style="height: 100%;">
<view class="vu__chatbot">
...
</view>
<view id="scrollbottom-placeholder" style="height: 1px;"></view>
</scroll-view>
<!-- 滚动到底部 -->
<view class="vu__scrollbottom" @click="scrollToBottom"><text class="iconfont ai-arrD fw-700"></text></view>
</view>
<!-- 欢迎信息 -->
<view v-else class="vu__welcomeinfo">
<view class="intro flex-c flex-col">
<view class="logo flex-c" style="gap: 15px;">
<view class="iconfont ai-deepseek" style="font-size: 40px;"></view>
<text style="color: #999; font-size: 20px;">+</text>
<image src="/static/uni.png" mode="widthFix" style="height: 30px; width: 30px;" />
</view>
<view class="name"><text class="txt text-gradient">嘿~ Uniapp-DeepSeek</text></view>
<view class="desc">我可以帮你写代码、答疑解惑、写作各种创意内容,请把你的任务交给我吧~</view>
</view>
<view class="prompt">
<view class="tip flex-c"><text class="flex1">试试这样问</text><view class="flex-c" @click="refreshPrompt">换一换<uni-icons type="refreshempty" color="#999" size="14" /></view></view>
<view v-for="(item,index) in promptList" :key="index">
<view class="option" @click="changePrompt(item.prompt)">{{item.emoji}} {{item.prompt}} <text class="arrow iconfont ai-arrR c-999"></text></view>
</view>
</view>
</view> <template #footer>
<view :style="{'padding-bottom': keyboardHeight + 'px'}">
<ChatEditor ref="editorRef" v-model="promptValue" :scrollBottom="scrollToBottom" />
</view>
</template>
</uv3-layout>
</template>

uniapp+vue3解析markdown结构
uniapp+deepseek流式输出数据,通过之前封装的markdown-it组件解析标签结构。亲测完美支持在H5端+小程序端+App端流式Markdown解析。

修复微信小程序里rich-text组件不支持标签选择器,导致样式会失效问题。
特性
- 支持代码块横向滚动
- 支持显示代码行号(关闭提升性能)
- 支持代码复制功能(h5/app端)
- 支持图片渲染宽度100%
- 支持图片预览功能(h5/app端)
- 支持链接跳转功能(h5/app端)












uniapp+deepseek实现流式SSE输出
原本打算使用OpenAI来实现流式输出,但在小程序和App不支持该功能。
由于小程序和app运行环境特殊性,最终选择在小程序端使用uni.request开启 enableChunked 实现流式,H5和App端采用 renderjs 方式fetch来实现流式功能。
// H5和APP端调用renderjs里的fetch
// #ifdef APP-PLUS || H5
this.fetchAppH5({
url: baseURL+'/v1/chat/completions',
method: 'POST',
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${apiKEY}`,
},
body: {
// 多轮会话
messages: this.multiConversation ? this.historySession : [{role: 'user', content: editorValue}],
model: 'deepseek-chat', // deepseek-chat对话模型 deepseek-reasoner推理模型
stream: true, // 流式输出
max_tokens: 8192, // 限制一次请求中模型生成 completion 的最大 token 数(默认使用 4096)
temperature: 0.4, // 严谨采样 越低越严谨(默认1)
}
})
// #endif
// #ifdef MP-WEIXIN
try {
this.loading = true const requestTask = await uni.request({
url: baseURL+'/v1/chat/completions',
method: 'POST',
header: {
"Content-Type": "application/json",
"Authorization": `Bearer ${apiKEY}`,
},
data: {
// 多轮会话
messages: this.multiConversation ? this.historySession : [{role: 'user', content: editorValue}],
model: 'deepseek-chat', // deepseek-chat对话模型 deepseek-reasoner推理模型
stream: true, // 流式输出
max_tokens: 8192, // 限制一次请求中模型生成 completion 的最大 token 数(默认使用 4096)
temperature: 0.4, // 严谨采样 越低越严谨(默认1)
},
enableChunked: true, //开启分块传输 transfer-encoding chunked
success: (res) => {
console.log('request success', res)
},
fail: (error) => {
console.log('request fail', error)
// ...
}
})
requestTask.onChunkReceived((res) => {
// console.log('Received chunk', res) const uint8Array = new Uint8Array(res.data)
let text = String.fromCharCode.apply(null, uint8Array)
const buffer = decodeURIComponent(escape(text)) this.parseBuffer(buffer)
})
} catch (error) {
this.loading = false
this.chatState.updateSession(this.botKey, {loading: false})
throw new Error(`request error: ${error.message || '请求异常'}`)
}
// #endif



以上就是uniapp+vue3对接deepseek实现流式ai对话的一些知识分享,希望对大家有些帮助哈!
附上几个最新实战项目实例
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Vue3-DeepSeek-Chat流式AI对话|vite6+vant4+deepseek智能ai聊天助手
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
flutter3-dymall仿抖音直播商城|Flutter3.27短视频+直播+聊天App实例

Uniapp-DeepSeek跨三端AI助手|uniapp+vue3+deepseek-v3流式ai聊天模板的更多相关文章
- Vue 全家桶 + Electron 开发的一个跨三端的应用
代码地址如下:http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...
- 基于React Native的跨三端应用架构实践
作者|陈子涵 编辑|覃云 “一次编写, 到处运行”(Write once, run anywhere ) 是很多前端团队孜孜以求的目标.实现这个目标,不但能以最快的速度,将应用推广到各个渠道,而且还能 ...
- 应答流式RPC 请求流式RPC 向流式RPC 流式RPC的三种具体形式
https://mp.weixin.qq.com/s/pWwSfXl71GQZ3KPmAHE_dA 用Python进行gRPC接口测试(二) 大帆船 搜狗测试 2020-02-07 上期回顾:用P ...
- uni-app开发经验分享五: 解决三端页面兼容问题的方法
在做uni-app开发的过程中,我们最头疼可能不是开发的过程中的逻辑,而是最后要做的三端兼容测试和修改,在我开发的项目中,这一步都是最头疼和令人头秃的过程,这里总结一些个人开发遇到的问题,希望对大家有 ...
- 多端开发之uniapp开发app
最近在给f做一些工具app,学习了不少关于uniapp编写android应用的知识. 首先,App应用的创建的时候要选择项目类型为uniapp类型.最开始我选择的是h5+项目,这种项目就比较容易写成纯 ...
- uni-app学习(三)好用的插件1
1. uni-app学习(三) 1.1. async/await使用 表示异步处理,可使用then函数继续操作,返回的是Promise async function timeout() { retur ...
- 基于UniApp社区论坛多端开发实战
什么是移动端WebApp 移动端WebApp: 泛指手持设备移动端的web 特点: - 类App 应用,运行环境是浏览器 - 可以包一层壳,成为App - 常见的混合应用: ionic, Cordov ...
- 基于SqlSugar的开发框架循序渐进介绍(20)-- 在基于UniApp+Vue的移动端实现多条件查询的处理
在做一些常规应用的时候,我们往往需要确定条件的内容,以便在后台进行区分的进行精确查询,在移动端,由于受限于屏幕界面的情况,一般会对多个指定的条件进行模糊的搜索,而这个搜索的处理,也是和前者强类型的条件 ...
- Taro 多端开发的正确姿势:打造三端统一的网易严选(小程序、H5、React Native)
笔者所在的趣店 FED 早在去年 10 月份就已全面使用 Taro 框架开发小程序(当时版本为 1.1.0-beta.4),至今也上线了 2 个微信小程序.2 个支付宝小程序. 之所以选用 Taro, ...
- Lottie在手,动画我有:ios/Android/Web三端复杂帧动画解决方案
为什么需要Lottie 在相对复杂的移动端应用中,我们可能会需要使用到复杂的帧动画.例如: 刚进入APP时候可能会看到的入场小动画,带来愉悦的视觉享受 许多Icon的互动变化比较复杂多变的时候,研 ...
随机推荐
- MAC消息认证码介绍
此MAC是密码学概念,与计算机网络不同 为什么有了摘要算法还要有MAC 摘要算法保障的是消息的完整性 归根到底就是由H(x)来保证x的完整 那么问题来了,如果我知道你所使用的摘要算法(例如中间人攻击) ...
- [BZOJ4671] 异或图 题解
我能说什么!抽象了这! 看到 \(n\le 10\) 的黑题顿感大事不妙. 我们考虑设 \(f(i)\) 表示将 \(n\) 个点划分为至少 \(i\) 个连通块时的方案数.我们可以暴力枚举每个点在哪 ...
- 标题Spark Mavem项目在本地测试报错 : Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/SparkConf
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/SparkConf at S ...
- 代码托管平台对比分析:Gitee与GitLab
一.Gitee:本土化服务的深度实践者 Gitee凭借对中国开发者需求的精准洞察,提供了多项针对性优化功能,尤其适合国内团队: 高速稳定的访问体验 服务器均部署于国内,代码拉取.推送及CI/CD流程的 ...
- Windows服务器等保审核安全设置
1.开启账户锁定策略 进入Windows服务器,快捷键"WIN+R"打开运行窗口.输入"gpedit.msc"并点击确定,依次点击"计算机配置&quo ...
- DeepSeek过时了?全网刷屏的Manus到底是什么?这样写申请秒过审核
1.Manus是什么? Manus的官网地址:https://manus.im/ Manus是一个通用AI智能体,它连接思维与行动:它不仅思考,还能交付成果. 2. Manus能做什么? 最近几天,M ...
- SpringSecurity5(1-快速入门)
依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri ...
- 搭建自己的OCR服务,第三步:PPOCRLabel标注工具安装
一.安装说明 安装好了PaddleOCR后,还需要安装PPOCRLabel这个标注工具,想要自己训练模型的话,有个标注工具会起很大作用. 尤其是PPOCRLabel就是跟PaddleOCR配套的标注工 ...
- FastAPI测试策略:参数解析单元测试
扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长 探索数千个预构建的 AI 应用,开启你的下一个伟大创意 第一章:核心测试方法论 1.1 三层测试体系架构 # 第一层:模型级测试 def ...
- Content-Encoding:br 是一种什么编码格式?
一.前言 在之前测试HTTP应答的压缩过程中无意间发现在Google浏览器下出现了 Content-Encoding:br 这种的编码格式,当时我就纳闷了,前面不是一直在研究GZip压缩吗?br压缩又 ...