Vite + React + TypeScript + Electron 应用
一个基于现代前端技术栈的跨平台桌面和WEB应用项目,支持热重载、类型安全与快速构建。
本项目实现了语音与AI交互,控制电脑应用实现播放音乐/视频,写文章,搜索内容,控制音量和系统设置等操作。
AI交互模型为gpt-oss-20b,语音识别使用了阿里的paraformer-realtime-v2模型,语音合成使用了七牛云的TTS。
本项目同时支持桌面应用和WEB页面访问。
集成了以下技术栈:
- ⚡ Vite — 极速开发与构建体验
- ⚛️ React 18 — 构建现代化用户界面
- 🦾 TypeScript — 强类型保障代码质量
- 💡 Electron — 构建跨平台桌面应用
使用前后端分离模式,方便开发与部署
# 克隆项目
git clone https://github.com/XenoWorkx/AI-PROJECTS.git
cd AI-PROJECTS
# 分别进入companion, server, voice-ux文件夹执行以下命令
# 安装依赖
npm install
# 或使用 pnpm / yarn
pnpm install放到每个子项目的根目录
PORT=4000
COMPANION_BASE=http://localhost:5187
OPENAI_BASEURL=https://openai.qiniu.com/v1
OPENAI_API_KEY=<YOUR_KEY>
OPENAI_MODEL=gpt-oss-20b
ALI_API_KEY=<YOUR_KEY> # 阿里语音识别服务apikey
PROJECTROOT=../
npm run devnpm run build && npm run startnpm run devnpm run build && npm run startnpm run electron:build && npm run electron:dev启动后将自动打开 Electron 窗口,并加载 Vite 的开发服务器。
npm run electron:dist打包后的安装文件位于 dist-electron/ 目录中,根据平台运行相应版本。
├── src/
│ ├── plugins/ # 组件
│ ├── index.ts/ # 入口程序
| ├── policy.json/ # 策略
│ └── registry.ts # 注册组件
│
├── .env # 环境变量
├── tsconfig.json # TypeScript 配置
└── package.json
├── src/
│ ├── chat/ # 对话与操作处理
│ ├── llm/ # 大模型接口
| ├── speech/ # 语音识别
│ └── index.ts # 入口程序
│
├── .env # 环境变量
├── model.json # 操作类型与提示词
├── tsconfig.json # TypeScript 配置
└── package.json
├── electron/ # Electron 主进程代码
│ ├── main.ts # 主进程入口
│ ├── preload/ # 预加载脚本
│ └── smart-start.cjs # 开发模式启动脚本
│
├── src/ # 前端代码
│ ├── app/ # 应用逻辑
│ ├── components/ # 通用组件
| ├── context/ # 上下文组件
│ ├── pages/ # 页面模块
│ ├── assets/ # 静态资源
│ └── main.tsx # 前端入口文件
│
├── eslint.config.js # ESLint 配置
├── ELECTRON_SETUP.md # electron 开发说明
├── tsconfig.json # TypeScript 配置
├── vite.config.ts # Vite 配置文件
├── package.json
└── README.md
| 成员 | 职责 | 备注 |
|---|---|---|
| 李孟宸 | Electron 主进程开发 | 主进程逻辑与打包配置 |
| 李鸿康 | React 前端开发、后端开发 | 组件开发与状态管理 |
| 张弘骏 | 后端开发、ai接入、文档编写 | 前后端通信、编写文档与构建流程 |
👉 点击查看演示视频
本项目基于 MIT License 开源。