基于 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/ 示例文档(用于测试索引与问答)
54 lines
1.2 KiB
TypeScript
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)
|
|
}
|
|
}
|
|
})
|