2026最新款爆肝tauri2.10+deepseek-v3.2+vite7+arco电脑端流式打字AI问答模板。
tauri2-deepseek-ai:基于vite7.3+vue3.5+tauri2+arco+markdown-it深度接入deepseek-v3.2通用大模型。内置浅色+暗黑主题,支持深度思考链、katex数学公式、mermaid图渲染、代码高亮/复制代码等功能。
使用技术
- 开发工具:vscode
- 跨端框架:tauri^2.10
- 前端技术框架:vite^7.3.1+vue^3.5.29+vue-router^5.0.3
- ai大模型:deepseek-v3.2 + openai
- 组件库:arco-design^2.57.0
- 状态管理:pinia^3.0.4
- 本地存储:pinia-plugin-persistedstate^4.7.1
- markdown解析:markdown-it^14.1.0
- katex公式渲染:@mdit/plugin-katex^0.25.0
项目功能性
- 跨平台Tauri2.10框架,接入DeepSeek-V3.2,流式打字更丝滑
- 支持各种代码高亮/复制代码/下载代码、便于分享代码片段
- 支持暗黑+浅色主题、深度思考链、上下文多轮对话、本地存储对话
- 支持katex数学公式
- 支持mermaid图解析(支持缩放/拖拽/下载svg/下载png)
- 支持点击链接跳转浏览器打开
- 使用arco-design组件库,整体风格统一
tauri2-deepseek跨端智能ai系统已经更新到我的原创作品铺,欢迎下载使用。
tauri2.10+vite7+deepseek客户端智能ai问答系统
项目结构目录
基于 vite7.3+tauri2.10 搭建项目模板, vue3 setup 语法糖开发页面。
项目环境变量配置
修改项目根目录下.env文件里的key,替换为自己的deepseek apikey,即可丝滑体验流式对话功能。
- # 项目名称
- VITE_APPNAME = 'Tauri2-DeepSeek'
- # 运行端口
- VITE_PORT = 1420
- # DeepSeek API配置
- VITE_DEEPSEEK_API_KEY = 替换为你的 API Key
- VITE_DEEPSEEK_BASE_URL = https://api.deepseek.com
复制代码 入口文件main.js
- import { createApp } from "vue"
- import App from "./App.vue"
- import './style.scss'
- // 引入插件配置
- import Plugins from './plugins'
- // 引入路由/状态管理
- import Router from './router'
- import Pinia from './pinia'
- createApp(App)
- .use(Plugins)
- .use(Router)
- .use(Pinia)
- .mount("#app")
复制代码
通用布局模板
- <template>
-
-
-
-
- <Titlebar />
-
-
- <Sidebar />
-
-
- <router-view v-slot="{ Component, route }">
- <keep-alive>
- <component :is="Component" :key="route.path" />
- </keep-alive>
- </router-view>
-
-
-
-
-
- </template>
复制代码
自定义latex公式+mermaid图渲染
- import { imgSize } from '@mdit/plugin-img-size' // 支持带尺寸图片
- import { katex } from "@mdit/plugin-katex"; // 支持数学公式
- import 'katex/dist/katex.min.css'
- // 渲染mermaid图表
- import { markdownItMermaidPlugin } from '@/components/markdown/plugins/mermaidPlugin'
复制代码 渲染markdown数据
[code][/code]封装mermaid图解析
[code]export const markdownItMermaidPlugin = (md, options) => { const defaultFence = md.renderer.rules.fence md.renderer.rules.fence = (...args) => { const [tokens, idx] = args const token = tokens[idx] const lang = token.info.replace(/\[.*\]/, '').trim() || '' if(lang === 'mermaid') { const code = token.content.trim() const hash = generateHash(code) const uuid = `${hash}-${Date.now()}-${Math.random().toString(36).substring(2, 9)}` // 如果有缓存,加载缓存图表 if(renderCache.has(hash)) { // console.log('加载缓存mermaid图表') return ` ${ defaultFence(...args) } ${renderCache.get(hash)} ` } nextTickRender(uuid) return ` ${ defaultFence(...args) }
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |