Electron41+Vite8.0+DeepSeek桌面端AI助手|electron+vue3本地ai系统

2026年原创electron41+vite8+deepseek-chat搭建本地客户端私人ai对话系统模板。

vite8-electron-ai :基于Electron41+Vue3+Vite8+Arco+OpenAI接入DeepSeek api实战电脑端从0-1打造你的专属AI搭子。支持浅色+深色主题、深度思考、各种代码高亮/复杂/下载、katex公式、mermaid图表、多轮对话/本地存储会话等功能。

技术知识

  • 编辑器:VScode
  • 跨平台框架:Electron^41.0.3
  • 前端框架:vite^8.0.1+vue^3.5.30+vue-router^5.0.4
  • 大模型框架:deepseek-v3.2+openai
  • 组件库:arco-design^2.57.0
  • 状态管理:pinia^3.0.4
  • markdown解析:markdown-it^14.1.1
  • 打包工具:electron-builder^26.8.1
  • vite桥接electron插件:vite-plugin-electron^0.29.1

功能支持性

  1. 内置light+dark主题
  2. 支持深度思考R1模式
  3. 支持Latex数学公式
  4. 支持Mermaid图表渲染(拖拽、缩放、下载)
  5. 支持代码块sticky浮动粘性、横向滚动、代码高亮/复制/下载代码
  6. 支持上下文多轮对话、本地存储会话
  7. 支持链接跳转、图片预览功能

electron41-vue3-deepseek桌面端ai系统已经正式更新到我的原创作品小铺,感谢支持!

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

项目框架结构

使用最新版 electron41+vite8 搭建项目,调用deepseek-chat 大模型, vue3 setup 语法糖编码页面。

项目配置

将项目根目录下.env文件里的deepseek apikey替换为自己申请的key,即可体验丝滑流式对话功能。

  • 安装依赖 yarn install
  • 运行项目 yarn dev
  • 打包项目 yarn electron:build

接入最新deepseek大模型

支持多轮对话、对话/推理模型、流式打字输出功能。

复制代码
const completion = await openai.chat.completions.create({
  // 单一会话
  /* messages: [
    {role: 'user', content: editorValue}
  ], */
  // 多轮会话
  messages: props.multiConversation ? historySession.value : [{role: 'user', content: editorValue}],
  // deepseek-chat对话模型 deepseek-reasoner推理模型
  model: sessionstate.thinkingEnabled ? 'deepseek-reasoner' : 'deepseek-chat',
  stream: true, // 流式输出
  max_tokens: 8192, // 限制一次请求中模型生成 completion 的最大 token 数(默认使用 4096)
  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>

入口配置

复制代码
import { createApp } from 'vue'
import './style.scss'
import App from './App.vue'

import { launchApp } from '@/windows/actions'

// 引入路由/状态配置
import Router from './router'
import Pinia from './pinia'

// 引入插件配置
import Plugins from './plugins'

launchApp().then(config => {
  if(config) {
    // 存储窗口配置
    window.config = config
  }

  // 初始化app实例
  createApp(App)
  .use(Router)
  .use(Pinia)
  .use(Plugins)
  .mount('#app')
})

自定义ai编辑框

复制代码
<template>
  <div class="v3ai__inputbox flexbox flex-col">
    <!-- 编辑器 -->
    <div class="v3ai__editor flexbox">
      <a-textarea v-model="editorText" :auto-size="autoSize" :spellcheck="false" placeholder="给 DeepSeek 发送消息" @input="handleInput" />
    </div>
    <!-- 操作栏 -->
    <div class="v3ai__tools flexbox flex-alignc">
      <div class="option flex1 flexbox">
        <a-tooltip content="先思考后回答,解决推理问题" position="top" mini>
          <div class="btn" :class="{'active': sessionstate.thinkingEnabled}" @click="sessionstate.thinkingEnabled =! sessionstate.thinkingEnabled"><i class="iconfont ai-deepthink"></i><span>深度思考</span></div>
        </a-tooltip>
        <div class="btn" :class="{'active': sessionstate.searchEnabled}" @click="sessionstate.searchEnabled =! sessionstate.searchEnabled"><i class="iconfont ai-network"></i><span>联网</span></div>
        <!-- 技能栏 -->
        <a-dropdown v-if="skillbar" position="tl" :content-style="{'min-width': '120px'}" @select="handleSkill">
          <div class="btn"><icon-command size="16" /><span>技能</span></div>
          <template #content>
            <a-doption v-for="(item, index) in skills" :key="index" :value="item"><template #icon><i class="iconfont" :class="item.icon"></i></template>{{item.text}}</a-doption>
          </template>
        </a-dropdown>
      </div>
      <a-dropdown trigger="hover" :show-arrow="false" position="lb" :content-style="{'min-width': '200px'}">
        <a-button class="icon-btn" shape="circle"><icon-attachment size="18" /></a-button>
        <template #content>
          <a-dgroup>
            <template #title><div style="margin-bottom: 5px;">从网盘添加</div></template>
            <a-doption value="wx"><icon-more /> 选择网盘文件</a-doption>
          </a-dgroup>
          <a-dgroup>
            <template #title><div style="margin-bottom: 5px;">从本地添加</div></template>
            <a-doption value="wx"><icon-apps /> 上传文件</a-doption>
            <a-dsubmenu trigger="hover" position="rb" :popup-translate="[5, 5]" value="option-1" :content-style="{'min-width': '120px'}">
              <template #default><icon-apps /> 上传代码</template>
              <template #content>
                <a-doption value="pyq"><icon-apps /> 代码文件</a-doption>
                <a-doption value="qq"><icon-apps /> 代码文件夹</a-doption>
                <a-doption value="qq"><icon-apps /> GitHub仓库</a-doption>
              </template>
            </a-dsubmenu>
          </a-dgroup>
        </template>
      </a-dropdown>
      <a-tooltip content="截图提问" position="top" mini>
        <a-button class="icon-btn" shape="circle"><icon-scissor size="18" @click="handleCut" /></a-button>
      </a-tooltip>
      <a-dropdown :show-arrow="false" position="top" :content-style="{'min-width': '160px'}">
        <a-button class="icon-btn" shape="circle"><icon-plus size="18" /></a-button>
        <template #content>
          <a-doption value="image"><icon-file-image /> 图片</a-doption>
            <a-doption value="file"><icon-file /> 本地文件</a-doption>
            <a-doption value="pdf"><icon-file-pdf /> PDF文档分析</a-doption>
            <a-doption value="page"><icon-cloud /> 网页总结</a-doption>
        </template>
      </a-dropdown>
      <a-divider direction="vertical" style="margin: 0 15px 0 10px; height: 15px;" />
      <a-button class="btn-submit" v-if="!sessionstate.loading" type="primary" shape="circle" :disabled="!editorText?.trim() || sessionstate.loading" @click="handleSubmit">
        <icon-arrow-up size="20" />
      </a-button>
      <a-button class="btn-submit" v-else type="primary" shape="circle" @click="handleStopStream">
        <div style="background:#fff;border-radius:2px;height:10px;width:10px;"></div>
      </a-button>
    </div>
  </div>
</template>

以上就是最新款electron41+vite8搭建本地桌面端专属ai系统的一些项目分享,希望对大家有点帮助!

附上一些最新实战项目案例

uniapp+deepseek流式ai助理|uniapp+vue3对接deepseek三端Ai问答模板

Vite8+DeepSeek网页版AI助手|vue3+arco本地web版ai流式打字问答系统

vite8.0+deepseek流式ai模板|vue3.5+vant4+markdown打字输出ai助手

tauri2.10+deepseek+vite7客户端ai系统|Tauri2+Vue3.5桌面AI程序Exe

Electron38-Vue3OS客户端OS系统|vite7+electron38+arco桌面os后台管理

electron38-admin桌面端后台|Electron38+Vue3+ElementPlus管理系统

Electron38-Wechat电脑端聊天|vite7+electron38仿微信桌面端聊天系统

最新版Flutter3.38+Dart3.10仿写抖音APP直播+短视频+聊天应用程序

flutter3-deepseek流式AI模板|Flutter3.27+Dio+DeepSeeek聊天ai助手

最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】

最新版uni-app+vue3+uv-ui跨三端仿微信app聊天应用【h5+小程序+app端】

Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板

Tauri2-Vite7Admin客户端管理后台|tauri2.9+vue3+element-plus后台系统

Tauri2.9+Vue3桌面版OS系统|vite7+tauri2+arcoDesign电脑端os后台模板