从 0 到 1:Electron41 + Vite8 + OpenAI SDK 接入 DeepSeek-V4.1-Flash 桌面端AI系统

Electron41 + Vite8.3 + Vue3 接入 DeepSeek-V4.1-Flash,手搓客户端 AI 对话,丝滑到离谱

vite8-electron-ai:Electron 41 + Vue3 + Vite8 + Arco + OpenAI 接入 DeepSeek-V4.1,从 0 到 1 打造电脑端专属 AI 搭子 🧠💻

技术栈:

  • Electron 41
  • Vue 3 <script setup>
  • Vite 8
  • Arco Design
  • OpenAI SDK 接入 DeepSeek-V4.1

从项目脚手架开始,从0-1 搭建一个AI 桌面端:

  1. 流式打字输出
  2. 浅色 / 深色主题
  3. 深度思考(reasoner)
  4. Markdown / 代码块 / 复制 / 下载
  5. KaTeX 数学公式
  6. Mermaid 图表渲染
  7. 多轮对话 + 本地持久化会话

项目目录结构

基于 electron41+vite8 搭建项目,调用deepseek-v4.1-flash 快速大模型, vue3 setup 语法编码页面。

electron41-vue3-deepseek已经正式更新到我的原创作品小店。

Electron41+Vite8+DeepSeek桌面版AI流式会话模板Exe

核心特性

🔄 流式对话引擎

能力 说明
SSE 流式输出 基于 openai sdk ,逐字渲染打字效果,延迟 < 100ms
打字机动画 类似deepseek打字输出效果
多轮上下文 维护 messages 数组,自动携带历史对话,支持上下文窗口管理
本地会话存储 基于 uni.setStorageSync 持久化会话列表

🧠 深度思考链(Reasoning Chain)

能力 说明
思维链展示 解析 DeepSeek v4.1 的 reasoning_content 字段,以可折叠面板展示推理过程
渐进式渲染 思考链与正文同步流式输出,思考中显示脉冲动画
状态标识 区分「思考中 / 已思考 」状态,UI 差异化呈现

📐 数学公式渲染(KaTeX)

能力 说明
行内/块级公式 支持 $...$ 行内公式与 $$...$$ 块级公式

📊 Mermaid 图表渲染(H5 端)

能力 说明
实时渲染 识别 ```````mermaid```` 代码块,调用 Mermaid.js 渲染为 SVG
交互支持 支持缩放、平移,点击节点可触发回调

💻 代码块增强

能力 说明
Sticky 顶部栏 代码块语言标识 + 复制按钮固定吸顶,滚动不消失
横向滚动 长代码行横向滚动,不破坏布局
语法高亮 基于 highlight.js 按需加载语言包,支持 50+ 语言
一键复制 点击复制按钮,写入系统剪贴板,带成功反馈

🔗 链接与图片

能力 说明
链接跳转 自动识别 URL,H5 端 _blank 新窗口打开
图片预览 识别 Markdown 图片,点击预览

接入最新deepseek-flash大模型

复制代码
const completion = await openai.chat.completions.create({
  // 单一会话
  /* messages: [
    {role: 'user', content: editorValue}
  ], */
  // 多轮会话
  messages: props.multiConversation ? historySession.value : [{role: 'user', content: editorValue}],
  // 对话模型
  model: 'deepseek-flash',
  // 是否深度思考
  thinking: {'type': chatState.thinkingEnabled ? 'enabled' : 'disabled'},
  // 流式输出
  stream: true,
  // 限制一次请求中模型生成的最大 token 数。取值范围为 1 到 384K(393216)。未设置时,非思考模式默认 8K,思考模式默认 64K
  // max_tokens: 8192,
  // 严谨采样 越低越严谨(默认1) 介于 0 和 2 之间。更高的值,如 0.8,会使输出更随机,而更低的值,如 0.2,会使其更加集中和确定。
  temperature: 0.4,
})

项目布局结构

复制代码
<script setup>
  import { appState } from '@/pinia/modules/app'

  import Titlebar from '@/layouts/components/titlebar/index.vue'
  import Sidebar from '@/layouts/components/sidebar/index.vue'

  const appstate = appState()
</script>

<template>
  <div class="vu__chatbot">
    <div class="vu__container" :style="{'--themeSkin': appstate.config.skin}">
      <div class="vu__layout flexbox flex-col">
        <!-- 导航栏 -->
        <Titlebar />

        <div class="vu__layout-body flex1 flexbox">
          <!-- 侧边栏 -->
          <Sidebar />

          <!-- 主面板 -->
          <div class="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>
  </div>
</template>

2026 最硬核实战:Electron41 + Vue3 + Vite8 从 0 到 1 手搓 DeepSeek 桌面 AI 客户端 就分享到这里了,希望以上的项目分享对大家有些启发帮助哈~

相关推荐
xiaoyan20177 个月前
Electron41+Vite8.0+DeepSeek桌面端AI助手|electron+vue3流式ai系统
electron41·vite8.0·electron接入deepseek·vue3-electron-ai·electron41电脑端ai·vite8+electron桌面端ai
xiaoyan20177 个月前
Electron41+Vite8.0+DeepSeek桌面端AI助手|electron+vue3本地ai系统
electron41·vite8.0·electron+vue3桌面端ai·electron接入deepseek·electron41-vue3-ai·electron41客户端ai系统