elec_rag_ui/electron.vite.config.ts
ssurui 6f93912c86 feat: 初始提交——elec_rag_ui 独立前端工程
基于 Electron + Vue3 + TypeScript + LanceDB 的本地化 RAG 问答桌面应用。
仅支持 Linux(Kylin V10 / Ubuntu),适配 ER160(揽月 M50 NPU)和 ER25(芯动力 RPP)计算卡。
服务进程管理委托给 er_backend(HTTP 17700),前端专注 RAG 逻辑与用户交互。

包含:
- src/elec_rag_ui 前端工程(Electron + Vue3)
- models/ 本地嵌入模型(bge-small/base/large,ASR,标点恢复,onnx 文件由 Git LFS 管理)
- docs/ 示例文档(用于测试索引与问答)
2026-08-15 19:25:28 +08:00

54 lines
1.2 KiB
TypeScript

import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import { execSync } from 'child_process'
import { readFileSync } from 'fs'
const appVersion = (() => {
try {
return execSync('git describe --tags --abbrev=0').toString().trim()
} catch {
// PAD 等无 git 环境:读取同步过来的 .app-version 文件
try {
return readFileSync(resolve('.app-version'), 'utf-8').trim()
} catch {
return 'dev'
}
}
})()
export default defineConfig({
main: {
plugins: [externalizeDepsPlugin()],
resolve: {
alias: {
'@main': resolve('src/main')
}
},
build: {
lib: {
entry: {
index: resolve('src/main/index.ts'),
'asr-worker': resolve('resources/asr-worker.cjs'),
'tts-worker': resolve('resources/tts-worker.cjs')
},
formats: ['cjs']
}
}
},
preload: {
plugins: [externalizeDepsPlugin()]
},
renderer: {
resolve: {
alias: {
'@renderer': resolve('src/renderer/src')
}
},
plugins: [vue()],
define: {
__APP_VERSION__: JSON.stringify(appVersion)
}
}
})