Compare commits

..
4 Commits
6 changed files with 32 additions and 9 deletions

No files matched your search

+2 -2
View File
@@ -1,7 +1,7 @@
# 🚀 EveFlow — Compagnon de Bureau Rétro-Futuriste 3D
[![Windows Version](https://img.shields.io/badge/OS-Windows-blue.svg?style=flat-square&logo=windows)](https://github.com/R0m1k3/EveFlow)
[![Version](https://img.shields.io/badge/version-1.0.4-brightgreen.svg?style=flat-square)](https://github.com/R0m1k3/EveFlow/releases/tag/v1.0.4)
[![Version](https://img.shields.io/badge/version-1.0.6-brightgreen.svg?style=flat-square)](https://github.com/R0m1k3/EveFlow/releases/tag/v1.0.6)
[![License](https://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat-square)](LICENSE)
**EveFlow** est un compagnon de bureau Windows immersif haut de gamme, combinant une esthétique cyberpunk rétro-futuriste soignée et des technologies d'intelligence artificielle avancées. Il intègre un assistant virtuel en 3D nommé **Eve**, animé en temps réel avec des expressions émotionnelles dynamiques et synchronisé avec des services de synthèse vocale (TTS/STT) locaux et des architectures multi-agents.
@@ -74,7 +74,7 @@ Pour générer l'exécutable d'installation Windows (`.exe`) autonome :
```bash
npm run dist
```
*L'exécutable d'installation NSIS (`EveFlow Setup 1.0.4.exe`) et la build décompressée seront générés dans le dossier `./out/`.*
*L'exécutable d'installation NSIS (`EveFlow Setup 1.0.6.exe`) et la build décompressée seront générés dans le dossier `./out/`.*
---
+8
View File
@@ -267,6 +267,14 @@ app.whenReady().then(() => {
}
);
// Autoriser l'accès aux périphériques de capture (microphone) sous Electron
session.defaultSession.setPermissionRequestHandler((webContents, permission, callback) => {
if (permission === 'media') {
return callback(true);
}
callback(false);
});
startWebhookServer();
createWindow();
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "eveflow",
"version": "1.0.4",
"version": "1.0.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "eveflow",
"version": "1.0.4",
"version": "1.0.6",
"dependencies": {
"@react-three/drei": "^9.105.0",
"@react-three/fiber": "^8.16.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "eveflow",
"version": "1.0.4",
"version": "1.0.6",
"description": "Retro-futuristic Windows companion with 3D Eve bot, local TTS/STT, and multi-agent connectivity",
"main": "main.js",
"scripts": {
+18 -3
View File
@@ -898,7 +898,7 @@ export const App: React.FC = () => {
const [sttProvider, setSttProvider] = useState<'browser' | 'qwen3-asr'>('browser');
const [sttApiUrl, setSttApiUrl] = useState<string>('http://127.0.0.1:8000/v1');
const [sttApiKey, setSttApiKey] = useState<string>('');
const [sttModel, setSttModel] = useState<string>('qwen3-asr');
const [sttModel, setSttModel] = useState<string>('Qwen/Qwen3-ASR-0.6B');
const [ttsApiUrl, setTtsApiUrl] = useState<string>('http://127.0.0.1:8000/v1');
const [ttsApiKey, setTtsApiKey] = useState<string>('');
@@ -1187,7 +1187,14 @@ export const App: React.FC = () => {
if (val) setSttApiKey(val);
});
persistRead('eveflow_stt_model').then(val => {
if (val) setSttModel(val);
if (val) {
if (val === 'qwen3-asr') {
setSttModel('Qwen/Qwen3-ASR-0.6B');
persistWrite('eveflow_stt_model', 'Qwen/Qwen3-ASR-0.6B');
} else {
setSttModel(val);
}
}
});
persistRead('eveflow_tts_api_url').then(val => {
if (val) setTtsApiUrl(val);
@@ -1606,12 +1613,18 @@ export const App: React.FC = () => {
const handleStartVocalRecord = () => {
if (!audioServiceRef.current) return;
setErrorMessage(null);
audioServiceRef.current.stopSpeaking();
setIsSpeaking(false);
audioServiceRef.current.startListening(
(text) => {
handleSendMessage(text);
if (text.trim()) {
handleSendMessage(text);
} else {
setErrorMessage("Aucune parole n'a été détectée. Veuillez parler distinctement près du micro.");
setCurrentEmotion('sad');
}
},
() => {
setIsListening(true);
@@ -1622,6 +1635,8 @@ export const App: React.FC = () => {
},
(err) => {
setIsListening(false);
setErrorMessage(`Erreur de reconnaissance vocale : ${err}`);
setCurrentEmotion('sad');
console.error(err);
},
sttLang
+1 -1
View File
@@ -63,7 +63,7 @@ export class AudioService {
private sttProvider: 'browser' | 'qwen3-asr' = 'browser';
private sttApiUrl = 'http://127.0.0.1:8000/v1';
private sttApiKey = '';
private sttModel = 'qwen3-asr';
private sttModel = 'Qwen/Qwen3-ASR-0.6B';
private mediaRecorder: MediaRecorder | null = null;
private audioChunks: Blob[] = [];