
deepseek-v4正式版快要发布了,之前有使用vite8+vue3接入deepseek搭建流式生成ai助手。这次爆肝一周基于react19技术栈整合最新deepseek-v4-flash从0-1手搓h5版流式ai聊天模板。
Vite8.0+Vue3.5+Arco深度对接DeepSeek网页版AI智能助手
uni-app+mphtml快速集成DeepSeek-V4智能ai应用
Electron41 + Vite8打造流式输出客户端AI助手


react19-deepseek提供浅色+深色主题、支持流式打字输出、深度思考、代码高亮/复制/下载、渲染katex公式/mermaid图等功能。





使用vite8.x构建工具搭建react模板。采用react hooks语法编码开发。




自己申请deepseek apikey,替换下项目构目录下.env文件里的key即可。

import { HashRouter } from 'react-router-dom'
import { appStore } from '@/store/app'
// 引入路由配置
import Router from './router'
function App() {
const appState = appStore()
appState.updateTheme()
return (
<>
<HashRouter>
<Router />
</HashRouter>
</>
)
}
export default App


return (
<>
<div className='flexbox flex-col' style={{height: '100%'}}>
<Toolbar title={chatSession()?.title} />
<div className='rai__scrollview flex1'>
{chatSession() && !isEmpty(chatSession().data) ?
<>
{/* Chat对话 */}
<div ref={scrollRef} className='rai__chatbot' onScroll={onScroll} onWheel={onWheel}>
<div className='rai__chatbot-sessions'>
...
</div>
{/* 滚动到底部 */}
<div className='rai__scrollbottom' onClick={scrollToBottom}><i className='iconfont ai-arrD'></i></div>
</div>
</>
:
<>
{/* 开始 */}
<div className='rai__chatbot-intro'>
<div className='flexbox flex-alignc' style={{ gap: '15px' }}>
<img src="react.svg" style={{ height: '35px' }} alt="react" />
<span className="c-999 ff-ar fs-18">+</span>
<i className='logo iconfont ai-deepseek'></i>
</div>
<h3 className='name'><span className='txt text-gradient'>React19-DeepSeek</span></h3>
<p className='desc'>你身边的智能小帮手,我可以帮你搜索、答疑、写作,请把你的任务交给我吧~</p>
<div className='prompt'>
<p className='tip flex-c'><span className='flex1'>推荐问题</span><a onClick={refreshPrompt}>换一换<IconRefresh /></a></p>
<ul className='list'>
{
promptList.map((item, index) => (
<li key={index}>
<div className='txt' onClick={() => changePrompt(item.prompt)}>{item.emoji} {item.prompt} ➝</div>
</li>
))
}
</ul>
</div>
</div>
</>
}
</div>
{/* 编辑器 */}
<ChatEditor value={promptValue} onChange={v => setPromptValue(v)} scrollBottom={scrollToBottom} />
</div>
</>
)

// 支持删除线、表格、任务列表和网址等GitHub Flavored Markdown
import remarkGfm from 'remark-gfm'
// 代码高亮
import rehypeHighlight from 'rehype-highlight'
import 'highlight.js/styles/atom-one-light.css'
import xml from 'highlight.js/lib/languages/xml'
// 支持数学公式
import remarkMath from 'remark-math'
import rehypeKatex from 'rehype-katex'
import 'katex/dist/katex.min.css'
// 渲染mermaid图表
import MermaidBlock from './mermaidBlock'封装Markdown解析插件
const Markdown = memo(({ source, scrollToBottom }) => {
const processedContent = useMemo(() => {
return preprocessMath(source || '')
}, [source])
return (
<ReactMarkdown
children={processedContent}
components={{
// 自定义代码块,所有代码都会被pre包裹
pre(props) {
const { children, node, ...rest } = props
// 从 children 中提取 code 元素的信息
const codeElement = children?.props?.children
const className = children?.props?.className || ''
const match = /language-(\w+)/.exec(className || '')
const language = match ? match[1] : 'plaintext'
// 渲染mermaid
if (language === 'mermaid') {
return (
<MermaidBlock code={codeElement} scrollToBottom={scrollToBottom} />
)
}
return (
<div className="md-code-block">
...
</div>
)
},
// 自定义a渲染
a({ href, children, node, ...rest}) {
return <a {...rest} href={href} target='_blank'>{children}</a>
},
// 自定义img渲染
img({ src, children, node, ...rest}) {
return <img {...rest} src={src} onClick={() => handleImageClick(src)} />
}
}}
remarkPlugins={[remarkGfm, remarkMath]}
rehypePlugins={[
rehypeKatex,
[
rehypeHighlight,
{
aliases: {xml: ['vue']}, // 支持vue语法
}
],
]}
/>
)
})












// 调用deepseek接口
const completion = await openai.chat.completions.create({
// 单一会话
/* messages: [
{role: 'user', content: editorValue}
], */
// 多轮会话
messages: multiConversation ? historySession() : [{role: 'user', content: editorValue}],
// 对话模型(快速模式deepseek-v4-flash 专家模式deepseek-v4-pro)
model: 'deepseek-v4-flash',
// 是否深度思考
thinking: {'type': thinkingEnabled ? 'enabled' : 'disabled'},
stream: true, // 流式输出
max_tokens: 8192, // 限制一次请求中模型生成 completion 的最大 token 数(默认使用 4096)
temperature: 0.4, // 严谨采样 越低越严谨(默认1)
})2026原创自研React19+Vite8+ArcoDesign+Zustand中后台管理系统框架模板
升级款vite8+vue3.5+arcoDesign网页端webOS桌面框架
自研Vite8+NaiveUI+Vue3+Echarts后台管理系统
uni-app+mphtml快速集成DeepSeek-V4智能ai应用
最新款flutter3.41 & dart3.11仿写抖音app
原创自研Flutter3.41+Dio+WindowManager打造桌面版AI问答系统
Flutter3.41实战AI:从零到一构建app版流式ai系统
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。