mirror of
https://github.com/R0m1k3/EveFlow.git
synced 2026-10-12 01:39:13 +02:00
- electron/voice: model catalog (Whisper base/small/turbo, SenseVoice, Kokoro v1.0, Piper fr), streaming tar.bz2 downloader with progress, sherpa-onnx worker running in an Electron utilityProcess (transcribe / synthesize / status / unload), IPC + bridge. - Renderer: 'local' providers for STT and TTS, Settings → Modèles locaux (download, progress, delete, activate), speaker selection, hands-free wake word with a tolerant matcher (accents, punctuation, edit distance) and attention window after a bare wake word. - Packaging: native addon and worker unpacked from the asar; release 2.1.0. Validated on Linux: Kokoro (fr) → Whisper base round trip, Piper (fr) → Whisper round trip. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Wn5VX9HNbJ7N54hR24u9Y
25 lines
772 B
JavaScript
25 lines
772 B
JavaScript
// Bundles the Electron main and preload scripts into single CommonJS files.
|
|
// The preload runs in a sandboxed renderer where `require()` of local modules is forbidden,
|
|
// so everything it imports must be inlined.
|
|
import { build } from 'esbuild';
|
|
import { rmSync } from 'node:fs';
|
|
|
|
rmSync('dist-electron', { recursive: true, force: true });
|
|
|
|
await build({
|
|
entryPoints: {
|
|
main: 'electron/main.ts',
|
|
preload: 'electron/preload.ts',
|
|
'voice-worker': 'electron/voice/worker.ts'
|
|
},
|
|
outdir: 'dist-electron',
|
|
bundle: true,
|
|
platform: 'node',
|
|
format: 'cjs',
|
|
target: 'node22',
|
|
// sherpa-onnx-node stays external: it is a native addon shipped unpacked from the asar.
|
|
external: ['electron', 'sherpa-onnx-node'],
|
|
sourcemap: false,
|
|
logLevel: 'info'
|
|
});
|