mirror of
https://github.com/R0m1k3/EveFlow.git
synced 2026-10-11 17:29:03 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c6c3a9e30 | ||
|
|
6955721bdb |
No files matched your search
@@ -1,7 +1,7 @@
|
|||||||
# 🚀 EveFlow — Compagnon de Bureau Rétro-Futuriste 3D
|
# 🚀 EveFlow — Compagnon de Bureau Rétro-Futuriste 3D
|
||||||
|
|
||||||
[](https://github.com/R0m1k3/EveFlow)
|
[](https://github.com/R0m1k3/EveFlow)
|
||||||
[](https://github.com/R0m1k3/EveFlow/releases/tag/v1.0.4)
|
[](https://github.com/R0m1k3/EveFlow/releases/tag/v1.0.5)
|
||||||
[](LICENSE)
|
[](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.
|
**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
|
```bash
|
||||||
npm run dist
|
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.5.exe`) et la build décompressée seront générés dans le dossier `./out/`.*
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
startWebhookServer();
|
||||||
createWindow();
|
createWindow();
|
||||||
|
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "eveflow",
|
"name": "eveflow",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "eveflow",
|
"name": "eveflow",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-three/drei": "^9.105.0",
|
"@react-three/drei": "^9.105.0",
|
||||||
"@react-three/fiber": "^8.16.0",
|
"@react-three/fiber": "^8.16.0",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "eveflow",
|
"name": "eveflow",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"description": "Retro-futuristic Windows companion with 3D Eve bot, local TTS/STT, and multi-agent connectivity",
|
"description": "Retro-futuristic Windows companion with 3D Eve bot, local TTS/STT, and multi-agent connectivity",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
+9
-1
@@ -1606,12 +1606,18 @@ export const App: React.FC = () => {
|
|||||||
const handleStartVocalRecord = () => {
|
const handleStartVocalRecord = () => {
|
||||||
if (!audioServiceRef.current) return;
|
if (!audioServiceRef.current) return;
|
||||||
|
|
||||||
|
setErrorMessage(null);
|
||||||
audioServiceRef.current.stopSpeaking();
|
audioServiceRef.current.stopSpeaking();
|
||||||
setIsSpeaking(false);
|
setIsSpeaking(false);
|
||||||
|
|
||||||
audioServiceRef.current.startListening(
|
audioServiceRef.current.startListening(
|
||||||
(text) => {
|
(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);
|
setIsListening(true);
|
||||||
@@ -1622,6 +1628,8 @@ export const App: React.FC = () => {
|
|||||||
},
|
},
|
||||||
(err) => {
|
(err) => {
|
||||||
setIsListening(false);
|
setIsListening(false);
|
||||||
|
setErrorMessage(`Erreur de reconnaissance vocale : ${err}`);
|
||||||
|
setCurrentEmotion('sad');
|
||||||
console.error(err);
|
console.error(err);
|
||||||
},
|
},
|
||||||
sttLang
|
sttLang
|
||||||
|
|||||||
Reference in new issue
Block a user