爆肝原创DeepSeek-V4+React19+Zustand5+Arco+Markdown智能ai聊天模板

举报
yxybox 发表于 2026/07/20 22:52:54 2026/07/20
【摘要】 基于react19.2+react-router7+zustand5+markdown深度对接deepseek v4构建H5版ai对话助手。支持暗黑+亮色主题、深度思考、代码高亮/复制/下载、latex/mermaid渲染、本地存储会话等功能。

2026/7原创实战react19.2+deepseek-v4-flash+arco-mobile+openai智能ai聊天对话模板React19DeepSeek

未标题-a.png

p1.gif

p1-1.gif

react19-deepseek-ai深度对接deepseek v4智能大模型。支持暗黑+亮色主题、深度思考、代码高亮/复制/下载、latex/mermaid渲染、本地存储会话等功能。

未标题-p4.png

p2.gif

p2-1.gif

p2-2.gif

项目技术栈

  • 编辑器:VScode
  • 技术框架:React^19.2.7+react-router^7.18.1
  • 大模型框架:deepseek-v4 + openai
  • UI组件库:@arco-design/mobile-react^2.39.1
  • 状态管理:zustand^5.0.14
  • markdown解析:react-markdown^10.1.0
  • 代码高亮/katex渲染:rehype-highlight + rehype-katex

未标题-c.png

功能特性

  1. 支持亮色+暗黑主题 ✨
  2. 支持深度思考模式 ✨
  3. 支持katex数学公式 ✨
  4. 支持渲染mermaid图表(拖拽、缩放(放大+缩小+重置)、下载)✨
  5. 支持代码块顶部sticky粘性、横向滚动、代码复制/下载代码 ✨
  6. 支持上下文多轮对话/本地存储对话 ✨
  7. 支持链接跳转、图片功能 ✨

未标题-p5.png


项目框架目录

基于vite8构建react19项目模板,采用react hooks编码页面。

360截图20260719224400500.png

p2-5.gif

p3.gif

未标题-d.png


项目入口模板App.jsx

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>
  </>
)

react渲染katex公式/mermaid图表

// 支持删除线、表格、任务列表和网址等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语法
          }
        ],
      ]}
    />
  )
})

002360截图20260719072817244.png

002360截图20260719075154103.png

002360截图20260719090513860.png

002360截图20260719090828011.png

002360截图20260719090914605.png

002360截图20260719092818251.png

002360截图20260719093035211.png

003360截图20260719093414937.png

003360截图20260719093457468.png

004360截图20260719094106834.png

005360截图20260719094300787.png

008360截图20260719095716169.png

008360截图20260719100023865.png

009360截图20260719100553172.png

011360截图20260719100806234.png

012360截图20260719100919158.png

013360截图20260719101007561.png

013360截图20260719101044114.png


基于react19+deepseek api搭建h5版智能ai对话模板,就分享到这里。

扫一扫,更多精选优质项目。

花3天手撸升级vite8+vue3+arco网页版webos系统

Vite8-Vue3-Admin网页版前端后台管理系统解决方案

Electron38.2实战客户端OS系统|vite7+vue3+electron仿mac/wins桌面

2025最新款Electron38+Vite7+Vue3+ElementPlus桌面客户端后台管理系统Exe

最新研发vite7.0+electron38客户端仿微信EXE聊天软件

Vite8-Naive-Admin高颜值web版通用后台管理模板

2026/6升级版Flutter3.41.5桌面级OS管理系统

最新款uni-app+vue3+mp-html快速对接deepseek-v4-pro跨三端ai智能助手

Flutter3.41实战抖音直播+短视频+聊天

基于Flutter3.41+DeepSeek+Dio+Get搭建APP版智能生成式AI助手

基于vite8.0+electron41+deepseek跨平台ai桌面助手

首发vite8.0+vue3+deepseek+markdown手搓网页版ai流式生成模板

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。